Commit Graph

29737 Commits

Author SHA1 Message Date
titzer
45d75bca5c [turbofan] Handle dead diamonds in scheduling and add a test.
The background here is that graphs generated from WASM are not trimmed.
That means there can be some floating control diamonds that are not
reachable from end. An assertion in the scheduler for phis from floating
diamonds checks that the use edge in this situation is the control edge,
but in general, any edge could cause this.

Scheduling still works without this assertion. The longer term fix
is to either trim the graphs (more compile time overhead for WASM)
or improve the scheduler's handling of dead code in the graph. Currently
it does not schedule dead code but the potential use positions of
dead code are used in the computation of the common dominator of uses. We could
recognize dead nodes in PrepareUses() and check in GetBlockForUse()
as per TODO.

R=bradnelson@chromium.org, mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1846933002

Cr-Commit-Position: refs/heads/master@{#35245}
2016-04-04 17:45:59 +00:00
jochen
eebdee8eaf [api] Restrict Template::Set to take templates or primitive values
Embedders that passed in non-primitive values should either use
getters/setters (templates) or install a native data property,
otherwise, the values would all result in cross-context leaks

BUG=none
R=verwaest@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/1839983002

Cr-Commit-Position: refs/heads/master@{#35244}
2016-04-04 16:58:40 +00:00
mbrandy
35becc08ea AIX: Fix 'may be used uninitialized' compiler errors.
Fix additional cases where the AIX compiler reports that a variable
    may be used uninitialized.

R=titzer@chromium.org, ahaas@chromium.org, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1853703003

Cr-Commit-Position: refs/heads/master@{#35243}
2016-04-04 16:50:14 +00:00
hablich
ba18967453 Revert of [Ignition] Skip failing tests (patchset #1 id:1 of https://codereview.chromium.org/1852263002/ )
Reason for revert:
Already fixed

Original issue's description:
> [Ignition] Skip failing tests
>
> BUG=v8:4680
> LOG=N
> TBR=machenbach@chromium.org,rmcilroy@chromium.org,mstarzinger@chromium.org
>
> Committed: https://crrev.com/2b46892be60b025dcba7513be749f504046055ef
> Cr-Commit-Position: refs/heads/master@{#35241}

TBR=machenbach@chromium.org,mstarzinger@chromium.org,rmcilroy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4680

Review URL: https://codereview.chromium.org/1854143002

Cr-Commit-Position: refs/heads/master@{#35242}
2016-04-04 16:06:19 +00:00
hablich
2b46892be6 [Ignition] Skip failing tests
BUG=v8:4680
LOG=N
TBR=machenbach@chromium.org,rmcilroy@chromium.org,mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/1852263002

Cr-Commit-Position: refs/heads/master@{#35241}
2016-04-04 16:02:30 +00:00
mstarzinger
54e336885b [interpreter] Skip failing generator regression test.
TBR=rmcilroy@chromium.org,machenbach@chromium.org
TEST=mjsunit/regress/regress-crbug-513471
BUG=chromium:513471
LOG=n

Review URL: https://codereview.chromium.org/1859523003

Cr-Commit-Position: refs/heads/master@{#35240}
2016-04-04 14:47:40 +00:00
joransiu
06d7276b24 S390: Use FIEBRA/FIDBRA for FP Floor/Ceil
The existing FloatFloor/Ceiling functions had an issue with handling
Number.MIN_VALUE (0x1 ==> 5e-324), and would incorrectly return
MIN_VALUE instead of 0/1.  Simplify the entire sequence by using the
available hardware instruction with the appropriate rounding mode
(POS_INF for Ceiling, NEG_INF for Floor).

Add missing FIEBRA/FIDBRA cases to disassembler.

R=jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1853973002

Cr-Commit-Position: refs/heads/master@{#35239}
2016-04-04 13:54:18 +00:00
hpayer
3dc43a7550 [heap] Remove unused step_size_in_bytes in AdvanceIncrementalMarking.
BUG=

Review URL: https://codereview.chromium.org/1844293005

Cr-Commit-Position: refs/heads/master@{#35238}
2016-04-04 13:01:45 +00:00
ivica.bogosavljevic
114c109a32 MIPS: Fix Run_Wasm_F32CopySign.
Run_Wasm_F32CopySign was failing because function copysign
that is used to verify the results does implicit conversion
from float to double. In this conversion we lose information
about NaN sign and the test fails.

Fix by using copysignf to avoid unnecessary float to double
conversion.

TEST=cctest/test-run-wasm/Run_Wasm_F32CopySign
BUG=

Review URL: https://codereview.chromium.org/1857753002

Cr-Commit-Position: refs/heads/master@{#35237}
2016-04-04 12:59:35 +00:00
yangguo
f7e7ba1125 [interpreter] add some expression positions.
Statement positions should overwrite expression positions if they
have the same bytecode offset.

R=mstarzinger@chromium.org, vogelheim@chromium.org
BUG=v8:4680,v8:4689
LOG=N

Review URL: https://codereview.chromium.org/1855913002

Cr-Commit-Position: refs/heads/master@{#35236}
2016-04-04 12:37:48 +00:00
machenbach
3fabe1a452 Revert of [heap] Add optimized RecordWrites (patchset #3 id:40001 of https://codereview.chromium.org/1834373003/ )
Reason for revert:
[Sheriff] Likely causing blink crashes:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/3667

Original issue's description:
> [heap] Add optimized RecordWrites
> BUG=
>
> Committed: https://crrev.com/5210f167e802a3758aac1f2900a6560c8de07831
> Cr-Commit-Position: refs/heads/master@{#35231}

TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,cbruni@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1860443003

Cr-Commit-Position: refs/heads/master@{#35235}
2016-04-04 12:17:54 +00:00
mstarzinger
6ab9c1850f Fix resuming generator marked for optimization.
This fixes a corner case where the generator function of a suspended
generator has been marked for optimization. We assume the optimization
approach will cause a bailout because generators are not optimized. But
resuming is more resilient by always activating the unoptimized code.

R=neis@chromium.org,bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-513471
BUG=chromium:513471
LOG=n

Review URL: https://codereview.chromium.org/1856683002

Cr-Commit-Position: refs/heads/master@{#35234}
2016-04-04 11:52:09 +00:00
ulan
2b9c99a861 Trace events corresponding to GCTracer scopes.
BUG=chromium:597310
LOG=NO

Review URL: https://codereview.chromium.org/1851103002

Cr-Commit-Position: refs/heads/master@{#35233}
2016-04-04 10:42:41 +00:00
ishell
4598356f17 Properly complete in-object slack tracking.
BUG=chromium:599003
LOG=N

Review URL: https://codereview.chromium.org/1856653002

Cr-Commit-Position: refs/heads/master@{#35232}
2016-04-04 10:00:44 +00:00
cbruni
5210f167e8 [heap] Add optimized RecordWrites
BUG=

Review URL: https://codereview.chromium.org/1834373003

Cr-Commit-Position: refs/heads/master@{#35231}
2016-04-04 09:55:14 +00:00
yangguo
3d4f85ab9f [debugger] fix step-next for tail calls.
R=ishell@chromium.org
BUG=v8:4698
LOG=N

Review URL: https://codereview.chromium.org/1847373002

Cr-Commit-Position: refs/heads/master@{#35230}
2016-04-04 09:40:32 +00:00
mlippautz
cc8e11b785 [tools] Filter empty categories in GC eval script
R=hpayer@chromium.org
BUG=
NOTRY=yes

Review URL: https://codereview.chromium.org/1858573002

Cr-Commit-Position: refs/heads/master@{#35229}
2016-04-04 09:23:42 +00:00
neis
f5b8511b05 Move comment above associated declaration so some GUIs can pick it up.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1857703002

Cr-Commit-Position: refs/heads/master@{#35228}
2016-04-04 08:52:08 +00:00
ishell
c7ff5766cf Display a meaningfull error message when trying to capture a stack trace to a proxy.
... instead of RUNTIME_ASSERT pointing to V8 guts.

BUG=chromium:599067
LOG=N

Review URL: https://codereview.chromium.org/1844223004

Cr-Commit-Position: refs/heads/master@{#35227}
2016-04-04 08:37:30 +00:00
neis
f70b3d3b2c Preserve exception message in iterator finalization.
The parser uses a try-catch in order to record when the client of an iterator
throws.  The exception then used to get rethrown via 'throw', which
unfortunately resulted in the original exception message object getting
overwritten.

This CL solves this as follows:
- add a clear_pending_message flag to TryCatchStatement (set to true in normal
  cases),
- set clear_pending_message to false for the TryCatchStatement used in iterator
  finalization
- change full-codegen, turbofan, and the interpreter to emit the ClearPendingMessage call
  only when the flag is set,
- replace 'throw' with '%ReThrow' in the iterator finalization code, thus
  reusing the (not-cleared) pending message

R=littledan@chromium.org, mstarzinger@chromium.org, yangguo@chromium.org
BUG=v8:4875
LOG=n

Review URL: https://codereview.chromium.org/1842953003

Cr-Commit-Position: refs/heads/master@{#35226}
2016-04-04 08:15:25 +00:00
littledan
277f5bd0a3 Further ES2015 RegExp spec compliance fixes
- RegExp.prototype.toString() doesn't have any special handling of
  RegExp instances and simply calls the source and flags getters
- Use the original values of global and sticky, rather than based
  on the current flag getters, as specified in
  https://github.com/tc39/ecma262/pull/494

R=yangguo@chromium.org,adamk
LOG=Y
BUG=v8:4602

Review URL: https://codereview.chromium.org/1846303002

Cr-Commit-Position: refs/heads/master@{#35225}
2016-04-04 07:06:18 +00:00
thakis
42f2261cfe Let v8's configs have an effect in 64-bit Windows Chromium builds.
The Chromium 64-bit Windows build uses "Debug_x64" and "Release_x64"
as configs for some reason, so put v8's build config settings there
too.

Reduces e.g. the runtime of CrSettingsBrowserTest.CrSettingsTest from
25s to 12s on my z840 in a 64-bit Chromium debug build
(while also turning on handle zapping).

BUG=chromium:586511
LOG=n

Review URL: https://codereview.chromium.org/1852913002

Cr-Commit-Position: refs/heads/master@{#35224}
2016-04-03 13:09:22 +00:00
v8-autoroll
f5a95d2b59 Update V8 DEPS.
Rolling v8/base/trace_event/common to ffb39885a2418caa7a6a6652471fe097732675bd

Rolling v8/tools/clang to 8f7a85a108698ce7ed4fe1aa842efa61f195364e

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review URL: https://codereview.chromium.org/1859433002

Cr-Commit-Position: refs/heads/master@{#35223}
2016-04-03 03:24:21 +00:00
machenbach
8625c489eb Revert of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850383002/ )
Reason for revert:
The first revert did help after all. See comments on:
https://codereview.chromium.org/1848433003/

Original issue's description:
> Reland of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850373002/ )
>
> Reason for revert:
> Revert didn't help. Still we need to figure out what bothers the msan build.
>
> Original issue's description:
> > Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ )
> >
> > Reason for revert:
> > [Sheriff] Speculative revert. Compile now times out on msan:
> > https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705
> >
> > Original issue's description:
> > > Turbofan: Add MachineOperators for SIMD.
> > >
> > > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is:
> > >
> > >  - UInt constructors. int and uint aren't distinguished in wasm.
> > >  - Check functions.
> > >  - 'FromXxxBits' functions. These are essentially casts.
> > >  - Simple Load / Store functions. Existing load / store with SIMD type should work.
> > >  - Uint functions, except where their behavior is bitwise different from the Int function.
> > >
> > > Skipped fns:
> > >
> > > Float32x4Check
> > > Float32x4FromInt32x4Bits
> > > Float32x4FromUint32x4Bits
> > > Float32x4FromInt16x8Bits
> > > Float32x4FromUint16x8Bits
> > > Float32x4FromInt8x16Bits
> > > Float32x4FromUint8x16Bits
> > > Float32x4Load
> > > Float32x4Store
> > >
> > > Int32x4Check
> > > Int32x4FromUint32x4
> > > Int32x4FromFloat32x4Bits
> > > Int32x4FromUint32x4Bits
> > > Int32x4FromInt16x8Bits
> > > Int32x4FromUint16x8Bits
> > > Int32x4FromInt8x16Bits
> > > Int32x4FromUint8x16Bits
> > > Int32x4Load
> > > Int32x4Store
> > >
> > > CreateUint32x4
> > > Uint32x4Check
> > > Uint32x4ExtractLane
> > > Uint32x4ReplaceLane
> > > Uint32x4Add
> > > Uint32x4Sub
> > > Uint32x4Mul
> > > Uint32x4And
> > > Uint32x4Or
> > > Uint32x4Xor
> > > Uint32x4Not
> > > Uint32x4Equal
> > > Uint32x4NotEqual
> > > Uint32x4Select
> > > Uint32x4Swizzle
> > > Uint32x4Shuffle
> > > Uint32x4FromInt32x4
> > > Uint32x4FromFloat32x4Bits
> > > Uint32x4FromInt32x4Bits
> > > Uint32x4FromInt16x8Bits
> > > Uint32x4FromUint16x8Bits
> > > Uint32x4FromInt8x16Bits
> > > Uint32x4FromUint8x16Bits
> > > Uint32x4Load
> > > Uint32x4Load1
> > > Uint32x4Load2
> > > Uint32x4Load3
> > > Uint32x4Store
> > > Uint32x4Store1
> > > Uint32x4Store2
> > > Uint32x4Store3
> > >
> > > Bool32x4Check
> > >
> > > Int16x8Check
> > > Int16x8FromUint16x8
> > > Int16x8FromFloat32x4Bits
> > > Int16x8FromInt32x4Bits
> > > Int16x8FromUint32x4Bits
> > > Int16x8FromUint16x8Bits
> > > Int16x8FromInt8x16Bits
> > > Int16x8FromUint8x16Bits
> > > Int16x8Load
> > > Int16x8Store
> > >
> > > CreateUint16x8
> > > Uint16x8Check
> > > Uint16x8ExtractLane
> > > Uint16x8ReplaceLane
> > > Uint16x8Add
> > > Uint16x8Sub
> > > Uint16x8Mul
> > > Uint16x8And
> > > Uint16x8Or
> > > Uint16x8Xor
> > > Uint16x8Not
> > > Uint16x8Equal
> > > Uint16x8NotEqual
> > > Uint16x8Select
> > > Uint16x8Swizzle
> > > Uint16x8Shuffle
> > > Uint16x8FromInt16x8
> > > Uint16x8FromFloat32x4Bits
> > > Uint16x8FromInt32x4Bits
> > > Uint16x8FromUint32x4Bits
> > > Uint16x8FromInt16x8Bits
> > > Uint16x8FromInt8x16Bits
> > > Uint16x8FromUint8x16Bits
> > > Uint16x8Load
> > > Uint16x8Store
> > >
> > > Bool16x8Check
> > >
> > > Int8x16Check
> > > Int8x16FromUint8x16
> > > Int8x16FromFloat32x4Bits
> > > Int8x16FromInt32x4Bits
> > > Int8x16FromUint32x4Bits
> > > Int8x16FromInt16x8Bits
> > > Int8x16FromUint16x8Bits
> > > Int8x16FromUint8x16Bits
> > > Int8x16Load
> > > Int8x16Store
> > >
> > > CreateUint8x16
> > > Uint8x16Check
> > > Uint8x16ExtractLane
> > > Uint8x16ReplaceLane
> > > Uint8x16Add
> > > Uint8x16Sub
> > > Uint8x16Mul
> > > Uint8x16And
> > > Uint8x16Or
> > > Uint8x16Xor
> > > Uint8x16Not
> > > Uint8x16Equal
> > > Uint8x16NotEqual
> > > Uint8x16Select
> > > Uint8x16Swizzle
> > > Uint8x16Shuffle
> > > Uint8x16FromInt8x16
> > > Uint8x16FromFloat32x4Bits
> > > Uint8x16FromInt32x4Bits
> > > Uint8x16FromUint32x4Bits
> > > Uint8x16FromInt16x8Bits
> > > Uint8x16FromUint16x8Bits
> > > Uint8x16FromInt8x16Bits
> > > Uint8x16Load
> > > Uint8x16Store
> > >
> > > Bool8x16Check
> > >
> > > LOG=N
> > > BUG=v8:4124
> > >
> > > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30
> > > Cr-Commit-Position: refs/heads/master@{#35213}
> >
> > TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=v8:4124
> >
> > Committed: https://crrev.com/8481ec6016992e0b9ffb70137e9ff8fcd4135bba
> > Cr-Commit-Position: refs/heads/master@{#35220}
>
> TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4124
>
> Committed: https://crrev.com/1f46e3ee8cec6b06b30b569e5688de095c4661ff
> Cr-Commit-Position: refs/heads/master@{#35221}

TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review URL: https://codereview.chromium.org/1846413002

Cr-Commit-Position: refs/heads/master@{#35222}
2016-04-02 08:52:55 +00:00
machenbach
1f46e3ee8c Reland of Turbofan: Add MachineOperators for SIMD. (patchset #1 id:1 of https://codereview.chromium.org/1850373002/ )
Reason for revert:
Revert didn't help. Still we need to figure out what bothers the msan build.

Original issue's description:
> Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ )
>
> Reason for revert:
> [Sheriff] Speculative revert. Compile now times out on msan:
> https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705
>
> Original issue's description:
> > Turbofan: Add MachineOperators for SIMD.
> >
> > Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is:
> >
> >  - UInt constructors. int and uint aren't distinguished in wasm.
> >  - Check functions.
> >  - 'FromXxxBits' functions. These are essentially casts.
> >  - Simple Load / Store functions. Existing load / store with SIMD type should work.
> >  - Uint functions, except where their behavior is bitwise different from the Int function.
> >
> > Skipped fns:
> >
> > Float32x4Check
> > Float32x4FromInt32x4Bits
> > Float32x4FromUint32x4Bits
> > Float32x4FromInt16x8Bits
> > Float32x4FromUint16x8Bits
> > Float32x4FromInt8x16Bits
> > Float32x4FromUint8x16Bits
> > Float32x4Load
> > Float32x4Store
> >
> > Int32x4Check
> > Int32x4FromUint32x4
> > Int32x4FromFloat32x4Bits
> > Int32x4FromUint32x4Bits
> > Int32x4FromInt16x8Bits
> > Int32x4FromUint16x8Bits
> > Int32x4FromInt8x16Bits
> > Int32x4FromUint8x16Bits
> > Int32x4Load
> > Int32x4Store
> >
> > CreateUint32x4
> > Uint32x4Check
> > Uint32x4ExtractLane
> > Uint32x4ReplaceLane
> > Uint32x4Add
> > Uint32x4Sub
> > Uint32x4Mul
> > Uint32x4And
> > Uint32x4Or
> > Uint32x4Xor
> > Uint32x4Not
> > Uint32x4Equal
> > Uint32x4NotEqual
> > Uint32x4Select
> > Uint32x4Swizzle
> > Uint32x4Shuffle
> > Uint32x4FromInt32x4
> > Uint32x4FromFloat32x4Bits
> > Uint32x4FromInt32x4Bits
> > Uint32x4FromInt16x8Bits
> > Uint32x4FromUint16x8Bits
> > Uint32x4FromInt8x16Bits
> > Uint32x4FromUint8x16Bits
> > Uint32x4Load
> > Uint32x4Load1
> > Uint32x4Load2
> > Uint32x4Load3
> > Uint32x4Store
> > Uint32x4Store1
> > Uint32x4Store2
> > Uint32x4Store3
> >
> > Bool32x4Check
> >
> > Int16x8Check
> > Int16x8FromUint16x8
> > Int16x8FromFloat32x4Bits
> > Int16x8FromInt32x4Bits
> > Int16x8FromUint32x4Bits
> > Int16x8FromUint16x8Bits
> > Int16x8FromInt8x16Bits
> > Int16x8FromUint8x16Bits
> > Int16x8Load
> > Int16x8Store
> >
> > CreateUint16x8
> > Uint16x8Check
> > Uint16x8ExtractLane
> > Uint16x8ReplaceLane
> > Uint16x8Add
> > Uint16x8Sub
> > Uint16x8Mul
> > Uint16x8And
> > Uint16x8Or
> > Uint16x8Xor
> > Uint16x8Not
> > Uint16x8Equal
> > Uint16x8NotEqual
> > Uint16x8Select
> > Uint16x8Swizzle
> > Uint16x8Shuffle
> > Uint16x8FromInt16x8
> > Uint16x8FromFloat32x4Bits
> > Uint16x8FromInt32x4Bits
> > Uint16x8FromUint32x4Bits
> > Uint16x8FromInt16x8Bits
> > Uint16x8FromInt8x16Bits
> > Uint16x8FromUint8x16Bits
> > Uint16x8Load
> > Uint16x8Store
> >
> > Bool16x8Check
> >
> > Int8x16Check
> > Int8x16FromUint8x16
> > Int8x16FromFloat32x4Bits
> > Int8x16FromInt32x4Bits
> > Int8x16FromUint32x4Bits
> > Int8x16FromInt16x8Bits
> > Int8x16FromUint16x8Bits
> > Int8x16FromUint8x16Bits
> > Int8x16Load
> > Int8x16Store
> >
> > CreateUint8x16
> > Uint8x16Check
> > Uint8x16ExtractLane
> > Uint8x16ReplaceLane
> > Uint8x16Add
> > Uint8x16Sub
> > Uint8x16Mul
> > Uint8x16And
> > Uint8x16Or
> > Uint8x16Xor
> > Uint8x16Not
> > Uint8x16Equal
> > Uint8x16NotEqual
> > Uint8x16Select
> > Uint8x16Swizzle
> > Uint8x16Shuffle
> > Uint8x16FromInt8x16
> > Uint8x16FromFloat32x4Bits
> > Uint8x16FromInt32x4Bits
> > Uint8x16FromUint32x4Bits
> > Uint8x16FromInt16x8Bits
> > Uint8x16FromUint16x8Bits
> > Uint8x16FromInt8x16Bits
> > Uint8x16Load
> > Uint8x16Store
> >
> > Bool8x16Check
> >
> > LOG=N
> > BUG=v8:4124
> >
> > Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30
> > Cr-Commit-Position: refs/heads/master@{#35213}
>
> TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=v8:4124
>
> Committed: https://crrev.com/8481ec6016992e0b9ffb70137e9ff8fcd4135bba
> Cr-Commit-Position: refs/heads/master@{#35220}

TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review URL: https://codereview.chromium.org/1850383002

Cr-Commit-Position: refs/heads/master@{#35221}
2016-04-02 07:05:48 +00:00
machenbach
8481ec6016 Revert of Turbofan: Add MachineOperators for SIMD. (patchset #5 id:70001 of https://codereview.chromium.org/1848433003/ )
Reason for revert:
[Sheriff] Speculative revert. Compile now times out on msan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/7705

Original issue's description:
> Turbofan: Add MachineOperators for SIMD.
>
> Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is:
>
>  - UInt constructors. int and uint aren't distinguished in wasm.
>  - Check functions.
>  - 'FromXxxBits' functions. These are essentially casts.
>  - Simple Load / Store functions. Existing load / store with SIMD type should work.
>  - Uint functions, except where their behavior is bitwise different from the Int function.
>
> Skipped fns:
>
> Float32x4Check
> Float32x4FromInt32x4Bits
> Float32x4FromUint32x4Bits
> Float32x4FromInt16x8Bits
> Float32x4FromUint16x8Bits
> Float32x4FromInt8x16Bits
> Float32x4FromUint8x16Bits
> Float32x4Load
> Float32x4Store
>
> Int32x4Check
> Int32x4FromUint32x4
> Int32x4FromFloat32x4Bits
> Int32x4FromUint32x4Bits
> Int32x4FromInt16x8Bits
> Int32x4FromUint16x8Bits
> Int32x4FromInt8x16Bits
> Int32x4FromUint8x16Bits
> Int32x4Load
> Int32x4Store
>
> CreateUint32x4
> Uint32x4Check
> Uint32x4ExtractLane
> Uint32x4ReplaceLane
> Uint32x4Add
> Uint32x4Sub
> Uint32x4Mul
> Uint32x4And
> Uint32x4Or
> Uint32x4Xor
> Uint32x4Not
> Uint32x4Equal
> Uint32x4NotEqual
> Uint32x4Select
> Uint32x4Swizzle
> Uint32x4Shuffle
> Uint32x4FromInt32x4
> Uint32x4FromFloat32x4Bits
> Uint32x4FromInt32x4Bits
> Uint32x4FromInt16x8Bits
> Uint32x4FromUint16x8Bits
> Uint32x4FromInt8x16Bits
> Uint32x4FromUint8x16Bits
> Uint32x4Load
> Uint32x4Load1
> Uint32x4Load2
> Uint32x4Load3
> Uint32x4Store
> Uint32x4Store1
> Uint32x4Store2
> Uint32x4Store3
>
> Bool32x4Check
>
> Int16x8Check
> Int16x8FromUint16x8
> Int16x8FromFloat32x4Bits
> Int16x8FromInt32x4Bits
> Int16x8FromUint32x4Bits
> Int16x8FromUint16x8Bits
> Int16x8FromInt8x16Bits
> Int16x8FromUint8x16Bits
> Int16x8Load
> Int16x8Store
>
> CreateUint16x8
> Uint16x8Check
> Uint16x8ExtractLane
> Uint16x8ReplaceLane
> Uint16x8Add
> Uint16x8Sub
> Uint16x8Mul
> Uint16x8And
> Uint16x8Or
> Uint16x8Xor
> Uint16x8Not
> Uint16x8Equal
> Uint16x8NotEqual
> Uint16x8Select
> Uint16x8Swizzle
> Uint16x8Shuffle
> Uint16x8FromInt16x8
> Uint16x8FromFloat32x4Bits
> Uint16x8FromInt32x4Bits
> Uint16x8FromUint32x4Bits
> Uint16x8FromInt16x8Bits
> Uint16x8FromInt8x16Bits
> Uint16x8FromUint8x16Bits
> Uint16x8Load
> Uint16x8Store
>
> Bool16x8Check
>
> Int8x16Check
> Int8x16FromUint8x16
> Int8x16FromFloat32x4Bits
> Int8x16FromInt32x4Bits
> Int8x16FromUint32x4Bits
> Int8x16FromInt16x8Bits
> Int8x16FromUint16x8Bits
> Int8x16FromUint8x16Bits
> Int8x16Load
> Int8x16Store
>
> CreateUint8x16
> Uint8x16Check
> Uint8x16ExtractLane
> Uint8x16ReplaceLane
> Uint8x16Add
> Uint8x16Sub
> Uint8x16Mul
> Uint8x16And
> Uint8x16Or
> Uint8x16Xor
> Uint8x16Not
> Uint8x16Equal
> Uint8x16NotEqual
> Uint8x16Select
> Uint8x16Swizzle
> Uint8x16Shuffle
> Uint8x16FromInt8x16
> Uint8x16FromFloat32x4Bits
> Uint8x16FromInt32x4Bits
> Uint8x16FromUint32x4Bits
> Uint8x16FromInt16x8Bits
> Uint8x16FromUint16x8Bits
> Uint8x16FromInt8x16Bits
> Uint8x16Load
> Uint8x16Store
>
> Bool8x16Check
>
> LOG=N
> BUG=v8:4124
>
> Committed: https://crrev.com/3831d41e4ce7b162775732cb6ac1f8139e60aa30
> Cr-Commit-Position: refs/heads/master@{#35213}

TBR=bradnelson@chromium.org,gdeepti@chromium.org,titzer@chromium.org,mtrofin@chromium.org,bradnelson@google.com,bmeurer@chromium.org,bbudge@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review URL: https://codereview.chromium.org/1850373002

Cr-Commit-Position: refs/heads/master@{#35220}
2016-04-02 06:36:45 +00:00
v8-autoroll
edc8acffda Update V8 DEPS.
Rolling v8/base/trace_event/common to 0fc98828a66ee4d69b9524e4967b9287b7b8eea0

Rolling v8/build/gyp to 697933c2e3b3ffdd6949df3c2fa3613489e01175

Rolling v8/tools/clang to 87058e09f9c547eb5d00cb8ca666c6aec203a117

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review URL: https://codereview.chromium.org/1853783004

Cr-Commit-Position: refs/heads/master@{#35219}
2016-04-02 03:32:43 +00:00
jyan
9fbc04f833 S390: Fix '[ic] Use the CallFunction builtin to invoke accessors.'
Fix native compilation error due to gcc error "call of overloaded
‘Operand(int)’ is ambiguous"

R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1847303004

Cr-Commit-Position: refs/heads/master@{#35218}
2016-04-01 22:34:42 +00:00
jyan
6c38fde94e S390: [ic] Use the CallFunction builtin to invoke accessors.
port 6df9a22c3f

Original Commit Message:
    The HandlerCompiler did not properly handle the weird edge case when a
    sloppy mode function was installed as an accessor on one of the value
    wrapper prototypes and then accessed via a load from a primitive value.
    In this case we just passed the primitive value untouched instead of
    properly wrapping it first. The CallFunction builtin properly deals with
    all the funny edge cases, so we use it instead of duplicating almost all
    of the logic here (the performance difference is neglible).

R=verwaest@chromium.org, bmeurer@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:599073, v8:4413
LOG=n

Review URL: https://codereview.chromium.org/1849233003

Cr-Commit-Position: refs/heads/master@{#35217}
2016-04-01 19:33:08 +00:00
mbrandy
6ae6d3f8b7 PPC: [turbofan] Optimize loading 64-bit SMIs.
Especially when loading and untagging SMIs within code stubs,
instances of the following pattern appear in the generated code:

    ld    <dst>, <offset>(<base>)
    sradi <dst>,<dst>,32

This CL changes that code to:

    lwa   <dst>, <SmiWordOffset(offset)>(<base>)

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1855533002

Cr-Commit-Position: refs/heads/master@{#35216}
2016-04-01 19:08:50 +00:00
jyan
d8cd323d6e S390: Assembler changes for enabling GrowHeap in Wasm
Port e1a7c1e76c

Original commit message:
    - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change
    - RelocInfo mode recorded for immediates that use the memory buffer as base
    - Tests to verify address patching works

R=joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1848353002

Cr-Commit-Position: refs/heads/master@{#35215}
2016-04-01 18:25:28 +00:00
mbrandy
2799cd1530 PPC: [ic] Use the CallFunction builtin to invoke accessors.
Port 6df9a22c3f

Original commit message:
    The HandlerCompiler did not properly handle the weird edge case when a
    sloppy mode function was installed as an accessor on one of the value
    wrapper prototypes and then accessed via a load from a primitive value.
    In this case we just passed the primitive value untouched instead of
    properly wrapping it first. The CallFunction builtin properly deals with
    all the funny edge cases, so we use it instead of duplicating almost all
    of the logic here (the performance difference is neglible).

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:599073, v8:4413
LOG=n

Review URL: https://codereview.chromium.org/1846953006

Cr-Commit-Position: refs/heads/master@{#35214}
2016-04-01 18:22:39 +00:00
bbudge
3831d41e4c Turbofan: Add MachineOperators for SIMD.
IMPORTANT NOTE: This will likely be macroized to reduce boilerplate. Publishing now to start discussion about approach, which ops are needed, etc. Omitted functions are commented out in machine-operator.h so start there.

Takes the SIMD runtime intrinsics as a starting point for defining TF machine operators. The rationale for omitting functions is:

 - UInt constructors. int and uint aren't distinguished in wasm.
 - Check functions.
 - 'FromXxxBits' functions. These are essentially casts.
 - Simple Load / Store functions. Existing load / store with SIMD type should work.
 - Uint functions, except where their behavior is bitwise different from the Int function.

Skipped fns:

Float32x4Check
Float32x4FromInt32x4Bits
Float32x4FromUint32x4Bits
Float32x4FromInt16x8Bits
Float32x4FromUint16x8Bits
Float32x4FromInt8x16Bits
Float32x4FromUint8x16Bits
Float32x4Load
Float32x4Store

Int32x4Check
Int32x4FromUint32x4
Int32x4FromFloat32x4Bits
Int32x4FromUint32x4Bits
Int32x4FromInt16x8Bits
Int32x4FromUint16x8Bits
Int32x4FromInt8x16Bits
Int32x4FromUint8x16Bits
Int32x4Load
Int32x4Store

CreateUint32x4
Uint32x4Check
Uint32x4ExtractLane
Uint32x4ReplaceLane
Uint32x4Add
Uint32x4Sub
Uint32x4Mul
Uint32x4And
Uint32x4Or
Uint32x4Xor
Uint32x4Not
Uint32x4Equal
Uint32x4NotEqual
Uint32x4Select
Uint32x4Swizzle
Uint32x4Shuffle
Uint32x4FromInt32x4
Uint32x4FromFloat32x4Bits
Uint32x4FromInt32x4Bits
Uint32x4FromInt16x8Bits
Uint32x4FromUint16x8Bits
Uint32x4FromInt8x16Bits
Uint32x4FromUint8x16Bits
Uint32x4Load
Uint32x4Load1
Uint32x4Load2
Uint32x4Load3
Uint32x4Store
Uint32x4Store1
Uint32x4Store2
Uint32x4Store3

Bool32x4Check

Int16x8Check
Int16x8FromUint16x8
Int16x8FromFloat32x4Bits
Int16x8FromInt32x4Bits
Int16x8FromUint32x4Bits
Int16x8FromUint16x8Bits
Int16x8FromInt8x16Bits
Int16x8FromUint8x16Bits
Int16x8Load
Int16x8Store

CreateUint16x8
Uint16x8Check
Uint16x8ExtractLane
Uint16x8ReplaceLane
Uint16x8Add
Uint16x8Sub
Uint16x8Mul
Uint16x8And
Uint16x8Or
Uint16x8Xor
Uint16x8Not
Uint16x8Equal
Uint16x8NotEqual
Uint16x8Select
Uint16x8Swizzle
Uint16x8Shuffle
Uint16x8FromInt16x8
Uint16x8FromFloat32x4Bits
Uint16x8FromInt32x4Bits
Uint16x8FromUint32x4Bits
Uint16x8FromInt16x8Bits
Uint16x8FromInt8x16Bits
Uint16x8FromUint8x16Bits
Uint16x8Load
Uint16x8Store

Bool16x8Check

Int8x16Check
Int8x16FromUint8x16
Int8x16FromFloat32x4Bits
Int8x16FromInt32x4Bits
Int8x16FromUint32x4Bits
Int8x16FromInt16x8Bits
Int8x16FromUint16x8Bits
Int8x16FromUint8x16Bits
Int8x16Load
Int8x16Store

CreateUint8x16
Uint8x16Check
Uint8x16ExtractLane
Uint8x16ReplaceLane
Uint8x16Add
Uint8x16Sub
Uint8x16Mul
Uint8x16And
Uint8x16Or
Uint8x16Xor
Uint8x16Not
Uint8x16Equal
Uint8x16NotEqual
Uint8x16Select
Uint8x16Swizzle
Uint8x16Shuffle
Uint8x16FromInt8x16
Uint8x16FromFloat32x4Bits
Uint8x16FromInt32x4Bits
Uint8x16FromUint32x4Bits
Uint8x16FromInt16x8Bits
Uint8x16FromUint16x8Bits
Uint8x16FromInt8x16Bits
Uint8x16Load
Uint8x16Store

Bool8x16Check

LOG=N
BUG=v8:4124

Review URL: https://codereview.chromium.org/1848433003

Cr-Commit-Position: refs/heads/master@{#35213}
2016-04-01 18:09:22 +00:00
akos.palfi
3e284d19aa MIPS64: Fix '[turbofan] Frame elision for code stubs.'
Port 53d51c52f3

TEST=mjsunit/es6/array-copywithin, mjsunit/harmony/array-species
BUG=

Review URL: https://codereview.chromium.org/1847073003

Cr-Commit-Position: refs/heads/master@{#35212}
2016-04-01 16:00:17 +00:00
bryleun
6dfcaafe50 S390: Implemented SLBR in s390 simulator.
This CL implements the SLBR, subtract logical 32-bit int with borrow, instruction in the s390 simulator.

R=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mbrandy@us.ibm.com,joransiu@ca.ibm.com,

BUG=

Review URL: https://codereview.chromium.org/1850163004

Cr-Commit-Position: refs/heads/master@{#35211}
2016-04-01 15:56:20 +00:00
mbrandy
bdfe29afad Revert of PPC: [compiler] Add relocatable pointer constants for wasm memory references. (patchset #1 id:1 of https://codereview.chromium.org/1851543004/ )
Reason for revert:
Original commit reverted.

Original issue's description:
> PPC: [compiler] Add relocatable pointer constants for wasm memory references.
>
> Port eb5fe0df64
>
> Original commit message:
>     Add relocatable pointers for wasm memory references that need to
>     be updated when wasm GrowMemory is used. Code generator changes to
>     accept relocatable constants as immediates.
>
> R=gdeepti@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
> BUG=
>
> Committed: https://crrev.com/ba053c4620c3b91ddc540f733f8b4dd9a792bb13
> Cr-Commit-Position: refs/heads/master@{#35203}

TBR=gdeepti@google.com,joransiu@ca.ibm.com,jyan@ca.ibm.com,michael_dawson@ca.ibm.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1851823002

Cr-Commit-Position: refs/heads/master@{#35210}
2016-04-01 15:31:06 +00:00
cbruni
ba5a61962f [elements] Avoid using IsKey in loops
IsKey is much slower compare to direct comparisons with undefined_value
and the_hole_value.

BUG=

Review URL: https://codereview.chromium.org/1847183004

Cr-Commit-Position: refs/heads/master@{#35209}
2016-04-01 14:40:16 +00:00
bmeurer
eaa92feb9a [builtins] Migrate Math.clz32 to a TurboFan builtin.
This allows us to remove the troublesome %_MathClz32 intrinsic and also
allows us to utilize the functionality that is already available in
TurboFan. Also introduce a proper NumberClz32 operator so we don't need
to introduce a machine operator at the JS level.

R=epertoso@chromium.org

Review URL: https://codereview.chromium.org/1852553003

Cr-Commit-Position: refs/heads/master@{#35208}
2016-04-01 14:36:32 +00:00
jyan
652853daa6 S390: [wasm] Fixed float-to-int conversion tests.
port ac7f0e2b61

Original Commit Message:
   *) For all tests the input validation was incorrect, i.e. some values
   were considered invalid although they were valid. The problem was that
   values which are outside int range can get in range through truncation.

   *) Removed an assertion in the x64 code generation of
   TruncateFloat64ToUint32 which trapped on negative inputs.

   *) Introduced a new TF operator TruncateFloat32ToUint32 which does
   the same as ChangeFloat32ToUint32 but does not trap on negative inputs.

R=titzer@chromium.org, ahaas@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1844053005

Cr-Commit-Position: refs/heads/master@{#35207}
2016-04-01 14:11:19 +00:00
joransiu
c279138010 S390: Guard RISBG usage with facility check
A use of risbg instruction is not guarded by the corresponding
GENERAL_INSTR_EXT facility check.  This will result in an illegal
instruction when running on hardware without that facility installed
(i.e. z9).

R=jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1848533006

Cr-Commit-Position: refs/heads/master@{#35206}
2016-04-01 13:27:59 +00:00
hpayer
3283d6d350 [heap] Abort AdvanceIncrementalMarking when we do not make marking progress.
BUG=v8:4804
LOG=n

Review URL: https://codereview.chromium.org/1853463004

Cr-Commit-Position: refs/heads/master@{#35205}
2016-04-01 13:25:53 +00:00
mbrandy
58f2be4307 PPC: Assembler changes for enabling GrowHeap in Wasm
Port e1a7c1e76c

Original commit message:
    - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change
    - RelocInfo mode recorded for immediates that use the memory buffer as base
    - Tests to verify address patching works

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1845283004

Cr-Commit-Position: refs/heads/master@{#35204}
2016-04-01 13:16:43 +00:00
mbrandy
ba053c4620 PPC: [compiler] Add relocatable pointer constants for wasm memory references.
Port eb5fe0df64

Original commit message:
    Add relocatable pointers for wasm memory references that need to
    be updated when wasm GrowMemory is used. Code generator changes to
    accept relocatable constants as immediates.

R=gdeepti@google.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1851543004

Cr-Commit-Position: refs/heads/master@{#35203}
2016-04-01 13:14:34 +00:00
mythria
8a9ada4863 [Interpreter] Handles BytecodeArrays when scanning objects in heap.
Handles bytecodeArray Objects when verifying the heap and also when
collecting code statistics. The changes include:
1. BytecodeArrays could be a part of the large object space. When
verifying the large object space we should also allow BytecodeArray
objects.
2. Adds support for BytecodeArrays when collecting code statistics.

BUG=v8:4280,chromium:599001
LOG=N

Review URL: https://codereview.chromium.org/1850443006

Cr-Commit-Position: refs/heads/master@{#35202}
2016-04-01 13:14:33 +00:00
oth
0c32e98eab [interpreter] A few code coverage improvements.
Improves code coverage of bytecode array builder and constant
array builder.

Fixes initial index for constant pool slice for kQuad operands.

BUG=v8:4280,chromium:599000
LOG=N
TBR=rmcilroy@chromium.org

Review URL: https://codereview.chromium.org/1845313002

Cr-Commit-Position: refs/heads/master@{#35201}
2016-04-01 12:09:10 +00:00
cbruni
942f255fa2 Adding %_NewObject intrinsic
This should help speeding up Promise and RegExp instantiations substantially.

BUG=

Review URL: https://codereview.chromium.org/1850643002

Cr-Commit-Position: refs/heads/master@{#35200}
2016-04-01 11:34:27 +00:00
epertoso
3dd3beb066 [ia32] Byte and word memory operands in ia32 cmp/test.
Currently, if the size of two cmp or test operands is a byte or a word, we sign-extend or zero-extend each of them into a 32-bit register before doing the comparison, even when the conditions for the use of a memory operand are met.

This CL makes it possible to load only one of them into a register and address the other as a memory operand.

The tricky bit is that, unlike as in the x64 counterpart http://crrev.com/1780193003, not all registers can be accessed as bytes.

BUG=

Review URL: https://codereview.chromium.org/1845603002

Cr-Commit-Position: refs/heads/master@{#35199}
2016-04-01 11:08:58 +00:00
hablich
701911f9a0 Revert of Ship --harmony-regexp-exec (patchset #3 id:40001 of https://codereview.chromium.org/1847103002/ )
Reason for revert:
breaks some chromium browser_tests: https://codereview.chromium.org/1848233002/

Original issue's description:
> Ship --harmony-regexp-exec
>
> There are still spec compliance fixes to be made, but this patch
> turns the flag to shipping to make sure we get more canary coverage
> and performance data from the bots.
>
> BUG=v8:4602
> LOG=y
>
> Committed: https://crrev.com/84492bb66b340f4e0df36758e98fddbb10b5d1dc
> Cr-Commit-Position: refs/heads/master@{#35181}

TBR=littledan@chromium.org,adamk@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4602

Review URL: https://codereview.chromium.org/1852673003

Cr-Commit-Position: refs/heads/master@{#35198}
2016-04-01 10:48:20 +00:00
bmeurer
10b365abff [turbofan] Introduce JSToInteger and JSToLength operators.
These operators will be easier to optimize, and we can remove some
unnecessary clutter from the intrinsic lowering.

Drive-by-cleanup: Some alpha sorting of the type conversion operator
business.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/1848243002

Cr-Commit-Position: refs/heads/master@{#35197}
2016-04-01 10:30:03 +00:00
jochen
cb7aa79b12 Expose a lower bound of malloc'd memory via heap statistics
We expect that the majority of malloc'd memory held by V8 is allocated
in Zone objects. Introduce an Allocator class that is used by Zones to
manage memory, and allows for querying the current usage.

BUG=none
R=titzer@chromium.org,bmeurer@chromium.org,jarin@chromium.org
LOG=n
TBR=rossberg@chromium.org

Review URL: https://codereview.chromium.org/1847543002

Cr-Commit-Position: refs/heads/master@{#35196}
2016-04-01 10:01:56 +00:00