Commit Graph

649 Commits

Author SHA1 Message Date
rmcilroy
cb29f9cdbc [Interpreter] Add support for cpu profiler logging.
Adds support for cpu profiler logging to the interpreter. Modifies the
the API to be passed AbstractCode objects instead of Code objects, and
adds extra functions to AbstractCode which is required by log.cc and
cpu-profiler.cc.

The main change in sampler.cc is to determine if a stack frame is an
interpreter stack frame, and if so, use the bytecode address as the pc
for that frame. This allows sampling of bytecode functions. This
requires adding support to SafeStackIterator to determine if a frame is
interpreted, which we do by checking the PC against pre-stored addresses
for the start and end of interpreter entry builtins.

Also removes CodeDeleteEvents which are dead code and haven't
been reported for some time.

Still to do is tracking source positions which will be done in a
followup CL.

BUG=v8:4766
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34321}
2016-02-26 11:04:55 +00:00
littledan
227fd1d4ed Ship ES2015 iterator finalization
This patch moves iterator finalization (calling .return() when a
for-of loop exits early) to shipping. The only part of this feature
which is currently known to be missing is destructuring--.return()
should be also be called when destructuring with an array which
does not end in a rest pattern, but it currently does not. The rest
of this feature, including calling .return() from certain builtins,
is implemented.

R=adamk
BUG=v8:3566
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#34307}
2016-02-25 23:16:53 +00:00
mstarzinger
bbd60c5d71 [interpreter] Enable tests on x64-debug that no longer fail.
R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34299}
2016-02-25 16:45:53 +00:00
mattloring
7bc1577a0b Fix iterator (std::vector) invalidation during sampling heap profile retrieval
It is possible for JS objects to be allocated while we are retrieving the
profile. These JS objects can in turn end up getting sampled by the profiler.
Adding these to the profile data structures invalidates the iterators that
are presently in flight. This change prevents such concurrent modifications
from affecting the retrieve operation.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34298}
2016-02-25 16:08:55 +00:00
mstarzinger
6acee6ee59 [interpreter] Make setting of function data more resilient.
This adds explicit setters for the SharedFunctionInfo::function_data
field. Such setters are safer because they allow for explicit checking
of which values are allowed, and they improve readability because the
intended semantics become clear for each call-site. Also fix a cctest
case along the way.

R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34297}
2016-02-25 16:07:24 +00:00
mstarzinger
ee4225fd0f [interpreter] Remove wholesale skipping of strong mode tests.
By now the deprecation of strong mode is far enough along that the
support present in the interpreter matches the support in the other
compilers. Special expectations aren't needed anymore.

R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34293}
2016-02-25 13:50:54 +00:00
mythria
eb358178f8 Revert of [Interpreter] Implements calls through CallICStub in the interpreter. (patchset #15 id:270001 of https://codereview.chromium.org/1688283003/ )
Reason for revert:
It is not a good idea to call CallICStub from the builtin. It might be sensitive to the frame structure. Constructing a internal frame might cause problems. It is much better to inline the code  related to the type feedback vector into the builtin.

Original issue's description:
> [Interpreter] Implements calls through CallICStub in the interpreter.
>
> Calls are implemented through CallICStub to collect type feedback. Adds
> a new builtin called InterpreterPushArgsAndCallIC that pushes the
> arguments onto stack and calls CallICStub.
>
> Also adds two new bytecodes CallIC and CallICWide to indicate calls have to
> go through CallICStub.
>
> MIPS port contributed by balazs.kilvady.
>
> BUG=v8:4280, v8:4680
> LOG=N
>
> Committed: https://crrev.com/20362a2214c11a0f2ea5141b6a79e09458939cec
> Cr-Commit-Position: refs/heads/master@{#34244}

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

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

Cr-Commit-Position: refs/heads/master@{#34252}
2016-02-24 15:16:19 +00:00
mythria
20362a2214 [Interpreter] Implements calls through CallICStub in the interpreter.
Calls are implemented through CallICStub to collect type feedback. Adds
a new builtin called InterpreterPushArgsAndCallIC that pushes the
arguments onto stack and calls CallICStub.

Also adds two new bytecodes CallIC and CallICWide to indicate calls have to
go through CallICStub.

MIPS port contributed by balazs.kilvady.

BUG=v8:4280, v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34244}
2016-02-24 11:01:27 +00:00
machenbach
5108907495 [Ignition] Skip test.
Failed after:
https://codereview.chromium.org/1706343002

TBR=ofrobots@google.com, mattloring@google.com, rmcilroy@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34240}
2016-02-24 09:51:21 +00:00
yangguo
113d303534 [interpreter,debugger] Unskip debug tests for ignition.
TBR=rmcilroy@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34214}
2016-02-23 15:34:48 +00:00
mstarzinger
305a36e0d4 Remove strong mode support from property loads.
R=rossberg@chromium.org,bmeurer@chromium.org,verwaest@chromium.org
BUG=v8:3956
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34067}
2016-02-17 10:30:47 +00:00
rmcilroy
5b2d1956eb [Interpreter] Remove some cctest and mjsunit test skips.
Removes some cctest and mjsunit test skips on Ignition for tests that now pass.

BUG=v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34045}
2016-02-16 18:52:09 +00:00
rmcilroy
84a225d1e4 [Turbofan] Save and restore lr in OutOfLineRecordWrite when frame is elided.
Fixes a bug in Ignition on Arm64 where lr gets trashed in StaContextSlot
which causes the stack walker to get confused and crash.

BUG=v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34016}
2016-02-16 07:49:16 +00:00
oth
e768bcca24 [interpreter] Support for ES6 super keyword.
Adds support for ES6 super keyword and performing loads, stores, and
calls to super class members.

Implements SetHomeObject and enables ThisFunctionVariable.

BUG=v8:4280,v8:4682
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33977}
2016-02-15 08:19:07 +00:00
mstarzinger
81d2819c6e [turbofan] Enable tests for throwing into deopted code.
The tests in question have been disabled because throwing into lazy
deoptimized code was borked. After recent fixes landed these tests
should now pass again.

R=jarin@chromium.org
TEST=cctest/test-run-deopt/DeoptExceptionHandler
BUG=v8:4195
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33937}
2016-02-12 10:50:17 +00:00
rmcilroy
14fa0fa831 [Interpreter] Remove some Ignition skips from mjsunit and cctest
Remove some Ignition skips in mjsunit and cctest, and replace a few
others with fails now that the there is more debugger support.

BUG=v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33932}
2016-02-12 09:35:18 +00:00
rmcilroy
7a5b2339e7 [Interpreter] Fix test-log-stack-tracer for Ignition.
BUG=v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33930}
2016-02-12 08:49:16 +00:00
yangguo
9249890124 [interpreter, debugger] implement bytecode break location iterator.
R=rmcilroy@chromium.org, vogelheim@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33904}
2016-02-11 15:31:20 +00:00
mvstanton
d69ce04d03 Implement symbol @@hasInstance for ES6 instanceof support.
BUG=

Committed: https://crrev.com/5833e8e8a437cd66405784263ccc45e73470fd42
Cr-Commit-Position: refs/heads/master@{#33870}

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

Cr-Commit-Position: refs/heads/master@{#33890}
2016-02-11 11:59:22 +00:00
machenbach
99a58d30d2 Revert of Implement symbol @@hasInstance for ES6 instanceof support. (patchset #2 id:20001 of https://codereview.chromium.org/1683043003/ )
Reason for revert:
[Sheriff] Breaks:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug/builds/1382/

Original issue's description:
> Implement symbol @@hasInstance for ES6 instanceof support.
>
> BUG=
>
> Committed: https://crrev.com/5833e8e8a437cd66405784263ccc45e73470fd42
> Cr-Commit-Position: refs/heads/master@{#33870}

TBR=bmeurer@chromium.org,mvstanton@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/1686123002

Cr-Commit-Position: refs/heads/master@{#33871}
2016-02-10 16:22:01 +00:00
mvstanton
5833e8e8a4 Implement symbol @@hasInstance for ES6 instanceof support.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33870}
2016-02-10 14:34:51 +00:00
mstarzinger
e932c0e788 [interpreter] Enable exception tests that no longer fail.
R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33846}
2016-02-09 13:09:02 +00:00
alph
1b6265eff7 Unflake CPU profiler tests.
Do not rely on elapsed time to collect enough samples.
Use CollectSample API function instead.

Remove checks for extra functions present in a profile, as
there in fact can be lots of native support functions.

BUG=v8:2999
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33822}
2016-02-08 18:12:20 +00:00
mythria
90721a51a3 [Interpreter] Adds support for const/let variables to interpreter.
Adds implementation and tests to support const/let variables in the
interpreter.

BUG=v8:4280,v8:4679
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33819}
2016-02-08 14:14:57 +00:00
mvstanton
3f36e658c8 Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ )
Reason for revert:
Must revert for now due to chromium api natives issues.

Original issue's description:
> Type Feedback Vector lives in the closure
>
> (RELAND: the problem before was a missing write barrier for adding the code
> entry to the new closure. It's been addressed with a new macro instruction
> and test. The only change to this CL is the addition of two calls to
> __ RecordWriteCodeEntryField() in the platform CompileLazy builtin.)
>
> We get less "pollution" of type feedback if we have one vector per native
> context, rather than one for the whole system. This CL moves the vector
> appropriately.
>
> We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
> vector actually lives in the first slot of the literals array (indeed there is
> great commonality between those arrays, they can be thought of as the same
> thing). So we make greater effort to ensure there is a valid literals array
> after compilation.
>
> This meant, for performance reasons, that we needed to extend
> FastNewClosureStub to support creating closures with literals. And ultimately,
> it drove us to move the optimized code map lookup out of FastNewClosureStub
> and into the compile lazy builtin.
>
> The heap change is trivial so I TBR Hannes for it...
> Also, Yang has had a look at the debugger changes already and approved 'em. So he is TBR style too.
> And Benedikt reviewed it as well.
>
> TBR=hpayer@chromium.org, yangguo@chromium.org, bmeurer@chromium.org
>
> BUG=
>
> Committed: https://crrev.com/bb31db3ad6de16f86a61f6c7bbfd3274e3d957b5
> Cr-Commit-Position: refs/heads/master@{#33741}

TBR=bmeurer@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/1670813005

Cr-Commit-Position: refs/heads/master@{#33766}
2016-02-05 10:48:35 +00:00
alph
271f68ba02 Fix crash in SafeStackFrameIterator related to native frames entry/exit
There might be several ExternalCallbackScope's created
during the native callback. Remove the assert that is not
aligned with that.

Moreover this iterator must work for any kind of
stacks including corrupted ones.

BUG=v8:4705
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33751}
2016-02-04 20:00:48 +00:00
oth
1b436ae168 [interpreter] Support for ES6 class literals.
Port of class literal support from the
ast-graph-builder implementation.

R=rmcilroy@chromium.org,mstarzinger@chromium.org
BUG=v8:4280,v8:4682
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33746}
2016-02-04 17:47:38 +00:00
mstarzinger
d3ac2450ab [interpreter] Enable exception test that no longer fails.
R=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33745}
2016-02-04 17:32:04 +00:00
mvstanton
bb31db3ad6 Type Feedback Vector lives in the closure
(RELAND: the problem before was a missing write barrier for adding the code
entry to the new closure. It's been addressed with a new macro instruction
and test. The only change to this CL is the addition of two calls to
__ RecordWriteCodeEntryField() in the platform CompileLazy builtin.)

We get less "pollution" of type feedback if we have one vector per native
context, rather than one for the whole system. This CL moves the vector
appropriately.

We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
vector actually lives in the first slot of the literals array (indeed there is
great commonality between those arrays, they can be thought of as the same
thing). So we make greater effort to ensure there is a valid literals array
after compilation.

This meant, for performance reasons, that we needed to extend
FastNewClosureStub to support creating closures with literals. And ultimately,
it drove us to move the optimized code map lookup out of FastNewClosureStub
and into the compile lazy builtin.

The heap change is trivial so I TBR Hannes for it...
Also, Yang has had a look at the debugger changes already and approved 'em. So he is TBR style too.
And Benedikt reviewed it as well.

TBR=hpayer@chromium.org, yangguo@chromium.org, bmeurer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33741}
2016-02-04 15:41:23 +00:00
yangguo
86164a2573 [interpreter, debugger] implement debugger statement.
R=mstarzinger@chromium.org, rmcilroy@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33739}
2016-02-04 15:07:06 +00:00
mythria
a318cb2f5d [Interpreter] Removes skips for tests that are no longer crashing with ignition.
Removes skips for two tests in cctest that are no longer crashing with ignition.

BUG=v8:4680
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33732}
2016-02-04 13:36:05 +00:00
rmcilroy
1ce720f2a4 [Interpreter] Add explicit StackCheck bytecodes on function entry and back branches.
Moves the stack check from the function entry trampoline to instead be
after function activation using an explicit StackCheck bytecode. Also
add stack checks on back edges of loops.

BUG=v8:4280,v8:4678
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33730}
2016-02-04 12:33:48 +00:00
machenbach
1b369e9607 [Ignition] Skip crashing test on arm64.
Crashes after https://codereview.chromium.org/1667673003

BUG=v8:4280
LOG=N
NOTRY=true
TBR=rmcilroy@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33727}
2016-02-04 11:04:44 +00:00
yangguo
876d35e228 [interpreter] add source positions for call and call-new.
This change adds the basic infrastructure to record source
positions for bytecode.

R=rmcilroy@chromium.org, vogelheim@chromium.org
BUG=v8:4960
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33726}
2016-02-04 10:50:18 +00:00
mythria
9aa612cb2c [Interpreter] Adds support for rest parameters to interpreter.
Adds implementation and tests for rest parameters to interpreter.

BUG=v8:4280,v8:4683
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33722}
2016-02-04 10:03:17 +00:00
adamk
8a4a5bf9e0 Remove flags for ES2015 features shipped in M48
This removes --harmony-completion, --harmony-concat-spreadable, and
--harmony-tolength and moves the appropriate tests from harmony/ to es6/.

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

Cr-Commit-Position: refs/heads/master@{#33712}
2016-02-03 20:51:46 +00:00
mythria
ee4efed740 [Interpreter] Skips a failing test on arm64.
Skips cctest/test-heap/NoWeakHashTableLeakWithIncrementalMarking
that is crashing on arm64.

BUG=v8:4280
LOG=N
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#33708}
2016-02-03 15:31:32 +00:00
mythria
8d3e1ca357 [Interpreter] Adds support for with statement to interpreter.
Adds implementation and tests for with statement to interprter.

BUG=v8:4280,v8:4684
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33705}
2016-02-03 14:41:37 +00:00
mstarzinger
e814457675 [interpreter] Clear pending message object on handler entry.
This clears the currently pending message object whenever a try-block or
a finally-block is being entered in interpreted code. The intention is
to avoid memory leaks introduced by the message object. Also the message
object is being restored when a finally-block exits.

R=rmcilroy@chromium.org
TEST=cctest/test-heap/MessageObjectLeak
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33704}
2016-02-03 13:52:46 +00:00
akos.palfi
7991c22695 Add wasm module tests to skip for big-endian.
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#33679}
2016-02-02 12:48:36 +00:00
rmcilroy
e66ef888aa [Interpreter] Mark flaky Ignition tests as PASS, FAIL.
Fixes issues with linux64_debug and arm64_sim bots.

BUG=v8:4280,v8:4680
LOG=N
TBR=machenbach@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#33672}
2016-02-02 11:20:31 +00:00
rmcilroy
a37158393e [Interpreter] Group ignition cctest failures by error.
Also changes SKIP to FAIL to ensure we know when we have fixed a test.

BUG=v8:4280,v8:4680
LOG=N
CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_arm64_dbg,v8_linux_arm_dbg

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

Cr-Commit-Position: refs/heads/master@{#33665}
2016-02-02 09:58:38 +00:00
rmcilroy
d81edba721 [Interpreter] Set bytecode array in Runtime_SetCode.
Set the bytecode array correctly in Runtime_SetCode.
This fixes issues with building the snapshot with ignition enabled.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33638}
2016-02-01 12:13:21 +00:00
bmeurer
cb9b801069 [builtins] Make Math.max and Math.min fast by default.
The previous versions of Math.max and Math.min made it difficult to
optimize those (that's why we already have custom code in Crankshaft),
and due to lack of ideas what to do about the variable number of
arguments, we will probably need to stick in special code in TurboFan
as well; so inlining those builtins is off the table, hence there's no
real advantage in having them around as "not quite JS" with extra work
necessary in the optimizing compilers to still make those builtins
somewhat fast in cases where we cannot inline them (also there's a
tricky deopt loop in Crankshaft related to Math.min and Math.max, but
that will be dealt with later).

So to sum up: Instead of trying to make Math.max and Math.min semi-fast
in the optimizing compilers with weird work-arounds support %_Arguments
%_ArgumentsLength, we do provide the optimal code as native builtins
instead and call it a day (which gives a nice performance boost on some
benchmarks).

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33582}
2016-01-28 13:07:09 +00:00
mstarzinger
8bfa1ea33a [interpreter] Translate exception handlers into graph.
This translates the exception handler table attached to a bytecode array
correctly into exceptional projections within the TurboFan graph. We
perform an abstract simulation of handlers that are being entered and
exited by the bytecode iteration to track the correct handler for each
node.

R=oth@chromium.org
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33580}
2016-01-28 12:18:24 +00:00
mvstanton
a702785156 Revert of Type Feedback Vector lives in the closure (patchset #2 id:20001 of https://codereview.chromium.org/1642613002/ )
Reason for revert:
Bug: failing to use write barrier when writing code entry into closure.

Original issue's description:
> Reland of Type Feedback Vector lives in the closure
>
> (Fixed a bug found by nosnap builds.)
>
> We get less "pollution" of type feedback if we have one vector per native
> context, rather than one for the whole system. This CL moves the vector
> appropriately.
>
> We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
> vector actually lives in the first slot of the literals array (indeed there is
> great commonality between those arrays, they can be thought of as the same
> thing). So we make greater effort to ensure there is a valid literals array
> after compilation.
>
> This meant, for performance reasons, that we needed to extend
> FastNewClosureStub to support creating closures with literals. And ultimately,
> it drove us to move the optimized code map lookup out of FastNewClosureStub
> and into the compile lazy builtin.
>
> The heap change is trivial so I TBR Hannes for it...
>
> TBR=hpayer@chromium.org
> BUG=
>
> Committed: https://crrev.com/d984b3b0ce91e55800f5323b4bb32a06f8a5aab1
> Cr-Commit-Position: refs/heads/master@{#33548}

TBR=bmeurer@chromium.org,yangguo@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/1643533003

Cr-Commit-Position: refs/heads/master@{#33556}
2016-01-27 15:05:38 +00:00
mvstanton
d984b3b0ce Reland of Type Feedback Vector lives in the closure
(Fixed a bug found by nosnap builds.)

We get less "pollution" of type feedback if we have one vector per native
context, rather than one for the whole system. This CL moves the vector
appropriately.

We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
vector actually lives in the first slot of the literals array (indeed there is
great commonality between those arrays, they can be thought of as the same
thing). So we make greater effort to ensure there is a valid literals array
after compilation.

This meant, for performance reasons, that we needed to extend
FastNewClosureStub to support creating closures with literals. And ultimately,
it drove us to move the optimized code map lookup out of FastNewClosureStub
and into the compile lazy builtin.

The heap change is trivial so I TBR Hannes for it...

TBR=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33548}
2016-01-27 12:53:42 +00:00
mstarzinger
e3014ad848 [interpreter] Fix BytecodeGraphBuilder for disabled deopt.
This ensures that the BytecodeGraphBuilder can generate correct graphs
even when deoptimization has not been enabled. This configuration is not
enabled in production, and we might eventually decide to deprecate it
for good. Until then, this is a quick fix.

R=jarin@chromium.org
TEST=cctest/test-pipeline

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

Cr-Commit-Position: refs/heads/master@{#33545}
2016-01-27 12:08:27 +00:00
mvstanton
e2e7dc32ef Revert of Type Feedback Vector lives in the closure (patchset #12 id:260001 of https://codereview.chromium.org/1563213002/ )
Reason for revert:
FAilure on win32 bot, need to investigate webkit failures.

Original issue's description:
> Type Feedback Vector lives in the closure
>
> We get less "pollution" of type feedback if we have one vector per native
> context, rather than one for the whole system. This CL moves the vector
> appropriately.
>
> We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
> vector actually lives in the first slot of the literals array (indeed there is
> great commonality between those arrays, they can be thought of as the same
> thing). So we make greater effort to ensure there is a valid literals array
> after compilation.
>
> This meant, for performance reasons, that we needed to extend
> FastNewClosureStub to support creating closures with literals. And ultimately,
> it drove us to move the optimized code map lookup out of FastNewClosureStub
> and into the compile lazy builtin.
>
> The heap change is trivial so I TBR Hannes for it...
>
> TBR=hpayer@chromium.org
>
> BUG=
>
> Committed: https://crrev.com/a5200f7ed4d11c6b882fa667da7a1864226544b4
> Cr-Commit-Position: refs/heads/master@{#33518}

TBR=bmeurer@chromium.org,akos.palfi@imgtec.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/1632993003

Cr-Commit-Position: refs/heads/master@{#33520}
2016-01-26 15:02:29 +00:00
mvstanton
a5200f7ed4 Type Feedback Vector lives in the closure
We get less "pollution" of type feedback if we have one vector per native
context, rather than one for the whole system. This CL moves the vector
appropriately.

We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The
vector actually lives in the first slot of the literals array (indeed there is
great commonality between those arrays, they can be thought of as the same
thing). So we make greater effort to ensure there is a valid literals array
after compilation.

This meant, for performance reasons, that we needed to extend
FastNewClosureStub to support creating closures with literals. And ultimately,
it drove us to move the optimized code map lookup out of FastNewClosureStub
and into the compile lazy builtin.

The heap change is trivial so I TBR Hannes for it...

TBR=hpayer@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33518}
2016-01-26 14:21:08 +00:00
mstarzinger
fd5505ca15 [interpreter] Fix how 'throw' is translated to TurboFan.
This fixes the translation of 'throw' bytecodes to TurboFan graphs. The
correct runtime function is being used now, also the frame states are
attached to the correct nodes now.

R=mythria@chromium.org
TEST=cctest/test-run-jsexceptions/ThrowMessageIndirectly
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33513}
2016-01-26 13:23:44 +00:00
rmcilroy
befe61fa3e [Interpreter] Add native function literal support.
Adds support for calling native function literals. Moves the logic for building
the native function's SharedFunctionInfo out of full-codegen into compiler.cc
to allow it to be shared between fullcodegen and Ignition.

BUG=v8:4686
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33510}
2016-01-26 11:30:46 +00:00
mstarzinger
b707ca4b54 [interpreter] Deprecate --ignition-fallback-on-catch flag.
The current support for try-catch in the interpreter can handle most of
the cases appearing in our test suite. Also the flag in question did not
detect try-finally constructs. This removes the flag and instead extends
the test expectations.

R=rmcilroy@chromium.org
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33494}
2016-01-25 15:57:51 +00:00
rmcilroy
9602f4b2d2 [Interpreter] Remove skips which have been fixed with Exceptions and For...Of.
BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33489}
2016-01-25 12:23:38 +00:00
mstarzinger
00b0a53685 [interpreter] Re-enable some tests that pass by now.
These tests have been disabled while support for try-finally was work in
progress. By now control flow is connected properly and the tests pass.

R=oth@chromium.org
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33474}
2016-01-22 17:11:17 +00:00
mstarzinger
0b3066b8f5 [interpreter] First implementation of stack unwinding.
This implements a first prototype of stack unwinding for interpreted
frames. The unwinding machinery performs a range-based lookup in the
given handler table and potentially continues dispatching at the handler
offset. Note that this does not yet correctly restore the context to the
correct value when the handler is being entered.

R=rmcilroy@chromium.org,oth@chromium.org
BUG=v8:4674
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#33414}
2016-01-20 18:10:40 +00:00
ivica.bogosavljevic
e68ffc767d Add cctest/test-run-wasm-js/Run_JSSelect_0...6 to skip list for big-endian
Newly added tests cctest/test-run-wasm-js/Run_JSSelect_0...6 cause failures
on MIPS bigendian and are skipped until a solution is found.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33387}
2016-01-19 15:42:58 +00:00
rmcilroy
43c02e49d8 [Interpreter] Change ignition fallback flag to only fallback on catch, not eval.
Now that we support eval in Ignition, remove the fallback for eval checks
and make the flag only fallback on catch blocks.

BUG=v8:4280,v8:4676
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33384}
2016-01-19 11:33:50 +00:00
rmcilroy
609e754193 [Interpreter] Skip test-heap/Regress538257 on Arm64 Ignition due to flake.
BUG=v8:4280
LOG=N
TBR=machenbach@chromium.org
NOTRY=TRUE

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

Cr-Commit-Position: refs/heads/master@{#33337}
2016-01-15 16:04:56 +00:00
rmcilroy
be2210bcc4 [Interpreter] Remove Ignition skips fixed by 48a3227b
Remove ignition skips which are fixed by 48a3227b7d.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33322}
2016-01-15 11:26:24 +00:00
mbrandy
04f1759522 Skip failing wasm tests on platforms with function descriptors.
Temporarily disable until solution is implemented.

R=titzer@chromium.org, bradnelson@chromium.org, ahaas@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33308}
2016-01-14 17:57:40 +00:00
mbrandy
0c1430ac2b Additional 64-bit Wasm tests to skip list for big-endian.
R=titzer@chromium.org, hablich@chromium.org, paul.lind@imgtec.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#33306}
2016-01-14 17:28:04 +00:00
neis
96ec06efb0 Reland of "[Proxies] Ship Proxies + Reflect."
Failing chromium layout tests were marked for rebaselining.

Addition to original CL (https://codereview.chromium.org/1580693002/):
Skip some more ignition tests.

BUG=v8:3931,v8:1543
LOG=Y
R=hablich@chromium.org
CC=verwaest@chromium.org, rossberg@chromium.org,rmcilroy, oth

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

Cr-Commit-Position: refs/heads/master@{#33244}
2016-01-12 17:19:52 +00:00
rmcilroy
9b52c52845 [Interpreter] Add StackCheck node to BytecodeGraphBuilder graphs.
This fixes a number of crashes where other code was assuming there would
be at least one deopt point in all optimized functions (i.e., the
StackCheck) but we weren't producing any.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33243}
2016-01-12 17:08:27 +00:00
paul.lind
37b4f2879e Add Wasm tests to skip list for big-endian.
Get the BE bots green in the short term.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#33197}
2016-01-11 10:19:17 +00:00
bmeurer
61f157370d [test] Remove obsolete entries from cctest status file.
R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33156}
2016-01-07 14:15:07 +00:00
rmcilroy
af95a4dd3e [Interpreter] Add Ignition whitelist for cctests.
Adds an ignition whitelist for cctests.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#33096}
2016-01-04 21:01:34 +00:00
bmeurer
84a88a1bd0 [turbofan] Port Crankshaft's weak objects mechanism to TurboFan.
Use the same mechanism that is already available for Crankshaft to not
leak all kinds of things in TurboFan generated code. Long-term we will
support weakness in a better way, but for now, just use the
infrastructure that is already in place to avoid memory leaks via
TurboFan generated code.

R=jarin@chromium.org, ulan@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33073}
2016-01-04 07:12:35 +00:00
Michael Hablich
df7fe6af21 [Test] Mark flaky test cctest/test-lockers/LockAndUnlockDifferentIsolates for real
BUG=v8:4642
LOG=N
NOTRY=true
TBR=machenbach@chromium.org,mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33025}
2015-12-23 12:31:50 +00:00
hablich
2cea136a87 [Test] Mark flaky test cctest/test-lockers/LockAndUnlockDifferentIsolates
BUG=v8:4642
LOG=N
NOTRY=true
R=machenbach@chromium.org,mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#33021}
2015-12-23 10:03:18 +00:00
Hannes Payer
9a5650ac9e Remove obsolete PrototypeTransitionClearing cctest.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32795}
2015-12-11 12:53:09 +00:00
Ben L. Titzer
69cf31f0b7 Disable test-heap/PrototypeTransitionClearing
R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32792}
2015-12-11 12:21:09 +00:00
machenbach
8452a75315 [test] Skip flaky test.
BUG=v8:4358
LOG=n
TBR=yangguo@chromium.org, hablich@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32282}
2015-11-25 15:23:49 +00:00
machenbach
87177738ce [test] Skip flaky test for turbofan on windows.
BUG=v8:4573
LOG=n
TBR=mstarzinger@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32276}
2015-11-25 14:23:08 +00:00
yangguo
436103e077 Skip test-heap/TestSizeOfRegExpCode on mips64.
R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32008}
2015-11-16 14:36:32 +00:00
mbrandy
f83b8a61cf Skip test-run-machops/RunComputedCodeObject on AIX and PPC64BE.
This test, as written, is invalid on platforms which use function
descriptors.

See https://codereview.chromium.org/1377423002/ for background.

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

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

Cr-Commit-Position: refs/heads/master@{#31967}
2015-11-12 19:10:32 +00:00
chunyang.dai
5736eb0ccb X87: Change the test case for X87 float operations
The CL https://codereview.chromium.org/1409013004 added / changed some test cases.
       Some new test cases use CheckFloatEq(...) and CheckDoubleEq(...) function for result
       check. When GCC compiling the CheckFloatEq() and CheckDoubleEq() function, those inlined
       functions has different behavior comparing with GCC ia32 build and x87 build. The major
       difference is sse float register still has single precision rounding semantic. While X87
       register has no such rounding precsion semantic when directly use register value. The V8
       turbofan JITTed has exactly same result in both X87 and IA32 port.

       So we add the following sentence to do type case to keep the same precision.
          float expect = *i * *j; // *i + *j, etc.

       For test case "RunFloat64MulAndFloat64Add1 / RunFloat64MulAndFloat64Add2 / RunFloat64MulAndFloat64Sub1
       / RunFloat64MulAndFloat64Sub2", the expected result calcaulated by GCC has difference precsion
       when comparing with V8 turbofan result for X87 platform. (Turbofan X87 result is the same as
       IA32 GCC and IA32 Turbofan). So we have to disable those four cases for X87 port.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#31808}
2015-11-05 00:15:30 +00:00
bmeurer
30aca03ad1 [turbofan] Implement the call protocol properly for direct calls.
The callees are expected to properly set the number of actual
arguments passed to the callee, which is now represented correctly
in the TurboFan graphs by a new Parameter right before the context
Parameter.  Currently this is only being used for outgoing calls.

Note that this requires disabling two of the TF code stub tests,
because of the JavaScript graphs are not automagically compatible
with abitrary (incoming) code stub interface descriptors.  If we
want to support JS code stubs at all, then we need to find a sane
way to feed in this information.

Drive-by-fix: Don't insert a direct call to a classConstructor.

R=mstarzinger@chromium.org
BUG=v8:4413, v8:4428
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31789}
2015-11-04 14:08:59 +00:00
chunyang.dai
5978b926c6 For some platform such as X87, Crankshaft and Turbofan needs to use different
register configurations currently. This CL provides a mechanism so that
    optimizing compilers can select different Register Configuration.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#31476}
2015-10-22 13:24:49 +00:00
mstarzinger
32ab65e9ea [turbofan] Re-enable debugger tests that no longer fail.
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#31420}
2015-10-20 15:32:20 +00:00
bmeurer
58befc9b81 [test] Differentiate between exhaustive and default testing variants.
Review URL: https://codereview.chromium.org/1402353006

Cr-Commit-Position: refs/heads/master@{#31409}
2015-10-20 13:16:51 +00:00
Benedikt Meurer
063e2316d7 Revert "[turbofan] Stage --turbo-inlining behind --turbo flag." and "[turbofan] Skip more tests that fail with --turbo-inlining."
This reverts commit 019f9408dc,
6ed05f44af and
e34c343d2a.

TBR=mstarzinger@chromium.org
BUG=v8:4493
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31393}
2015-10-20 06:23:02 +00:00
mstarzinger
e34c343d2a [turbofan] Stage --turbo-inlining behind --turbo flag.
This stages the general purpose inlining mechanism in TurboFan and also
disables the remaining tests that still fail. We do this to get test
coverage early and to avoid regressing inlining as we go along.

R=bmeurer@chromium.org
BUG=v8:4493
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31386}
2015-10-20 03:54:12 +00:00
machenbach
366dc81143 [Swarming] Presort tests - slowest first.
Swarming won't support an incremental data file. By just
sorting the lowest hanging fruits to the beginning we
already get a big bang for the buck (>80% of the improvement
we get otherwise).

This will require semi-regular manual updates of the
slowest tests.

BUG=chromium:535160
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#31061}
2015-10-01 19:19:17 +00:00
dusan.m.milosavljevic
8bd431de92 MIPS64: Add big-endian support for mips64.
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#31011}
2015-09-29 17:23:55 +00:00
mlippautz
277795e28f [heap,cctest] Fix CodeRange tests that use AllocateRawMemory directly.
* Enforce invariants on the way.
* Unmark flaky CodeRange test.

BUG=v8:4141
BUG=v8:3005
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#30524}
2015-09-01 18:39:32 +00:00
Hannes Payer
9a3327adad Don't explicitly tear down code range in cctest/test-alloc/CodeRange to avoid double-free.
BUG=v8:4141
LOG=n
R=mlippautz@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#30371}
2015-08-26 09:28:37 +00:00
machenbach
53fbbf0296 [Sheriff] Mark test as flaky.
BUG=v8:4141
LOG=n
NOTRY=true
TBR=yangguo@chromium.org, vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29972}
2015-08-03 11:42:10 +00:00
mvstanton
04a7123ae8 Bugfix: CCTest test-func-name-inference/InConstructor is broken
BUG=v8:4331
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29927}
2015-07-30 10:43:16 +00:00
yangguo
67efca8be6 Add test for referring function name for classes.
R=mvstanton@chromium.org
BUG=v8:4333
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29922}
2015-07-30 09:21:20 +00:00
yangguo
a67f31c48c Speed up cctest/test-debug/DebugBreakLoop.
R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#29918}
2015-07-30 09:11:46 +00:00
mvstanton
d2e815f15b Bugfix: Incorrect type feedback vector structure on recompile.
Scoping rules are different on recompile vis-a-vis global loads.

BUG=chromium:514526
LOG=y
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#29896}
2015-07-28 14:03:10 +00:00
machenbach
d12e3232e9 [test] Skip slow test in novfp3 mode.
TBR=yangguo@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#29894}
2015-07-28 09:54:14 +00:00
akos.palfi
b4275a70eb [turbofan] Add CalleeSavedFPRegisters to CallDescriptor.
This change makes possible to save and restore the FP registers
in the Prologue and Return parts for the CallAddress kind functions.

TEST=test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32,
     test-simplified-lowering/RunNumberMultiply_TruncatingToUint32

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

Cr-Commit-Position: refs/heads/master@{#29378}
2015-06-30 13:22:50 +00:00
yangguo
d7f8e611a5 Increase code space allowance for first page size.
This has become necessary as we have more experimental natives
that run after deserializing from the snapshot.

R=hpayer@chromium.org
BUG=v8:4200
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29367}
2015-06-30 07:48:34 +00:00
littledan
40d01b57d9 Mark SizeOfFirstPageIsLargeEnough failing on mips64
The failure was been triggered by turning on --harmony-arrays,
maybe because code size was increased or code was added later
in the bootstrap process. Because it doesn't look like a bug
in anything guarded by --harmony-arrays directly, I'd suggest
shipping the flag and disabling the test on the architectures
where it's been observed to fail. It's already disabled on arm64
and this patch disables it on mips64 as well.

BUG=v8:4200
LOG=N
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#29361}
2015-06-30 00:44:52 +00:00
dusan.milosavljevic
0ca811f3dd MIPS: Update cctest status file for mips[be].
Enable skipped test-api/RequestInterruptTestWith* after:
https://codereview.chromium.org/1220443002/

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#29353}
2015-06-29 16:11:17 +00:00
littledan
325fbd0e24 Re-ship Harmony Array/TypedArray methods
Turning the --harmony-array flag on has been delayed behind
unrelated test failures. Now that those tests are disabled,
land the changes.

This patch fixes WebKit tests based on the new change.

R=adamk
LOG=Y
BUG=v8:3578
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#29209}
2015-06-23 00:41:58 +00:00
machenbach
a002cbd743 Revert of Ship Harmony Array/TypedArray methods (patchset #6 id:100001 of https://codereview.chromium.org/1187543003/)
Reason for revert:
[Sheriff] Breaks gcstress and mac asan:
http://build.chromium.org/p/client.v8/builders/V8%20GC%20Stress%20-%203/builds/3896
http://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/1774

Original issue's description:
> Ship Harmony Array/TypedArray methods
>
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
> BUG=v8:3578
> LOG=Y
> R=adamk
>
> Committed: https://crrev.com/7142b0d211b732e1c119fded80f43fbbd9cea0f8
> Cr-Commit-Position: refs/heads/master@{#29170}

TBR=adamk@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3578

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

Cr-Commit-Position: refs/heads/master@{#29171}
2015-06-20 07:25:27 +00:00
littledan
7142b0d211 Ship Harmony Array/TypedArray methods
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
BUG=v8:3578
LOG=Y
R=adamk

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

Cr-Commit-Position: refs/heads/master@{#29170}
2015-06-20 00:02:02 +00:00
mstarzinger
9e7732c517 Reenable some cctest tests that no longer fail.
R=jochen@chromium.org,jarin@chromium.org
TEST=cctest

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

Cr-Commit-Position: refs/heads/master@{#29092}
2015-06-17 14:56:03 +00:00
chunyang.dai
ebb0f9e52e X87: enable the X87 turbofan support.
This patch includes the following changes.
     1, Enable the turbofan backend support for X87 platform. It depends on previous CL: 3fdfebd26.
     2, Enable the test cases which are disabled because turbofan for X87 was not enabled.

BUG=v8:4135
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#29049}
2015-06-16 11:23:19 +00:00
paul.lind
18f4203577 MIPS: Skip test-heap/TestSizeOfRegExpCode
After https://codereview.chromium.org/1180433003 the code-size exceeeds
the limit for MIPS. We have some optimizations in place for MIPS64 that
will be ported back to MIPS, and will investigate other code-size
improvements so we can re-enable this test.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28913}
2015-06-10 17:47:31 +00:00
mstarzinger
8f4d9a0a1e [turbofan] Allow ReplaceWithValue to kill control.
This allows any AdvancedReducer to remove exception projections from
graphs. This is the common case when JS-operators are being replaced
with pure values. The old NodeProperties::ReplaceWithValue is being
deprecated in favor of AdvancedReducer::ReplaceWithValue.

R=titzer@chromium.org
TEST=unittests/AdvancedReducerTest

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

Cr-Commit-Position: refs/heads/master@{#28810}
2015-06-05 12:02:09 +00:00
machenbach
9c5b23756f [test] Mark slow tests on msan.
TBR=svenpanne@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28611}
2015-05-26 07:55:27 +00:00
machenbach
f192f4cadd [test] Mark test as flaky.
TBR=yangguo@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28249}
2015-05-06 07:34:01 +00:00
akos.palfi
2cdd74b3ae MIPS: Skip test-simplified-lowering/RunNumberDivide_2_TruncatingToUint32.
This test fails on board, temporarily skip failing test until we resolve this issue.

NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28201}
2015-05-04 14:14:36 +00:00
yangguo
0327f8de2e Disable stack trace preprocessing.
This has to wait until issue 4065 has been fixed.

R=ulan@chromium.org
BUG=v8:2340, v8:4065, chromium:482312
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28175}
2015-04-30 15:04:25 +00:00
machenbach
38a8d369b7 [test] Skip tests on msan.
NOTRY=true
BUG=chromium:425187
LOG=n
TBR=Sven Panne, titzer

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

Cr-Commit-Position: refs/heads/master@{#28122}
2015-04-29 07:19:59 +00:00
titzer
da1f8d6399 Disable test-run-jsexceptions for nosnap builds.
R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28069}
2015-04-27 11:18:14 +00:00
fedor
1f85559a69 api: introduce SealHandleScope
When debugging Handle leaks in io.js we found it very convenient to be
able to Seal some specific (root in our case) scope to prevent Handle
allocations in it, and easily find leakage.

R=yangguo
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27766}
2015-04-10 23:17:09 +00:00
mstarzinger
7196ea72c8 [crankshaft] Fix interceptor shadowing constant global property.
This makes sure Crankshaft respects interceptors in the global object
even when they shadow a constant global property.

R=verwaest@chromium.org
TEST=cctest/test-api-interceptors/PrePropertyHandler

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

Cr-Commit-Position: refs/heads/master@{#27733}
2015-04-10 08:30:44 +00:00
mstarzinger
63eeab12eb Make TestInternalWeakLists more robust against flags.
This makes some tests in test-heap.cc more robust against flags, now
that top-level code can be optimized by the --always-opt flag.

R=hpayer@chromium.org
TEST=cctest/test-heap/TestInternalWeakLists

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

Cr-Commit-Position: refs/heads/master@{#27699}
2015-04-09 11:01:21 +00:00
mstarzinger
515e483dd0 Disable more failing tests after f3338dd3b0.
TBR=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27670}
2015-04-08 14:16:58 +00:00
mstarzinger
ed6733e8fd Disable more failing tests after f3338dd3b0.
TBR=machenbach@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#27661}
2015-04-08 11:42:24 +00:00
mstarzinger
f3338dd3b0 Prevent overzealous bailout due to script context.
This is a follow-up to 2d281e71ac and prevents bailouts on empty
script contexts in Crankshaft, which don't need allocation. Only
non-empty script contexts should cause a bailout.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27649}
2015-04-08 09:00:45 +00:00
mstarzinger
2d281e71ac Make --always-opt also optimize top-level code.
This enables eager optimization of top-level code with TurboFan and
extends test coverage by triggering it with the --always-opt flag.
Script contexts are now also properly allocated in TurboFan.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27633}
2015-04-07 15:44:23 +00:00
michael_dawson
c7068b3ee5 PPC: exclude test for AIX due to issue 2857
cctest/test-log/EquivalenceOfLoggingAndTraversal fails on
AIX because it does not correctly handle the full 64 bit
address space supported by AIX.  SKIP until the issue
is resolved.

	modified:   test/cctest/cctest.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27608}
2015-04-07 07:06:47 +00:00
mstarzinger
7d0e5593e5 [turbofan] Support initial step-in through debugger statement.
This adapts the debugger so that the first break event starting the
stepping process can come from optimized code. TurboFan supports a
debugger statement and hence can be the top-most frame whenever the
Debug::HandleDebugBreak handler is triggered.

R=yangguo@chromium.org
TEST=mjsunit/debug,cctest/test-debug

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

Cr-Commit-Position: refs/heads/master@{#27447}
2015-03-25 15:02:43 +00:00
chunyang.dai
9fe378be22 Remove the check for turbofan unsupported platform.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27359}
2015-03-23 10:06:27 +00:00
michael_dawson
8849c00095 PPC: cleanup excludes
Updated excludes to remove SKIPs where possible. Either
removing if no longer needed or replacing with SLOW where
tests just need more time to run

	modified:   test/cctest/cctest.status
	modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27287}
2015-03-19 07:44:47 +00:00
michael_dawson
b74b0a8b16 PPC: Further leverage internal references.
Enable code dependent on the newly provided common code support for
encoded internal references.

	modified:   src/ppc/code-stubs-ppc.cc
	modified:   test/cctest/cctest.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27204}
2015-03-16 08:40:19 +00:00
balazs.kilvady
1320b9dc5f MIPS: CpuProfiler: enable tests except four failing tests.
Port 84e90b2d0d

Original commit message:
Four tests are failing due to a problem with no frame ranges.

TEST=cctest/test-cpu-profiler/CollectDeoptEvents
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27152}
2015-03-12 10:46:31 +00:00
machenbach
8329f04abe Mark ProcessDebugMessagesThreaded as flaky.
TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27147}
2015-03-12 08:15:55 +00:00
michael_dawson
7cbdadd495 PPC: remove test excludes no longer required
The test/cctest/cctest.status and test/mjsunit/mjsunit.status
tests now pass under the simulator so removing these
excludes

	modified:   test/cctest/cctest.status
	modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27145}
2015-03-12 07:54:38 +00:00
michael_dawson
d88656af9f cctest/test-deoptimization/DeoptimizeCompare was failing on PPC because the path that is optimized for isel incorrectly used integer values instead of Smi's
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27136}
2015-03-11 14:58:03 +00:00
michael_dawson
45e4a78911 Contribution of PowerPC port (continuation of 422063005) - uplevel
Contribution of PowerPC port (continuation of 422063005,
817143002,866843003, and 901083004). This patch updates
the ppc directories to make them current with changes in
common code as of today.

We had to exclude the test test-serialize/SerializeInternalReference
until we agree on the right way to add those changes for PPC as
outlined in the description in the google doc provided earlier.

We also had to exclude a couple of other tests due to new
failures seen since the last uplevel.  We excluded as opposed
to waiting until we could investigate to maximize the chance
of getting PPC compiling in the google repos before new
breaking changes are made.

I'll note that before applying any of our changes the
mozilla part of quickcheck was already broken when using
the lastest repo content so I had to run without that

	modified:   src/compiler/ppc/code-generator-ppc.cc
	modified:   src/compiler/ppc/instruction-codes-ppc.h
	modified:   src/compiler/ppc/instruction-selector-ppc.cc
	modified:   src/ic/ppc/handler-compiler-ppc.cc
	modified:   src/ic/ppc/ic-compiler-ppc.cc
	modified:   src/ppc/assembler-ppc-inl.h
	modified:   src/ppc/assembler-ppc.cc
	modified:   src/ppc/assembler-ppc.h
	modified:   src/ppc/builtins-ppc.cc
	modified:   src/ppc/code-stubs-ppc.cc
	modified:   src/ppc/codegen-ppc.cc
	modified:   src/ppc/full-codegen-ppc.cc
	modified:   src/ppc/lithium-codegen-ppc.cc
	modified:   src/ppc/macro-assembler-ppc.cc
	modified:   src/ppc/macro-assembler-ppc.h
	modified:   test/cctest/cctest.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27125}
2015-03-11 08:49:33 +00:00
loislo
84e90b2d0d CpuProfiler: enable tests except four failing tests.
Four tests are failing due to a problem with no frame ranges.

BUG=
LOG=n

Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1
Cr-Commit-Position: refs/heads/master@{#27035}

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

Cr-Commit-Position: refs/heads/master@{#27116}
2015-03-10 16:18:36 +00:00
jarin
6f559b7ec3 [turbofan] Fix lazy deopt for JSToNumber conversions in binary operations.
This slightly hacky change provides lazy deopt points for to-number conversions in binops: When we deopt from a to-number conversion, we create a frame state with the already-converted value(s) so that we do not repeat the side effect of the conversion.

Embenchen numbers are below. It is not quite clear what happened to fasta - the hot code looks nearly identical.

Current: EmbenchenBox2d(RunTime): 12746 ms.
d8-master: EmbenchenBox2d(RunTime): 13861 ms.
----------- bullet.js
Current: EmbenchenBullet(RunTime): 17680 ms.
d8-master: EmbenchenBullet(RunTime): 19170 ms.
----------- copy.js
Current: EmbenchenCopy(RunTime): 4939 ms.
d8-master: EmbenchenCopy(RunTime): 4943 ms.
----------- corrections.js
Current: EmbenchenCorrections(RunTime): 6639 ms.
d8-master: EmbenchenCorrections(RunTime): 6728 ms.
----------- fannkuch.js
Current: EmbenchenFannkuch(RunTime): 4630 ms.
d8-master: EmbenchenFannkuch(RunTime): 4872 ms.
----------- fasta.js
Current: EmbenchenFasta(RunTime): 10209 ms.
d8-master: EmbenchenFasta(RunTime): 9673 ms.
----------- lua_binarytrees.js
Current: EmbenchenLuaBinaryTrees(RunTime): 12936 ms.
d8-master: EmbenchenLuaBinaryTrees(RunTime): 15529 ms.
----------- memops.js
Current: EmbenchenMemOps(RunTime): 7357 ms.
d8-master: EmbenchenMemOps(RunTime): 7340 ms.
----------- primes.js
Current: EmbenchenPrimes(RunTime): 7530 ms.
d8-master: EmbenchenPrimes(RunTime): 7457 ms.
----------- skinning.js
Current: EmbenchenSkinning(RunTime): 15832 ms.
d8-master: EmbenchenSkinning(RunTime): 15630 ms.
----------- zlib.js
Current: EmbenchenZLib(RunTime): 11176 ms.
d8-master: EmbenchenZLib(RunTime): 11324 ms.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27071}
2015-03-09 13:24:42 +00:00
dusan.milosavljevic
6f946d6c02 MIPS: Update test status files.
TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27050}
2015-03-06 16:41:35 +00:00
loislo
b2ae7a7594 Revert of CpuProfiler: enable tests except four failing tests. (patchset #3 id:100001 of https://codereview.chromium.org/976203003/)
Reason for revert:
Some tests still flaky

Original issue's description:
> CpuProfiler: enable tests except four failing tests.
>
> Four tests are failing due to a problem with no frame ranges.
>
> BUG=
> LOG=n
>
> Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1
> Cr-Commit-Position: refs/heads/master@{#27035}

TBR=yurys@chromium.org,svenpanne@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27037}
2015-03-06 10:20:00 +00:00
loislo
2be160e726 CpuProfiler: enable tests except four failing tests.
Four tests are failing due to a problem with no frame ranges.

BUG=
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27035}
2015-03-06 10:01:49 +00:00
Dan Carney
4873d8c74e disable some arm tests after r27020
TBR=yangguo@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27024}
2015-03-05 17:49:45 +00:00
michael_dawson
a3465838bc Contribution of PowerPC port (continuation of 422063005) - currency
Contribution of PowerPC port (continuation of 422063005, 817143002,
866843003, and 901083004. This patch updates the ppc directories
to make them current with changes in common code, removes the
optimization to use the ool constant pool, and excludes tests that
don't pass under the ppc simulator given a 240s timeout.

Subsequent patches will cover:
   - remaining optimizations for PPC
   - remaining AIX changes not resolved by 4.8 compiler (4.8 is only recently available for AIX)
   - incremental updates required to ppc directories due to platform specific changes made
    in google repos while we complete the above steps.

	modified:   src/compiler/ppc/code-generator-ppc.cc
	modified:   src/ic/ppc/handler-compiler-ppc.cc
	modified:   src/ppc/assembler-ppc-inl.h
	modified:   src/ppc/assembler-ppc.cc
	modified:   src/ppc/assembler-ppc.h
	modified:   src/ppc/builtins-ppc.cc
	modified:   src/ppc/code-stubs-ppc.cc
	modified:   src/ppc/debug-ppc.cc
	modified:   src/ppc/deoptimizer-ppc.cc
	modified:   src/ppc/frames-ppc.cc
	modified:   src/ppc/frames-ppc.h
	modified:   src/ppc/full-codegen-ppc.cc
	modified:   src/ppc/lithium-codegen-ppc.cc
	modified:   src/ppc/lithium-ppc.cc
	modified:   src/ppc/lithium-ppc.h
	modified:   src/ppc/macro-assembler-ppc.cc
	modified:   src/ppc/macro-assembler-ppc.h
	modified:   test/cctest/cctest.status
	modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#26951}
2015-03-03 07:05:00 +00:00
dslomov
675f7d2d5a Invalidate property cells for non-existent properties properly.
R=verwaest@chromium.org
BUG=v8:3914
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26822}
2015-02-24 13:05:13 +00:00
dcarney
102ddf35cf disable some harmony scoping tests
R=verwaest@chromium.org

BUG=v8:3914
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26794}
2015-02-23 11:58:54 +00:00
adamk
a538d945e3 Teach ModuleDescriptor about basic local exports
Add() becomes AddLocalExport, which takes an export_name and a local_name.
New parsing tests exercise this.

Also start generating exports for default exports (though this doesn't yet
handle anonymous default exports).

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26758}
2015-02-19 20:15:13 +00:00
Dan Carney
878963a8a5 split interceptor tests off of test-api
BUG=
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26484}
2015-02-06 12:08:07 +00:00
michael_dawson
f1ba8d8f86 Contribution of PowerPC port (continuation of 422063005) - AIX Common1
Contribution of PowerPC port (continuation of 422063005 and 817143002). This patch covers
the key changes needed to the common files needed to support AIX. Subsequent
patches will cover:
- changes to update the ppc directories so they are current with the changes
in the rest of the project.
- remaining AIX changes not resolved by 4.8 compiler
- individual optimizations for PPC

This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc

R=danno@chromium.org, svenpanne@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#26343}
2015-01-30 08:02:08 +00:00
adamk
aeb3a71740 Begin modernization of --harmony-modules
The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.

The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.

Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.

BUG=v8:1569
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26299}
2015-01-27 21:06:46 +00:00
mstarzinger
3dc77aac9d Enable inlining test that now works with control reducer.
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty

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

Cr-Commit-Position: refs/heads/master@{#26228}
2015-01-22 18:49:01 +00:00
yangguo
4d65e0c241 Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/862353002/)
Reason for revert:
Patch causing the failure has been reverted.

Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}

TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840

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

Cr-Commit-Position: refs/heads/master@{#26216}
2015-01-22 09:43:50 +00:00
Yang Guo
ebab2f12e9 Change test expectations for test-types/Maybe.
TBR=rossberg@chromium.org
BUG=v8:3840
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26212}
2015-01-22 08:23:11 +00:00
mstarzinger
24a04d648b Add missing FrameState for Runtime_GetPrototype.
R=titzer@chromium.org
TEST=cctest/test-api

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

Cr-Commit-Position: refs/heads/master@{#26200}
2015-01-21 17:17:59 +00:00
mstarzinger
1693e1143a Add missing FrameState for Runtime_DeliverObservationChangeRecords.
R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event

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

Cr-Commit-Position: refs/heads/master@{#26199}
2015-01-21 16:08:29 +00:00
mstarzinger
65eb16178d Add missing FrameState to JSTypedLoweringTester.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive

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

Cr-Commit-Position: refs/heads/master@{#26194}
2015-01-21 14:33:56 +00:00
dcarney
09abbaae85 delete flaky test MultithreadedParallelIsolates
BUG=3215
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#26136}
2015-01-19 14:16:22 +00:00
mstarzinger
6daecbd5ff Allow --always-opt to go further into the pipeline (2).
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26131}
2015-01-19 12:35:19 +00:00
mstarzinger
9fbe872137 Enable test coverage for --turbo-deoptimization mode.
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#26102}
2015-01-16 12:53:30 +00:00
jochen
b54f00fc8e Add checks to the marking queue
Hopefully we'll catch heap corruption earlier where identifying the
object that holds a stale pointer.

Speaking of staleness, also remove old debugging code.

BUG=chromium:128415
R=ulan@chromium.org,hpayer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#26095}
2015-01-16 10:39:25 +00:00
Benedikt Meurer
f6849d9ed4 [turbofan] Fix cycles introduced by pushing ToNumbers into phis.
TEST=cctest
R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25743}
2014-12-10 11:59:44 +00:00
ulan
d2e54925ca Reland remaining parts of 'Use weak cells in map checks in polymorphic ICs'
BUG=v8:3663
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25739}
2014-12-10 10:57:36 +00:00
bmeurer
baafb8f92e [turbofan] Turn JSToBoolean and JSUnaryNot into pure operators.
Also fix the pushing of JSToBoolean into Phis and generalize it to
also include pushing into Selects.

TEST=cctest,unittests

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

Cr-Commit-Position: refs/heads/master@{#25718}
2014-12-09 07:35:12 +00:00
ulan
9a60180487 Temporarily skip test-mark-compact/MarkCompactCollector.
BUG=v8:3742
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25706}
2014-12-08 11:05:56 +00:00
ulan
2ac522ab15 Reland parts of 'Use weak cells in map checks in polymorphic ICs'
This relands macroassembler instructions and weak cell caching and
does not include parts that caused "Linux ASan LSan" test failures.

BUG=v8:3663
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25615}
2014-12-02 14:25:26 +00:00
machenbach
d9c83f6bd0 Revert of Use weak cells in map checks in polymorphic ICs. (patchset #8 id:140001 of https://codereview.chromium.org/753993003/)
Reason for revert:
[Sheriff] Speculative revert for breaking chromium asan (roll blocker):
http://build.chromium.org/p/client.v8/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1683

Original issue's description:
> Use weak cells in map checks in polymorphic ICs.
>
> BUG=v8:3663
> LOG=N

TBR=mvstanton@chromium.org,akos.palfi@imgtec.com,weiliang.lin@intel.com,ulan@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3663

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

Cr-Commit-Position: refs/heads/master@{#25597}
2014-12-02 08:17:05 +00:00
ulan
45a36948e1 Use weak cells in map checks in polymorphic ICs.
BUG=v8:3663
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25581}
2014-12-01 10:41:14 +00:00
cullinan
87db4ff1f4 Fix/suppress unittests broken on Android
cctest/test-threads/ThreadJoinSelf is suppressed for Android, but the
test has since been moved to unittests/Thread.SelfJoin. Move the
suppression to unittests.status.

unittests/ThreadLocalStorageTest.DoTest fails on older Android devices
as it assumes the availability of more TLS slots than many devices
implement. Test a smaller number of slots (32) on Android. Remove old
suppression of test-platform-tls/FastTLS (which no longer exists).

cctest/test-mark-compact/RegressJoinThreadsOnIsolateDeinit can't deal
with shared mappings. Check for 's' instead of '-'.

BUG=v8:3706
LOG=

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

Cr-Commit-Position: refs/heads/master@{#25492}
2014-11-24 18:06:10 +00:00
paul.lind
4641d93f89 MIPS: Skip some tests on big-endian boards.
Skip one hard fail, and two frequent flakes while we investigate.

BUG=
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25418}
2014-11-19 12:52:11 +00:00
Benedikt Meurer
1d4dfd9ac4 [turbofan] Push JSToNumber conversions into Phis.
This essentially performs the following transformation

  JSToNumber(phi(x1,...,xn,control):primitive)
    => phi(JSToNumber(x1),...,JSToNumber(xn),control):number

which is similar to what we already do for JSToBoolean.

TEST=mjsunit/asm
R=svenpanne@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25390}
2014-11-18 11:34:21 +00:00
Michael Starzinger
d7169a7311 Enable breakpoint tests that now pass in TurboFan.
R=jarin@chromium.org
TEST=cctest/test-debug

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

Cr-Commit-Position: refs/heads/master@{#25323}
2014-11-13 10:54:53 +00:00
mstarzinger@chromium.org
5712592331 Fix bug in graph copy while inlining loops.
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoop

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

Cr-Commit-Position: refs/heads/master@{#25285}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 09:47:17 +00:00
mstarzinger@chromium.org
47ee0b0294 Enable inlining tests that pass with new scheduler.
R=titzer@chromium.org
TEST=test-run-inlining/InlineTwiceDependentDiamond

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

Cr-Commit-Position: refs/heads/master@{#25205}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-06 18:56:43 +00:00
machenbach@chromium.org
6bd521a549 Skip tests for mips.
TBR=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25035}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:36:49 +00:00
titzer@chromium.org
12a82ef32c Fix AstGraphBuilder for loops like for(;;).
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:17:08 +00:00
titzer@chromium.org
e4c6f9488e Implement graph trimming in ControlReducer.
Trimming the graph consists of breaking links from nodes that are not reachable from end to nodes that are reachable from end. Such dead nodes show up in the use lists of the live nodes and though mostly harmless, just clutter up the graph. They also can limit instruction selection opportunities, so it is good to get rid of them.

This CL is one half of the ControlReducer functionality, the other half
being branch folding.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:51:57 +00:00
yangguo@chromium.org
f0e3ae8e24 Prohibit serializing with --harmony-scoping.
R=jochen@chromium.org
BUG=v8:3628
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 09:54:48 +00:00
dcarney@chromium.org
1adad89746 [turbofan] don't call out to c
R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 13:56:03 +00:00
sigurds@chromium.org
68075b0a05 Reland "Add handling for argument adaptor frames to inlining."
Original: https://codereview.chromium.org/573703002/

Reland Fixes:
- Add deopt framestate to CollectStackTrace runtime call

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:56:52 +00:00
sigurds@chromium.org
b8dd74779c Revert "Add handling for argument adaptor frames to inlining."
This reverts commit r24008.

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:00:57 +00:00
sigurds@chromium.org
887b77aa83 Add handling for argument adaptor frames to inlining.
- Lazy deopt from inlined calls
- Lazy deopt from inlined calls with parameter mismatch

R=jarin@chromium.org, mstarzinger@chromium.org, mstarzinger@chromium

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:41:30 +00:00
weiliang.lin@intel.com
8a4e0680ab X87: turn on some tests of test-serialize
They were disabled by r21661. We turn on it because x87 snapshot can work now.

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:03:59 +00:00
mstarzinger@chromium.org
de71f7bd16 Exact black-list of AST nodes for TurboFan.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 15:06:05 +00:00
rossberg@chromium.org
be33a79d21 Fixpoint typing has to consider all imprecise nodes
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:03:59 +00:00
ulan@chromium.org
9261c44fd4 Fix status file after r23840.
TBR=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:19:42 +00:00
mstarzinger@chromium.org
13f01e65c4 Enable typed pipeline for TurboFan.
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:52:50 +00:00
mstarzinger@chromium.org
de0b213cf2 Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TBR=bmeurer@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:48:03 +00:00
bmeurer@chromium.org
4f5b0911db Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion compile error." and "Add copy support in inliner.".
This reverts commits r23813, r23805 and r23804 for Windows breakage.

TBR=mstarzinger@chromium.org,sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 06:39:25 +00:00
mstarzinger@chromium.org
947726a79c Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 15:55:47 +00:00
weiliang.lin@intel.com
6bbd2e0e0c X87: disable turbofan dependent test
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 14:31:41 +00:00
balazs.kilvady@imgtec.com
8f59d82f8b MIPS: Disable turbofan dependent cctests after r23638.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:34:47 +00:00
mstarzinger@chromium.org
01b9f4e2d3 Lower simplified StringLessThan[OrEqual] to runtime call.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerStringOps_to_call_and_compare

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 12:43:41 +00:00
paul.lind@imgtec.com
a08867f2ac MIPS: Disable cctest/test-simplified-lowering/LowerStringOps_to_call_and_wordeq because of turbofan after r23616.
BUG=
R=mstarzinger@chromium.org

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 19:42:05 +00:00
jarin@chromium.org
bb6cfbc416 Lazy deoptimization for comparisons in Turbofan.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:38:31 +00:00
rodolph.perfetta@arm.com
bfd5fb0693 [turbofan] Allow unittest to call TruncateDoubleToI.
Switches stack pointer if necessary.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 18:46:30 +00:00
sigurds@chromium.org
9091e87d8f Add more inlining unit tests.
- Scheduler can inline a function with a loop.
- Inlining strict into non-strict works correctly.
- Inlining non-strict into strict works correctly.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 08:58:51 +00:00
bmeurer@chromium.org
ffbe019e22 Fix cctest/test-run-properties/TypedArrayLoad.
Note: The test failure was unrelated to the fact that it run on actual
ARM hardware, but it was failing because the test relied on undefined
and implementation defined behaviour of the C++ compiler.

TBR=mstarzinger@chromium.org
TEST=cctest

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 05:37:55 +00:00
mstarzinger@chromium.org
9faf9200ab Skip failing test on ARM after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:46:33 +00:00
mstarzinger@chromium.org
7c6759e982 Fix test failures after r23492.
R=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:28:57 +00:00
mstarzinger@chromium.org
b2548ebddf Skip Windows failure after r23492.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 15:19:05 +00:00
mstarzinger@chromium.org
88a842d628 Fix and re-enable test-api/InitializeAndDispose.
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
mstarzinger@chromium.org
bf71b5ab69 Enable TurboFan deopts for test-heap/NextCodeLinkIsWeak.
R=jarin@chromium.org
TEST=cctest/test-heap/NextCodeLinkIsWeak

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:39:25 +00:00
yangguo@chromium.org
a5ea23375e Mark test-debug/RecursiveBreakpointsGlobal as flaky.
TBR=machenbach@chromium.org
BUG=v8:3525
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 06:45:15 +00:00
yangguo@chromium.org
4f8e5f0719 Mark test-debug/RecursiveBreakpoints as flaky.
R=machenbach@chromium.org
BUG=v8:3525
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:15:49 +00:00
bmeurer@chromium.org
37058c1413 [turbofan] Add TruncateFloat64ToInt32 machine operator.
Fix ChangeLowering to use TruncateFloat64ToInt32.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 04:01:00 +00:00
mstarzinger@chromium.org
5c7edb7e2b Enable access check tests that no longer fail with TF.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:24:57 +00:00
jarin@chromium.org
b80e76841e Remove a brittle assertion from Turbofan lazy deoptimization handling.
As discussed in person with Benedikt, it is better to remove the assertion because it is too brittle. The assertion says that the continuation block should immediately follow the call. However, there are exceptions - such as nop or constant pool in-between being fine - that make the assertion brittle.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 11:46:05 +00:00
mstarzinger@chromium.org
7f628527d8 Disable some deoptimization tests on ARM64 no-snap.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:23:17 +00:00
jarin@chromium.org
1f776a07a6 Reland "More lazy deoptimization in Turbofan (binops, loads/stores)"
This relands commit r23029 + adds missing lazy deopts for JSAdd operator inside VisitForInStatement. The added lazy deopt still refers to a bogus bailout id, but at least the graphs can be scheduled.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 12:26:17 +00:00
jarin@chromium.org
2558423c85 Revert "More lazy deoptimization in Turbofan (binops, loads/stores)"
This reverts commit r23029.

BUG=
TBR=eisinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 11:21:51 +00:00
jarin@chromium.org
d04a7d6d91 More lazy deoptimization in Turbofan (binops, loads/stores)
Deoptimizing binory operations, (Load|Store)(Property|Named),
constructors.

This also fixes safepoint lookup to account for lazily deoptimized code.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:42:01 +00:00
jarin@chromium.org
e1deee4181 Revert "Initial shot at deoptimizing JSCallFunction in Turbofan."
This reverts commit r23020.

BUG=
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 07:33:58 +00:00
jarin@chromium.org
5c2e968bdb Initial shot at deoptimizing JSCallFunction in Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 06:55:16 +00:00
rossberg@chromium.org
82502075d6 Mark Distributivity tests flaky on ARM
R=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 14:05:24 +00:00
jarin@chromium.org
117945ec6e Add deoptimization translations.
BUG=
R=bmeurer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:49:02 +00:00
mstarzinger@chromium.org
f9c291c629 Some tests no longer timeout with TF by using ICs.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:38:51 +00:00
machenbach@chromium.org
f158d2438a Skip more test.
TBR=dcarney@chromium.org,bmeurer@chromium.org,danno@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:27:03 +00:00
bmeurer@chromium.org
dcde756f98 [turbofan] C calls are broken. Blacklist related tests.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:30:28 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
yangguo@chromium.org
2811213380 Flag for serialization when compiling code stubs if --serialize-toplevel.
R=mvstanton@chromium.org
BUG=v8:3465
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:11:30 +00:00
ernstm@chromium.org
9523e0acf4 re-land: Track history of events in GCTracer.
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.

This is a re-land of https://codereview.chromium.org/391413006/ with
 - int instead of size_t in ring buffer unit test.
 - git cl format

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 11:16:01 +00:00
machenbach@chromium.org
4c345d38bd Partially revert "Unflake and speedup JsNative*Sample cpu profile tests"
This reverts the test expectations of commit r22345. Several cpu profiler flakes were happening lately.

BUG=v8:2999
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:26:03 +00:00
yangguo@chromium.org
ee9ed36179 Mark test-mark-compact/Promotion as PASS, FAIL on arm64.
BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 06:51:20 +00:00
dslomov@chromium.org
4db1f68077 Disabling flakes.Filed 3433, 3434, 3435.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:20:37 +00:00
alph@chromium.org
e64230c1f9 Unflake and speedup JsNative*Sample cpu profile tests
Instead of running cpu profiler for a hundred milliseconds,
collecting samples distributed in a non-deterministic way all along
the code, make the tests rely on a single sample we collect on
the profiler start.

R=bmeurer@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 09:06:12 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
yangguo@chromium.org
8a2a4bf983 Flush ICache after deserializing code.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:32:55 +00:00
yangguo@chromium.org
823daea2ba Temporarily disable test-compiler/SerializeToplevel on ARM.
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 06:02:18 +00:00
dslomov@chromium.org
969a3d7b9d Add TIMEOUT for MultithreadedParallelIsolates
R=machenbach@chromium.org
BUG=v8:3215
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:43:09 +00:00
yangguo@chromium.org
41b74fd26f Fix issues with code serializer.
- code pre-aging does not work with serializing.
- compilation info needs to remember that we compile for serializing.
- test case leaks memory.

R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 14:13:50 +00:00
yangguo@chromium.org
0bc70a5f3e Temporarily disable failing test.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 10:22:26 +00:00
alph@chromium.org
6b1c019776 Make JsNative1JsNative2JsSample cctest work on Win Release
MSVC optimization realizes that CallJsFunction2 is just the same as CallJsFunction, so it eliminates the former making the call stack contain two instances of the same function.

The patch makes two functions distinct.

LOG=N
BUG=v8:3055
R=aandrey@chromium.org, jkummerow@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:10:12 +00:00
mstarzinger@chromium.org
3a58f23bcd Temporary disabled failing tests on ARM64 no-snap.
R=machenbach@chromium.org
TEST=cctest/test-serialize
BUG=v8:3385
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 13:23:05 +00:00
weiliang.lin@intel.com
ba38bb579b X87: Temporarily skip cctest/test-serialize tests in debug mode
BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 01:40:07 +00:00
mvstanton@chromium.org
e093f3f0d3 Adjust cctest.status for Cpu profiler tests which are flaky.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:18:16 +00:00
bmeurer@chromium.org
e9357a5e77 Refactor HType to get rid of various hacks.
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
yangguo@chromium.org
5599b3a743 Fix path tracer test.
Path tracer is not compatible with --enable-slow-assert.

R=mstarzinger@chromium.org
BUG=v8:3350
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 06:42:01 +00:00
yangguo@chromium.org
4309b34e40 Skip PathTracer test for now.
TBR=mstarzinger@chromium.org
BUG=3350
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:40:40 +00:00
ulan@chromium.org
d7c81b557c Temporarily skip test-heap/NoWeakHashTableLeakWithIncrementalMarking on Windows.
BUG=3331
LOG=N
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 12:28:34 +00:00
alph@chromium.org
a2221e08b5 DevTools: Unflake test-cpu-profiler/JsNativeJsRuntimeJsSample
BUG=v8:3308
LOG=N
R=bmeurer@chromium.org, jochen@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 09:47:17 +00:00
mstarzinger@chromium.org
ca11434e51 Broaden test expectation for ARM64.
R=machenbach@chromium.org
BUG=v8:3154
TEST=cctest/test-heap/ReleaseOverReservedPages

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 16:13:04 +00:00
mvstanton@chromium.org
f2903b6f6c Fix for 3303 MultithreadedParallelIsolates has a race condition.
The fix is to make the code aging sequence hang off the isolate.

BUG=v8:3303
R=svenpanne@chromium.org
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 11:25:37 +00:00
jochen@chromium.org
12b2f9d6de Fix cctest.status typo
TBR=ishell@chromium.org
BUG=none
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 13:56:39 +00:00
jochen@chromium.org
7d2b13b4ca Mark test-cpu-profiler/JsNativeJsRuntimeJsSample as flaky
BUG=v8:3308
LOG=n
TBR=yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 13:29:10 +00:00
rafaelw@chromium.org
1b270ef5ea Re-enable Object.observe and add enforcement for security invariants.
This patch reverts r21062 which disabled Object.observe and the relevant tests.

It also adds enforcement for the following three invariants:

1) No observer may receive a change record describing changes to an object which is in different security origin (context have differing security tokens)

2) No observer may receive a change record whose context's security token is different from that of the object described by the change.

3) Object.getNotifier will return null if the caller and the provided object are in differing security origins

Further, it ensures that the global object can never be observed nor a notifier retrieved for it.

Tests are included.
R=verwaest@chromium.org, rossberg
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 13:55:11 +00:00
mvstanton@chromium.org
53d7aa29bb v8:3303 MultithreadedParallelIsolates has a race condition
Disabling test until bug is fixed.
R=svenpanne@chromium.org
BUG=v8:3303
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 12:59:48 +00:00
danno@chromium.org
55fbf13ec1 disable Object.observe
R=danno@chromium.org, danno
BUG=

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 15:11:57 +00:00
ulan@chromium.org
484442d1f5 Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky.
BUG=v8:3287
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 09:23:38 +00:00
plind44@gmail.com
5a016958c6 MIPS: Add big-endian support for MIPS.
Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
bmeurer@chromium.org
4620ae5cf1 Fix symmetry of Maybe() predicate. Fix bug in NowContains() predicate.
Add tests for TypeImpl::Of(), TypeImpl::NowOf() and
TypeImpl::NowContains(). Improves the implementation of
TypeImpl::NowIs() to match that of TypeImpl::NowContains().

Mark test-types with NO_VARIANTS to speedup testing, since
the variants do not affect the type system at all.

Also improve test coverage for types.

TEST=cctest/test-types
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 08:04:50 +00:00
machenbach@chromium.org
1b841f369d Fix test expectations for nosnap windows.
BUG=v8:3216
LOG=n
TBR=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:01:03 +00:00
machenbach@chromium.org
3d427b5599 Skip tests in nosnap mode.
Depends on https://codereview.chromium.org/230743002/.

BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 13:01:54 +00:00
dcarney@chromium.org
1b31d2b34a Skip a bunch of new failing nacl tests
R=machenbach@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:44:48 +00:00
jochen@chromium.org
b4c3d2f9ba Skip cctest/test-lockers/MultithreadedParallelIsolates on windows
It's already marked as FAIL, PASS everywhere anyways.

BUG=v8:3215
LOG=n
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 19:20:31 +00:00
jochen@chromium.org
617531da8f Skip cctest/test-mark-compact/NoPromotion on ARM64
BUG=v8:3247
TBR=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:09:59 +00:00
yangguo@chromium.org
82f630a9f7 Reland "No longer OOM on invalid string length."
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
baptiste.afsa@arm.com
688d07d11b ARM64: Prevent compilers to optimize away NaN negation in tests.
BUG=v8:3226
R=ulan@chromium.org, jochen@chromium.org
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 17:43:56 +00:00
yangguo@chromium.org
72932ae417 Revert "No longer OOM on invalid string length."
This reverts r20202.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c No longer OOM on invalid string length.
R=ishell@chromium.org
BUG=v8:3060
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
yangguo@chromium.org
d46f8c1e09 Mark CollectCpuProfile as flaky.
R=machenbach@chromium.org
BUG=v8:2999
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 11:45:54 +00:00