Commit Graph

29762 Commits

Author SHA1 Message Date
yangguo
7936f40562 [d8] reset global handle on exit.
R=neis@chromium.org
BUG=v8:4887
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35270}
2016-04-05 16:23:13 +00:00
cbruni
823224f3ee [elements] Fix length bounds precheck for Array.prototype.concat
BUG=chromium:599414
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35269}
2016-04-05 15:35:27 +00:00
ssanfilippo
9e39a9fff1 Remove snapshot log parsing and option from tools.
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35268}
2016-04-05 15:31:32 +00:00
jyan
34c4e27e91 S390: Fix LA overflow in return sequence
In test regress-492.js, the return sequence require to adjust sp to
sp + 513 * 8 bytes, which causes overflow of the displacement in LA.

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

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

Cr-Commit-Position: refs/heads/master@{#35267}
2016-04-05 15:16:50 +00:00
yangguo
6a604c8142 [serializer] make snapshot reproducible.
R=ulan@chromium.org
BUG=v8:4886
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35266}
2016-04-05 14:34:25 +00:00
mstarzinger
b527ec119f [compiler] Ensure feedback vector before compiling.
This makes sure the type feedback vector is allocated and installed on
the SharedFunctionInfo before any of the compilers are being called.
Note that this now allows for an object state where a function is not
compiled but has a valid feedback vector is installed. This is working
as intended and supported by the rest of the system.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35265}
2016-04-05 14:30:39 +00:00
jochen
e1674a24ca Revert of [api] Restrict Template::Set to take templates or primitive values (patchset #1 id:1 of https://codereview.chromium.org/1839983002/ )
Reason for revert:
Breaks node.js

Original issue's description:
> [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
>
> Committed: https://crrev.com/eebdee8eafa97849cc70c25f3fecf1b075bac248
> Cr-Commit-Position: refs/heads/master@{#35244}

TBR=verwaest@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#35264}
2016-04-05 14:15:36 +00:00
mstarzinger
0ce296f180 [interpreter] Rely on SharedFunctionInfo in UseIgnition.
This makes sure the SharedFunctionInfo is available whenever we evaluate
the UseIgnition predicate. This makes sure we can apply filters properly
even when the interpreter causes eager compilation (instead of lazy).

R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35263}
2016-04-05 14:08:00 +00:00
jyan
99eea1e109 Disable Bytecodes.DecodeBytecodeAndOperands for big-endian.
Because the operands in this test are encoded in little endian format.
Therefore, their bytes are all swapped when reading them on big endian machine.

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

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

Cr-Commit-Position: refs/heads/master@{#35262}
2016-04-05 13:27:18 +00:00
mlippautz
3f92137209 [heap] Non-contiguous young generation
This change removes the large contiguous backing store from the young generation
and replaces it regular pages.

We keep a pool of pages that are committed/uncommitted to avoid creating virtual
memory maps during growing and shrinking.

BUG=chromium:581412
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35261}
2016-04-05 13:12:30 +00:00
machenbach
cf951dfb37 Revert of Correctly annotate eval origin. (patchset #4 id:60001 of https://codereview.chromium.org/1854713002/ )
Reason for revert:
[Sheriff] Crashes a layout test:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/5855

Original issue's description:
> Correctly annotate eval origin.
>
> There were a couple of issues with it:
> - interpreter is not supported
> - the source position was just accidentally correct for full-codegen
> - the eval origin could have been cached
>
> Also fixes a few other places to use AbstractCode.
>
> R=mstarzinger@chromium.org
>
> Committed: https://crrev.com/2f3a171adc9e620c2235bf0562145b9d4eaba66d
> Cr-Commit-Position: refs/heads/master@{#35257}

TBR=mstarzinger@chromium.org,yangguo@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#35260}
2016-04-05 13:01:17 +00:00
jarin
4142bc6bc1 [turbofan] Restrict types in load elimination.
In simplified numbering, we make sanity checks based on types (e.g.,
NumberSubtract should take numbers as inputs), but this can be
violated if optimization passes make types less precise.

In this CL, we fix load elimination to make sure that types are
smaller in the store -> load elimination by taking an intersection
of the load's type with the store value's type and inserting a guard
with that type. Note that the load type comes from type feedback, so
it can be disjoint from the stored value type (in that case, this
must be dead code because the map chack for the load should prevent
us from using the stored value).

BUG=chromium:599412
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35259}
2016-04-05 12:30:14 +00:00
yangguo
2e191cee8a [debugger] ScopeIterator should unwrap debug-evaluate contexts.
If we use ScopeIterator inside a debug-evaluate call, we may iterate
over a debug-evaluate context that we created for the debug-evaluate
call. This may trigger assertions.

The solution is to have the ScopeIterator hide debug-evaluate contexts
by unwrapping it if it comes across any.

R=cbruni@chromium.org
BUG=chromium:599662
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35258}
2016-04-05 12:08:19 +00:00
yangguo
2f3a171adc Correctly annotate eval origin.
There were a couple of issues with it:
- interpreter is not supported
- the source position was just accidentally correct for full-codegen
- the eval origin could have been cached

Also fixes a few other places to use AbstractCode.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35257}
2016-04-05 11:31:44 +00:00
marija.antic
c9d1668f98 MIPS: [wasm] Implement Int32MulPair operator.
Port 40bdbef975

Implement Int32MulPair operator for MIPS.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35256}
2016-04-05 11:22:08 +00:00
cbruni
47e0a39246 Setting Symbol.length to 0 according to the spec
BUG=v8:4882
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35255}
2016-04-05 10:57:47 +00:00
ssanfilippo
ce033d56dd [Interpreter] Move BytecodeHasHandler() from Interpreter to Bytecodes.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#35254}
2016-04-05 10:06:23 +00:00
ishell
792bf2a093 [crankshaft] Fix environment handling after leaving inlined tail call.
BUG=chromium:537444, v8:4698
LOG=N
TBR=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35253}
2016-04-05 09:43:56 +00:00
yangguo
1354b1bf37 [interpreter] statement position always overwrites earlier positions.
If a statement or expression does not produce any bytecode, it's position
should always be overwritten by a following statement position.

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

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

Cr-Commit-Position: refs/heads/master@{#35252}
2016-04-05 09:14:19 +00:00
neis
4edf16ddd9 Fix treatment of rest pattern in array destructuring.
When seeing a rest pattern, we used to get the remaining elements from the
iterator by calling %concat_iterable_to_array on it.  This was wrong because it
caused an observable [[Get]] for @@iterator (which the iterator may not even
provide).

This CL gets rid of the call to %concat_iterable_to_array and does the iteration
manually in a simple while-loop.  It also gets rid of %concat_iterable_to_array
itself because there aren't any other uses of it.

BUG=v8:4759
LOG=n
R=adamk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#35251}
2016-04-05 08:56:51 +00:00
zhengxing.li
da477bc7e2 [X87] [Crankshaft] Fix DoMathFloor and DoMathRound code generation bug.
The CL #35067 (https://codereview.chromium.org/1830703003) exposed one hidden bug in x87 crankshaft code generation for DoMathFloor and DoMathRound.

  The current DoMathFloor will change the default round mode of x87 FPU and then deoptimized into FC code before the default x87 FPU's round mode was restored.
  This behavior caused several test cases fail as the FC code expected to run under the default x87 FPU's round mode.

  This CL fixed this bug.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35250}
2016-04-05 07:16:11 +00:00
bmeurer
e5724d958b [frames] Also properly deal with TF builtins in OptimizedFrame::GetFunctions().
This was missing from the previous fix.

R=ishell@chromium.org
BUG=chromium:599714
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#35249}
2016-04-05 06:41:20 +00:00
v8-autoroll
0e8b7542a1 Update V8 DEPS.
Rolling v8/base/trace_event/common to c8c8665c2deaf1cc749d9f8e153256d4f67bf1b8

Rolling v8/build/gyp to 4ec6c4e3a94bd04a6da2858163d40b2429b8aad1

Rolling v8/tools/clang to faee82e064e04e5cbf60cc7327e7a81d2a4557ad

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

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

Cr-Commit-Position: refs/heads/master@{#35248}
2016-04-05 06:19:13 +00:00
jyan
99796f040b S390: Fix allocation-site-info.js failure
Mask used in MacroAssembler::TestJSArrayForAllocationMemento was not supposed
to shifted right by 16 bits before loaded in to register r0.

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

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

Cr-Commit-Position: refs/heads/master@{#35247}
2016-04-04 19:51:32 +00:00
bryleun
6beb0690ec S390: Fixed MacroAssembler::ShiftRightArithPair to use SRDA (vs. SRDL)
R=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com,joransiu@ca.ibm.com,

BUG=

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

Cr-Commit-Position: refs/heads/master@{#35246}
2016-04-04 19:31:00 +00:00
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