Commit Graph

6719 Commits

Author SHA1 Message Date
ulan@chromium.org
99301fc8c5 Fix regress-411210 after r23824.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:48:40 +00:00
hpayer@chromium.org
ed37edc5c0 Remove guard page mechanism from promotion queue.
BUG=chromium:411210
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:29 +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
yangguo@chromium.org
8d6f9811da Do not force interrupt in test-debug/ProcessDebugMessagesThreaded.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:31:49 +00:00
bmeurer@chromium.org
bbd96b97e4 [turbofan] Add support for overflow add/sub to the MachineOperatorReducer.
TEST=base-unittests,compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:18:17 +00:00
sigurds@chromium.org
1f9215ba8d Add copy support in inliner.
Refactors JSGraph to ensure that the zone operators are created in
can be different from the Graph's zone.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 13:20:09 +00:00
jarin@chromium.org
01d63e43b2 Handle non-object constants in HConstant::GetMonomorphicJSObjectMap.
R=ulan@chromium.org
BUG=chromium:412162
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23803 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:58:34 +00:00
jkummerow@chromium.org
5cc34b6b52 Delete generated runtime tests
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:24:43 +00:00
jkummerow@chromium.org
fd3e505fb6 Hydrogen: bailout when there is a throw statement in a non-effect context.
This mirrors the behavior of the compilation pipeline before recent OptimizeFunctionOnNextCall changes.

BUG=chromium:412208
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:16:33 +00:00
mstarzinger@chromium.org
34a659ae80 Allow some runtime functions to accept Int32s instead of Smis.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 12:12:04 +00:00
yangguo@chromium.org
4b0c076052 Turn old space cons strings into regular external strings (not short).
R=hpayer@chromium.org
BUG=v8:3530
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 11:41:56 +00:00
balazs.kilvady@imgtec.com
b9af36b1fd MIPS: Fix cctest/NaNs after r23767 "Replace our home-grown BitCast with bit_cast from Chrome/Google3".
BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 16:14:21 +00:00
mstarzinger@chromium.org
c3e63ee946 Properly disable ES6 generator support for TurboFan.
R=rossberg@chromium.org
TEST=mjsunit/es6/*

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 14:10:33 +00:00
mstarzinger@chromium.org
e9b3c336e6 Properly blacklist ES6 for-of statement for TurboFan.
R=bmeurer@chromium.org
TEST=mjsunit/es6

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:39:39 +00:00
bmeurer@chromium.org
2bbeb652ee [turbofan] Fix the node matchers.
E.g. make sure that Int32Matcher matches only int32 constants, and
Float64Matcher matches only float64 constants.

Also remove the confusing CommonOperatorTraits, which are too easy
to use in a wrong way.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:16:11 +00:00
bmeurer@chromium.org
dab61bc310 Replace our home-grown BitCast with bit_cast from Chrome/Google3.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 09:11:11 +00:00
bmeurer@chromium.org
20db0ff315 Next base/macros.h cleanup step.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-08 04:44:22 +00:00
titzer@chromium.org
4c53bb086e Fix more fallout from making OptimizeFunctionOnNextCall work as advertised.
R=jarin@chromium.org
BUG=411262

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 15:31:33 +00:00
jarin@chromium.org
83af12c21b Harden OptimizeFunctionOnNextCall.
BUG=411237
LOG=N
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 15:13:44 +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
titzer@chromium.org
09dccec9f4 Platform-dependent turbofan tests.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 13:22:27 +00:00
bmeurer@chromium.org
99ccab81e2 [turbofan] Add MachineType to Phi.
TEST=cctest,compiler-unittests,mjsunit
R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:44:31 +00:00
verwaest@chromium.org
1dddf69fdc Allocate a new empty number dictionary when resetting elements
BUG=410332
LOG=y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:38:22 +00:00
bmeurer@chromium.org
65fa2b49da [turbofan] Fix cctest/test-graph-reducer/ReduceForward1.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 11:20:55 +00:00
jarin@chromium.org
b74fae5511 Fix EvacuateJSFunction to obtain the target address from the forwarding pointer.
R=mstarzinger@chromium.org
BUG=410912
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 09:38:04 +00:00
bmeurer@chromium.org
5042b23b86 [turbofan] Get rid of the StructuredMacroAssembler.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 08:48:41 +00:00
yangguo@chromium.org
2e80f58239 Introduce code stub constructors for stub keys.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-05 07:44:31 +00:00
titzer@chromium.org
4923810a68 Remove redundant --always-full-compiler flag.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 16:29:47 +00:00
mstarzinger@chromium.org
bb025c1ceb Remove overly complex MachineNodeFactory.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 16:29:40 +00:00
jarin@chromium.org
1afada8d04 Ignore numbers as values of --expose-natives-as flag.
R=yangguo@chromium.org
BUG=408036
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 15:05:06 +00:00
jarin@chromium.org
b3b4e3eea5 Fix deoptimization of context.
We need to handle the case where the context was removed by dead code
elimination. In that case, we just use the context from the activation
(or from the inlined function if we are inlined).

For reference, here is the CL that introduced the bug: https://codereview.chromium.org/522873002

BUG=410566
LOG=N
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 14:52:52 +00:00
mstarzinger@chromium.org
4539e9b936 Remove deprecated PrintableUnique.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 13:45:05 +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
verwaest@chromium.org
3ef094402e Flatten property_kind into state. Add UNKNOWN as a state for dict-mode receivers
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:28:13 +00:00
bmeurer@chromium.org
0baf275e20 Enforce correct number comparisons when inlining Array.indexOf.
TEST=mjsunit/regress/regress-crbug-407946
BUG=407946
LOG=y
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:25:57 +00:00
titzer@chromium.org
da167d747f Disable slow type tests for now.
R=mstarzinger@chromium.org, neis@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:19:19 +00:00
yangguo@chromium.org
5294179e4c Remove dead code for inline string hashing.
This has become obsolete since hydrogenized StringAdd.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 12:15:09 +00:00
titzer@chromium.org
67b89f9db6 Fix %OptimizeFunctionOnNextCall to actually work when the function has not yet been compiled.
R=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 11:27:20 +00:00
mstarzinger@chromium.org
51894ec36c Move StructuredMachineAssembler into cctest suite.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:23:51 +00:00
machenbach@chromium.org
211e77cb41 Skip test on windows debug.
TBR=mstarzinger@chromium.org,bmeurer@chromium.org,jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 10:04:19 +00:00
bmeurer@chromium.org
c8ffed8879 [turbofan] Make sure Operator is really immutable.
Make Operator const-correct in preparation for allocating sharing
Operators across different isolates (using LazyInstance).

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 09:37:25 +00:00
bmeurer@chromium.org
b1eca2cea7 [turbofan] Properly delete nodes in the GraphReducer.
This is required to enable a value numbering reducer, which needs to be
able to recognize "dead nodes".

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 09:22:10 +00:00
machenbach@chromium.org
4f165b8609 Mark slow test as slow on windows.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-04 06:50:55 +00:00
jarin@chromium.org
7572e779d0 Exclude LoadMutableDouble and FunctionBindArguments from fuzzing.
BUG=409542,410262
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:28:46 +00:00
sigurds@chromium.org
f7d5558a7a Reland "Make FrameStates recursive (to be used for inlining).".
Reland fixes:
- Verifier is now aware of sentinel value for FrameState chains.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:10:20 +00:00
verwaest@chromium.org
5941bb4e73 Never skip access checks in the lookup iterator
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 14:05:55 +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
verwaest@chromium.org
03b0237e1d Fix loading non-configurable non-writable value from a constant with mismatching type feedback
BUG=410209
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 12:13:46 +00:00
mstarzinger@chromium.org
3071a64f5f Fix typed lowering of JSToBoolean on number inputs.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToBoolean_replacement

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 11:35:19 +00:00
titzer@chromium.org
e1a948a6f8 Convert Linkage to use MachineSignature.
This simplifies the handling of MachineTypes for parameters and returns
used in tests, and overall improves the regularity with which they
are handled in both tests and in CallDescriptor.

R=bmeurer@chromium.org, jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-03 10:13:21 +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
mstarzinger@chromium.org
baf818b152 Lower simplified StringEqual to runtime call.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerStringOps_to_call_and_wordeq

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:26:52 +00:00
mstarzinger@chromium.org
9248f4d7d4 Lower simplified StringAdd to stub call.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerStringOps_to_calls

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:46:37 +00:00
bmeurer@chromium.org
db10bef4de [turbofan] First step of Operator refactoring.
- Real const-correctness
- Proper forward declarations instead of #include "src/v8.h"
- Flags for Operator properties.
- etc.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:36:55 +00:00
marja@chromium.org
7955937d31 Refactor Parser to make it usable on a background thread.
- Background Parsers cannot get the following data from Isolate (pass it to the
ctor instead): stack limit (background Parsers need a different stack limit),
UnicodeCache (background parsers need a separate UnicodeCache), hash seed
(Parser cannot access the Heap to get it). The Parser::Parse API won't change.

- Make the internalization phase (where Parser interacts with the heap) more
explicit. Previously, Parser was interacting with the heap here and there.

- Move HandleSourceURLComments out of DoParseProgram, so that background parsing
can use DoParseProgram too.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:36:21 +00:00
jarin@chromium.org
a520e03442 Revert "Make FrameStates recursive (to be used for inlining)."
This reverts commit r23595.

TBR=sigurds@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:28:40 +00:00
sigurds@chromium.org
7117cae25e Make FrameStates recursive (to be used for inlining).
- Changes FrameState node to require a 5th input
  (use undefined as sentinel).
- Adds outer_state pointer to FrameStateDescriptor.
- Instruction selection dumps dependencies of FrameState chain into the instruction.
- Code generator builds the translation for rec. FrameStates.
  (will require further integration tests)

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:49:27 +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
machenbach@chromium.org
b4adc1a12b Reland "Refactoring: Make gtest testsuite the default."
BUG=v8:3489
TBR=bmeurer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:21:03 +00:00
machenbach@chromium.org
b77cb4a793 Revert "Refactoring: Make gtest testsuite the default."
This reverts commit cb8f08658767e7e3182e5deab0473f264f6ce92f.

TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:17:26 +00:00
machenbach@chromium.org
a050734c35 Refactoring: Make gtest testsuite the default.
BUG=v8:3489
R=bmeurer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:11:13 +00:00
bmeurer@chromium.org
30f18f0f7d Use Chrome compatible naming for compiler specifics.
Less useless creativity is best creativity!

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:07:52 +00:00
bmeurer@chromium.org
7300a2a343 [turbofan] Fix MachineOperatorReducer to use JSGraph as well.
TEST=compiler-unittests,cctest
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 05:08:54 +00:00
dslomov@chromium.org
925298ad4f Add Collections perf tests to v8 public repo.
R=machenbach@chromium.org
BUG=374708
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 14:52:06 +00:00
mstarzinger@chromium.org
bf3d436b57 Fix typed lowering of JSUnaryNot to work with graph reducer.
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/UnaryNot[Effects]

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:17:43 +00:00
bmeurer@chromium.org
b22724966b [turbofan] Merge compiler unit tests into src.
BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:26:12 +00:00
bmeurer@chromium.org
40da0e5ee6 Use the "enum hack" to fix the SmiTagging constants.
The "enum hack" (see Item 2 of "Effective C++") is the only known
portable way to define constant integral values within template
classes. Fixes the weird work-arounds required for certain GCC
versions.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:24:04 +00:00
jarin@chromium.org
5fe360b9cd Fix typo in math-hyperbolic test.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:23:07 +00:00
yangguo@chromium.org
fa1bf00e6a Port fdlibm implementation for Math.cosh.
R=rtoy@chromium.org
BUG=v8:3494
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:36:00 +00:00
jarin@chromium.org
a668cd6fc8 Context deoptimization and removal of the deoptimization block in Turbofan
This adds context deoptimization to Turbofan and Crankshaft (also submitted separately as https://codereview.chromium.org/515723004/).

The second patchset removes the deoptimization/continuation block from calls.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:31:14 +00:00
bmeurer@chromium.org
58a5d15ba7 Merge heap unit tests into src.
Also rip out the unused runtime-unittests; will be added back on-demand.

BUG=v8:3489
LOG=n
R=ulan@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:12:50 +00:00
yangguo@chromium.org
7be66cf5d7 Do not expose termination exceptions to the Exception API.
R=verwaest@chromium.org
BUG=403509
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:11:44 +00:00
jarin@chromium.org
73da434b8e Fix manual allocation folding of RegExpConstructResult.
R=mstarzinger@chromium.org
BUG=409533
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 08:08:31 +00:00
bmeurer@chromium.org
4edcff907f Refactor libplatform unit tests to use GTest/GMock.
Also migrate them to src.

BUG=v8:3489
LOG=n
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 07:13:55 +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
mstarzinger@chromium.org
e019dc7414 Fix Node::ReplaceUses to handle unused nodes.
R=bmeurer@chromium.org
TEST=cctest/test-node/NodeUseIteratorReplaceNoUses

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 12:14:52 +00:00
bmeurer@chromium.org
5992acc242 Merge base unit tests into src to be in line with Chrome.
We still need the test/base-unittests folder until the test driver is
updated to handle unittests without the boilerplate.

TEST=base-unittests
R=svenpanne@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 10:53:08 +00:00
rodolph.perfetta@arm.com
fb7e3c8f95 ARM64: re-enable turbofan tests.
The tests were already passing.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:49:50 +00:00
svenpanne@chromium.org
dfda8950de More PNaCL fixes (without GYP/Makefile tweaks)
This is basically https://codereview.chromium.org/513923005/ with a
few changes:

   * Makefile.nacl and v8.gyp are untouched.

   * MAP_NORESERVE-handling is more defensive.

   * Added ugly busy-wait emulation of sem_timedwait.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:39:28 +00:00
yangguo@chromium.org
8938126d1b Port fdlibm implementation for Math.sinh.
R=rtoy@chromium.org
BUG=v8:3493
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:32:51 +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
804ef93d99 Fix windows build.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 05:45:16 +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
d0ea36cb5b Move constructors for [Element/Field]Access into AccessBuilder.
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 17:53:24 +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
cc8cec354c Preliminary lowering of typed array loads in TF.
R=titzer@chromium.org
TEST=cctest/test-run-properties/TypedArrayLoad

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 14:35:11 +00:00
titzer@chromium.org
d6831dbd4b Use TruncateFloat64ToInt32 instead of ChangeFloat64ToInt32 in lowering of simplified operators NumberToInt32/NumberToUint32.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 13:31:55 +00:00
titzer@chromium.org
496697df4e Add MachineSignature, which is an encapsulation of the machine types for parameters and return values in a graph.
This utility will be used to simplify Linkage and fix representation inference
to work with graphs where parameters and return values are something other
than tagged. It will also make testing representation inference a lot
easier, since we can then exactly nail down the machine types of parameters
and returns.

This CL also adds c-signature.h, which demonstrates how to convert C function
signatures into MachineSignatures. The CSignatures will be used in tests to
make it easier and simpler to codegen tests.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 13:17:38 +00:00
sigurds@chromium.org
7bdba61b02 Simplify inlining now that the scheduler is smart(er).
* Only control adjustment is to move everything from the inlinee's
  start block to the block the call was in.
* Add a unit test to ensure that the scheduler actually picks the
  right order when placing the code.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 12:18:25 +00:00
balazs.kilvady@imgtec.com
0b1e18c231 MIPS: Fix [de]serialize problem of root objects.
BUG
TEST=mjsunit/deserialize-reference
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:27:21 +00:00
jarin@chromium.org
2e1295d4dc Disable running some instruction selector test on unsupported backends.
BUG=
R=jarin@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:06:26 +00:00
sigurds@chromium.org
6afb739efe Fix build.
GCC needs definitions for constant members (clang doesn't).

TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 08:47:11 +00:00
sigurds@chromium.org
e7817a9e54 Remove dependency from generic lowering on compilation info for determining strictness and builtins.
This makes the graphs compositional for inlining (i.e. we can now inline a strict function into a non-strict function, or vice versa).

1) Store strict mode as parameter in StoreNamed/StoreProperty.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 08:39:24 +00:00
machenbach@chromium.org
33c28c7152 Reland "Enable C++11 tests on windows."
TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:01:56 +00:00
titzer@chromium.org
f875dd66c6 Disable running some change tests on unsupported backends.
TBR=vogelheim@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 16:17:16 +00:00
jarin@chromium.org
8eb5c1524d Unit test of instruction selection for calls with deoptimization.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:56:11 +00:00
adamk@chromium.org
71fbe7d4ec Ensure that JSProxy::Fix gives the generated JSObject map a constructor
All JSObjects in V8 either have a map()->constructor() field or are
JSFunctions. JSProxy::Fix, however, was not enforcing this, and
Object.observe's use of JSObject::GetCreationContext() exposed this.

Note that this is not Object.observe-specific: the API call
v8::Object::CreationContext() also would have revealed this bug.

This patch chooses Object as a reasonable constructor to put on the
newly-fixed object's map. Note that this has no effect on the "constructor"
property in JS. In doing so, I've also tightened up the code underlying
JSProxy::Fix to only support JSObject and JSFunction as possible output
types.

BUG=405844
LOG=N
R=rossberg@chromium.org, verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:54:23 +00:00
titzer@chromium.org
79c8cfe2a8 Fix expectations of lowering tests.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 14:47:50 +00:00
titzer@chromium.org
fa34ea60c4 Disable some changes tests on ARM64. Also, fix the changes lowering to not use the more expensive TruncateFloat64ToInt32, but to use ChangeFloat64ToInt32/ChangeFloat64ToUint32, as it was before.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 13:49:30 +00:00
bmeurer@chromium.org
7fb56e2e71 Add Flags<T> class as a type-safe way of storing OR-combinations of enums.
TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 12:16:36 +00:00
titzer@chromium.org
5bf4c830dd Remove old changes lowering code and convert test to use new changes lowering code.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 11:14:10 +00:00
bmeurer@chromium.org
8968087b87 Disable SysInfoTest.AmountOfPhysicalMemory on NaCl.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 10:37:54 +00:00
m.m.capewell@googlemail.com
31497a4542 [turbofan] ARM64 FP instruction selection tests
Add some tests for floating pointer instruction selection, and change conversion
tests to be parameterised.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:47:16 +00:00
bmeurer@chromium.org
b8b9d10590 Sync our homegrown SysInfo replacement with the one in Chrome base.
Also fix several inconsistencies/bugs on the way.

TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:29:22 +00:00
vogelheim@chromium.org
881b15a1ca Partial revert of r23415. Original message:
> Enable more tests that no longer fail with TF.

It looks like "V8 Win32 - 1" still has issues. Try to revert only the affected test.

BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 18:30:01 +00:00
mstarzinger@chromium.org
b250a99031 Enable more tests that no longer fail with TF.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:42:09 +00:00
verwaest@chromium.org
fa70f154b7 Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:32:51 +00:00
titzer@chromium.org
6bbf6c5cb0 Schedule floating control.
This CL makes several changes to the scheduling algorithm to handle control
flow that is not connected to End. Such control nodes constitute "floating
control islands" that must be linearized by the schedule. This is done
by considering such nodes to be schedulable, and then editing the control
dependencies after a first pass of scheduling. Then a subsequent pass of
scheduling will place all nodes correctly into the fully connected graph.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:25:07 +00:00
mstarzinger@chromium.org
ecca77ce76 Move context specialization flag into CompilationInfo.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:17:57 +00:00
ulan@chromium.org
102b3bdad4 Fix ASAN after r23404.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:35:54 +00:00
ulan@chromium.org
939f24b817 Handle empty allocation list in CodeRange properly.
BUG= 407566,v8:3540
LOG=Y
TEST=cctest/test-spaces/Regress3540
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:14:46 +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
loislo@chromium.org
7e6f653792 HeapProfiler: remove obsolete AddImplicitReferences
it hasn't been used since r149579. More than one year ago.

BUG=
R=marja@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:05:54 +00:00
verwaest@chromium.org
2a37ab79ad Fixed inlining of constant values
Use CopyToRepresentation to elide HForceRepresentation of HConstant

BUG=v8:3529
LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:34:25 +00:00
yangguo@chromium.org
578bff3be0 Enable mjsunit/deserialize-reference for turbofan.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:56:23 +00:00
bmeurer@chromium.org
90c8932596 Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
mstarzinger@chromium.org
0d7f69aac5 Enable test cases that no longer timeout.
R=bmeurer@chromium.org
BUG=v8:3522,v8:3526
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:44:25 +00:00
bmeurer@chromium.org
3e188ace5c [turbofan] Add backend support for load/store float32 values.
This is the bare minimum required to support typed arrays. Support for
working with float32 values will be added based on this.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:29:12 +00:00
machenbach@chromium.org
fa908676c7 Revert "Enable C++11 tests on windows."
This reverts commit 23383 because XP bots time out.

TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:24:27 +00:00
machenbach@chromium.org
46bd2aff47 Enable C++11 tests on windows.
TBR=svenpanne@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 07:00:44 +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
mstarzinger@chromium.org
0bf838456f Fix continue statements within for-in loops.
R=titzer@chromium.org
TEST=cctest/test-run-jsbranches/ForInContinueStatement
BUG=v8:3522
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:32:35 +00:00
rossberg@chromium.org
c987661e0e Activate --harmony switch on test262-es6
R=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 14:31:24 +00:00
mstarzinger@chromium.org
4cf2cfad0a Fix borked tests after r23354.
TBR=vogelheim@chromium.org
TEST=cctest/test-run-inlining

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:38:10 +00:00
verwaest@chromium.org
01cfeb1205 Clean up LookupIterator::Configuration naming
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:34:43 +00:00
bmeurer@chromium.org
66dd869980 [turbofan] Add backend support for signed loads.
Also rename the arch opcodes to match their native counterparts.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 10:35:38 +00:00
wingo@igalia.com
32d9aea9d8 Arguments object has @@iterator
R=arv@chromium.org, verwaest@chromium.org, rossberg@chromium.org
BUG=v8:3391
LOG=N
TEST=mjsunit/harmony/arguments-iterator.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:12:22 +00:00
weiliang.lin@intel.com
d171b9d535 x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
port r23306.

original commit message:
   Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.

BUG=
R=verwaest@chromium.org, weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
aandrey@chromium.org
6190ac0882 Expose Value::IsMap, IsSet, IsWeakMap, IsWeakSet in V8 API.
These checks will be needed for DevTools.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 08:56:31 +00:00
jarin@chromium.org
d8295050d2 Fix deoptimization address patching in Turbofan to use safepoints.
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.

The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:02:19 +00:00
yangguo@chromium.org
3a1c55590f Correctly forward-declare inline function headers in generic-node.h
R=bmeurer@chromium.org, jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 06:57:13 +00:00
bmeurer@chromium.org
e9ac0fe7c8 Rename CountSetBits32 to CountPopulation32 for consistency.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 04:24:39 +00:00
arv@chromium.org
74a0d0f373 Fix issue with numeric property names
We were not correctly treating 1.0 as 1, nor 1.20 as 1.2 in accessors.

BUG=v8:3507
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:40:38 +00:00
ulan@chromium.org
785876eed2 Fix Win64 build after r23316.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:12:47 +00:00
ulan@chromium.org
8d1deb385f Fix build after r23316.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:41:29 +00:00
ulan@chromium.org
ac4c14eb73 First tests for GCIdleTimeHandler.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:26:29 +00:00
rossberg@chromium.org
cc07503bd9 test/test262: update testcfg.py for new test262
testcfg.py:

- update revision and MD5
- remove non-mandatory harness files
- use test parser distributed with test262
- new attribute `suite.harnesspath`
- new method GetIncludesForTest
- GetSourceForTest: cache source on testcase
- IsNegativeTest: use parseTestRecord
- use 7-char sha hash [1]
- DRY setting up paths to test262 suite, harness, etc
- clean up helper fns

harness-adapter.js:

- add $DONE function to adapter [2]

1: github tar file has 7-char sha embedded in dir name
script cannot find directory to rename if they don't match exactly

2: test262 uses a `$DONE` function for async tests with
semantics like those of mocha's `done`.

Briefly: done(arg) => if (arg) { /* failure */ }

Implemented a version of this for v8, using v8-specific
api (`print`, `quit`)

BUG=v8:3513
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:00:10 +00:00
yangguo@chromium.org
ba09fa35fd Handle null receiver in sloppy mode in %GetFrameDetails.
R=jarin@chromium.org
BUG=405922
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:55:23 +00:00
verwaest@chromium.org
30c3981c2c Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
marja@chromium.org
77d06401ad Take ast node id counting away from Isolate.
When we're going to parse multiple scripts in parallel, we cannot have the
Isolate count the ast node ids.

Now the counter is stored in CompilationInfo instead. This is because we need to
add ast nodes after parsing too.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:12:29 +00:00
yangguo@chromium.org
2229575b26 Pacify GCmole.
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:09:13 +00:00
yangguo@chromium.org
a6adfd8f82 Blacklist mjsunit/debug-break-inline from turbofan tests.
Due to GC stress failures.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:54:01 +00:00
Jacob.Bramley@arm.com
2fd20234ce [turbofan] Disable the intl/overrides/string test.
This test times out with Turbo Fan enabled. See issue 3526 for details.

BUG=
R=ulan@chromium.org, wingo@igalia.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:05:04 +00:00
bmeurer@chromium.org
1efe3de965 Migrate test-semaphore to base-unittests.
TEST=base-unittests
BUG=v8:3489
LOG=n
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 08:52:40 +00:00
jarin@chromium.org
4fb93f6461 Black list failing Turbofan debugger test.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 08:28:26 +00:00
bmeurer@chromium.org
3193f59a39 [turbofan] Add support for change/truncate to MachineOperatorReducer.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:54:09 +00:00
jarin@chromium.org
8da0b4eca6 Couple more debugger tests working with Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:44:18 +00:00
yangguo@chromium.org
1fcfacbcd3 Do not run Turbofan tests on mjsunit/deserialize-reference.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:25:12 +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
bmeurer@chromium.org
7cb564b580 [turbofan] Initial import of SimplifiedOperatorReducer.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 04:47:55 +00:00
arv@chromium.org
98f7b7e14a Add back the duplicate property checker
We're not quite ready to make this change.

BUG=v8:3498
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 15:32:22 +00:00
ulan@chromium.org
53fdf75be1 Move idle notification handling to GCIdleTimeHandler.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:42:22 +00:00
sigurds@chromium.org
dd3c097123 Reland "Load global object and builtins from activation."
Reland fixes:
Don't set string flags (doing so leaks memory).

Load closure from activation for building literals.

R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:40:10 +00:00
dslomov@chromium.org
22d5ceb1f2 Implement Function.prototype.toMethod.
R=arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:39:33 +00:00
bmeurer@chromium.org
e6d32405be Fix parsing of --gtest_list_tests output.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:36:00 +00:00
wingo@igalia.com
edfd4cdd33 Stage ES6 generators
R=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:06:25 +00:00
jarin@chromium.org
e5081792f9 Initial support for debugger frame state in Turbofan.
Bunch of changes were necessary:
- refactor attaching the frame states/lazy bailouts in AstGraphBuilder
  (essentialy reland of r23096),
- attaching frame state to some JS nodes in a similar way to attaching
  context (this is quite ugly and we should take another look at this),
- new bailout point for the debugger statement,
- register allocation constraints for the frame states,
- generating translations and deopt entries, attaching them to
  safepoints,
- enabled one mjsunit test for debugger state that uses the generated
  frame state.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:56:46 +00:00
wingo@igalia.com
558a05bfcf Fix symbol-named function template properties in the API
Thanks to Yutaka Hirano <yhirano@chromium.org> for finding the bug and
providing the test case.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:55:46 +00:00
wingo@igalia.com
8239897e5d Simplify array iterator tests
R=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:04:24 +00:00
verwaest@chromium.org
2d2396a8a8 Get rid of all non-IC uses of LookupOwnRealNamedProperty
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:26:42 +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
0142786cea Don't inline Array.shift() if receiver map is not extensible.
TEST=mjsunit/regress/regress-crbug-405517
BUG=405517
LOG=y
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 06:23:44 +00:00
dslomov@chromium.org
93489e7695 Make all global private symbols own symbols.
R=arv@chromium.org, rossberg@chromium.org, wingo@igalia.com, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 19:21:56 +00:00
hpayer@chromium.org
72ffc42d04 Use size_t in GCIdleTimeHandler to fix undefined behaviour.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:37:43 +00:00
wingo@igalia.com
e929f5fe43 Support symbol-named properties in API
Add new "Name" type to API that is a supertype of Symbol and String.

Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
take a Name as the property name instead of a String.

Add Object::SetAccessor, Template::SetNativeDataProperty, and
ObjectTemplate::SetAccessor overloads that can define accessors for
symbol-named properties.

R=dcarney@chromium.org, rossberg@chromium.org
BUG=v8:3394
TEST=cctest/test-api/TestSymbolProperties
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:25:13 +00:00
arv@chromium.org
3ac7c2025f Suppress test262 test that tests duplicate properties
In ES6 duplicate properties are allowed

BUG=
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:24:53 +00:00
Jacob.Bramley@arm.com
da48f1246c ARM64: Fix SHR logic error.
The `right == 0` checks only worked for `0 <= right < 32`. This patch
replaces the checks with simple tests for negative results.

The attached test can detect this error, but the test relies on a broken
flag (--noopt-safe-uint32-operations), so it is skipped for now. See
issue 3487 for details.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:58:18 +00:00
arv@chromium.org
cfdfbb885e ES6: Duplicate properties are no longer an error
This removes the duplicate property checker and updates the tests.

BUG=v8:3498
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:25:48 +00:00
yangguo@chromium.org
930e5ccc3e Implement Math.expm1 using port from fdlibm.
R=rtoy@chromium.org
BUG=v8:3479
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:24:07 +00:00
sigurds@chromium.org
566cdc3bcd Reland "Add initial support for inlining."
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.

Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
yangguo@chromium.org
8cb41618ce Blacklist %InternalSetProperty from runtime test fuzzing.
R=verwaest@chromium.org
BUG=405499
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:51:48 +00:00
bmeurer@chromium.org
b15a082d56 Fix implementation of bit count functions.
The bit counting functions provided by CompilerIntrinsics were undefined
for zero, which was easily overlooked and unsafe in general. Also their
implementation was kinda hacky and mostly untested. Fixed the
implementation and moved the functions to base/bits.h.

TEST=base-unittests,cctest,compiler-unittests,mjsunit
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:10:41 +00:00
yangguo@chromium.org
f7947b8ec4 Fix --expose-debug-as with number as argument.
R=jkummerow@chromium.org
BUG=405491
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:52:22 +00:00
yangguo@chromium.org
5832ab8501 Expose function CheckDebugBreak in the debugger api
API=v8::Debug::CheckDebugBreak
LOG=Y
R=aandrey@chromium.org, vsevik@chromium.org, yurys@chromium.org

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

Patch from Sergei Vasilinetc <sergeyv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:04:05 +00:00
verwaest@chromium.org
26d72d5024 Get rid of GetLazyValue and clients.
This breaks fetching name of the constructor property of "Object"-labeled values in the heap-snapshot-generator until that's handlified and can be moved over to the LookupIterator.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:37:23 +00:00
bmeurer@chromium.org
66dcb63276 Fix arm64 build.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:33:47 +00:00
hpayer@chromium.org
1605474d70 Use actual incremental marking throughput in IdleNotification to estimate marking step size.
BUG=
R=jochen@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:33:03 +00:00
yangguo@chromium.org
b4a35fe7e5 Remove RegExp.$input.
R=arv@chromium.org, mathiasb@opera.com
BUG=v8:3486
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:43:00 +00:00
m.m.capewell@googlemail.com
a8b09acd7b [turbofan] Add ARM64 tests and fix shift bug
Add more tests for logical immediate and shift instruction selection, and fix bug in range for supported shifts.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:25:30 +00:00
bmeurer@chromium.org
98293ab8d2 [turbofan] Add support for Finish to the InstructionSelector.
Also fix an off-by-one bug in the handling of Parameter nodes, and
improve test coverage for pointer map computation.

TEST=compiler-unittest
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:16:30 +00:00
bmeurer@chromium.org
fa3dc0a534 [turbofan] Add support for ChangeTaggedToUint32 in ChangeLowering.
Also refactor some common code in ChangeLowering.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 08:13:00 +00:00
bmeurer@chromium.org
7c36df7b03 [turbofan] Add support for ChangeUint32ToTagged in ChangeLowering.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 04:01:36 +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
verwaest@chromium.org
1a8bed477e Use LookupIterator to transition to accessors
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 17:02:04 +00:00
sigurds@chromium.org
ae41c7e4a5 Revert "Load global object and builtins from activation."
This reverts commit r23205.

Setting string-type flags in unit tests is not a good idea.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 16:07:15 +00:00
sigurds@chromium.org
e07c82baf2 Load global object and builtins from activation.
BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:16:23 +00:00
arv@chromium.org
8d189e84b4 ES6: Make sure we do not store -0 as the key in Map/Set
BUG=v8:3515
LOG=Y
R=adamk@chromium.org, dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:15:41 +00:00
arv@chromium.org
eb7fcad7c5 Remove removed flags from tests
BUG=None
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:09:38 +00:00
sigurds@chromium.org
b488b2ed29 Revert "Add initial support for inlining."
This reverts commit r23197.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf Add initial support for inlining.
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
rossberg@chromium.org
8394975ec7 Expose well-known Symbols to C++ API.
BUG=341423
LOG=Y
R=arv@chromium.org, dcarney@chromium.org, rossberg@chromium.org

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:08:46 +00:00
rossberg@chromium.org
30af557955 Implement ES6 Array.of()
BUG=v8:3427
LOG=N
R=rossberg@chromium.org

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

Patch from Diego Pino <dpino@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:38:38 +00:00
sigurds@chromium.org
85058ce97d Set ScopeInfo when compiling for unit tests.
This is required to correctly treat eval in unit tests.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:24:24 +00:00
bmeurer@chromium.org
10678fb22f Setup heap-unittests and runtime-unittests.
Initial import of empty unit test suites for Toon and Hannes.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:54:54 +00:00
rodolph.perfetta@arm.com
4d895bd217 ARM64: Refactor instruction selection unit tests.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:14:29 +00:00
bmeurer@chromium.org
c26d0b5f20 Fix NaCl build.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 09:20:51 +00:00
bmeurer@chromium.org
cf51230881 [turbofan] Add proper conversion operators for int32<->int64.
This affects arm64 and x64. Note that we do not yet optimize
these conversions. Later we will add support for merging these
conversion operators into other operations during instruction
selection.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:48:41 +00:00
hpayer@chromium.org
91599ffc6c Do not install fillers when right trimming large objects.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:35:39 +00:00
ulan@chromium.org
96038b7183 Fix Android build.
BUG=v8:3506
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:27:33 +00:00
bmeurer@chromium.org
e0e17b905d Revert "[arm] Shorter test names for parameterized tests."
This reverts commit r23142 because GoogleTest is very picky about the
parameterized test case names, so not even using an anonymous namespace
can please GTest. Also reverts the renaming applied to in the
ChangeLowering unit test.

TBR=jarin@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 05:24:32 +00:00
bmeurer@chromium.org
936d7218b4 [turbofan] Support lowering of ChangeFloat64ToTagged/ChangeTaggedToInt32.
Adds new ValueEffect operator to ensure proper scheduling of
AllocateHeapNumber call nodes.

Also includes some refactoring to reduce code duplication.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 04:54:06 +00:00
titzer@chromium.org
5281cbebca Finish TODO in Schedule. s/entry/start/g and s/exit/end/g to be more regular.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 13:28:10 +00:00
dslomov@chromium.org
65ae6e92ab Parse 'super' keyword.
BUG=v8:3330
LOG=N
R=arv@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 12:35:34 +00:00
bmeurer@chromium.org
d9fe1e71c3 [turbofan] Add new ControlEffect and Finish operators.
Fix the ChangeLowering to properly use ControlEffect nodes
to turn the control output of IfTrue nodes into an effect
input for the Load nodes, and to properly use Finish nodes
to ensure that allocation and store were both performed
prior to actually using the allocated heap number.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:36:06 +00:00
bmeurer@chromium.org
e4db78e705 [arm] Recognize comparisons of shifts with zero.
For example, recognize

  0 == r1 << r2

and generate a single

  MOVS rt, r1, lsl r2

instruction.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:10:01 +00:00
jkummerow@chromium.org
dacca11cb9 Correctly handle holes when concat()ing double arrays
BUG=chromium:403409
LOG=y
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:51:35 +00:00
yangguo@chromium.org
cf75a0b6e6 Fix PromiseHasRejectHandler.
The odd-numbered items in the queue are deferred objects, not promises.

R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:43:11 +00:00
bmeurer@chromium.org
669305c50a [arm] Shorter test names for parameterized tests.
See https://codereview.chromium.org/475823002 for the discussion.

TEST=compiler-unittests
R=jarin@chromium.org
BUG=v8:3489
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 07:56:14 +00:00
bmeurer@chromium.org
d32fa64d33 Refactor ChangeLowering class to avoid template specialization.
Also refactor the unit tests and add support to easily
match DAGs using CaptureEq() matcher.

TEST=compiler-unittests
BUG=v8:3489
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 06:54:07 +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
mstarzinger@chromium.org
3adac582b0 Deprecate LoweringBuilder in favor of Reducer.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
jarin@chromium.org
0caf06dbd2 Remove the flaky store buffer test for maps.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 11:31:42 +00:00
dslomov@chromium.org
eebb61a3f9 Fix OrderedHashTabelIterator accessors.
They might be undefined for uninitialized iterators.
The rest of the code is ready for this eventuality.

R=arv@chromium.org, adamk@chromium.org
BUG=403292
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 10:24:19 +00:00
titzer@chromium.org
8741997982 Enable more tests for simplified lowering after assuming signed for word32.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:52:21 +00:00
titzer@chromium.org
9803a72417 Unify MachineType and RepType.
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.

These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b [turbofan] Introduce WordRor machine operator.
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
jarin@chromium.org
18a10e3482 Fix pointer iteration for maps.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:41:33 +00:00
yangguo@chromium.org
efde48fb30 Fix test expectations.
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:11:44 +00:00
yangguo@chromium.org
0ae0b81cdb Ignore default reject handler when looking for reject handlers.
LOG=N
BUG=v8:3093
R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:57:48 +00:00
bmeurer@chromium.org
f4b5224ae9 [turbofan] Refactor the InstructionSelector tests.
Also fix some issues and improve test coverage.

TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:33:50 +00:00
mstarzinger@chromium.org
76a49573f3 Fix non-TF target build after r23107.
TBR=jarin@chromium.org
TEST=cctest/test-run-deopt

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:47:32 +00:00
arv@chromium.org
fdd094abcf ES6: Make Map/Set constructors support iterable values
Same for WeakMap/WeakSet

https://bugs.ecmascript.org/show_bug.cgi?id=3111

The change from the reverted version is that LoadIC_Miss now uses Name
instead of String.

BUG=v8:3508
LOG=Y
R=adamk@chromium.org, dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:34:15 +00:00
mstarzinger@chromium.org
8b7dd630da Move %IsOptimized runtime helper into test case.
R=jarin@chromium.org
TEST=cctest/test-run-deopt

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:09:50 +00:00
aandrey@chromium.org
3a3d6bd4f6 Expose Value::IsArgumentsObject in V8 API.
R=yangguo@chromium.org, svenpanne@chromium.org, yangguo

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 13:06:30 +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
titzer@chromium.org
07ab6791a1 Add FOR_INT32_SHIFTS to value-helper.h
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:30:00 +00:00
rodolph.perfetta@arm.com
b5b4e2c0b9 ARM64: unit tests for instruction selection.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 10:29:22 +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
arv@chromium.org
0a35d53f7d Revert "ES6: Make Map/Set constructors support iterable values"
Reason for revert:
TestSetConstructorIterableValue(WeakSet) fails on x64.debug

TBR=adamk@chromium.org,dslomov@chromium.org
LOG=Y
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 21:42:27 +00:00
arv@chromium.org
f95b81a6ef ES6: Make Map/Set constructors support iterable values
Same for WeakMap/WeakSet

https://bugs.ecmascript.org/show_bug.cgi?id=3111

BUG=v8:3508
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 20:09:40 +00:00
arv@chromium.org
6c209206f5 WeakMap/WeakSet: Add test for non object keys
Add test for non object keys in the iterable passed to the constructor.

BUG=v8:3399
LOG=Y
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 19:54:52 +00:00
dusan.milosavljevic@imgtec.com
8804736ba3 Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Fixing gclient runhooks failure caused by reverted commit r23050.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 19:04:15 +00:00
mstarzinger@chromium.org
1d2a0759f2 Fix predictable mode to make time pass faster.
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 17:54:41 +00:00
dslomov@chromium.org
d2fe3e68ea Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.

R=hpayer@chromium.org, verwaest@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=23056

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 15:28:20 +00:00
yangguo@chromium.org
0f81d7698a Implement Math.log1p using port from fdlibm.
Port contributed by Raymond Toy <rtoy@google.com>.

R=rtoy@chromium.org
LOG=N
BUG=v8:3481

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:36:33 +00:00
mstarzinger@chromium.org
44247036a7 Fix newly discovered presubmit errors.
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:33:35 +00:00
jochen@chromium.org
5f1f897894 Revert 23077 - "Use CommonNodeCache for heap constants in ChangeLowering."
Breaks compilation on Mac64

| TEST=compiler-unittests
| R=jarin@chromium.org
|
| Committed: https://code.google.com/p/v8/source/detail?r=23077

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:53:14 +00:00
titzer@chromium.org
0e77a31cbd Fix presubmit error with explicit constructor in test.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:41:50 +00:00
bmeurer@chromium.org
dae1e1ea01 Use CommonNodeCache for heap constants in ChangeLowering.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:37:50 +00:00
rodolph.perfetta@arm.com
d5f0ecfbd3 ARM64: Enable TF tests.
Updated the test status file accordingly.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:30:45 +00:00
mstarzinger@chromium.org
b84dc47259 Reduce redundant phi nodes after graph building.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:30:22 +00:00
sigurds@chromium.org
24f7a70df4 Provide mutators in NodeProperties instead of exposing indicies.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 12:20:39 +00:00
bmeurer@chromium.org
81c99058da Tests for ChangeLowering are target tests since they use the Linkage.
This fixes MIPS.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 09:52:39 +00:00
bmeurer@chromium.org
a8b8fbbd98 Rename COMPILER_TEST to TARGET_TARGET.
The name COMPILER_TEST is misleading here.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 09:48:52 +00:00
bmeurer@chromium.org
77be85efaa Fix windows build.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:30:13 +00:00
bmeurer@chromium.org
51846f64db Initial import of ChangeLowering.
ChangeLowering is a Reducer to lower simplified change operators
to machine subgraphs. This initial version supports ChangeBitToBool,
ChangeBoolToBit, ChangeTaggedToFloat64 and ChangeInt32ToTagged.

TEST=compiler-unittests/change-lowering-unittest
BUG=v8:3489
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:24:20 +00:00
titzer@chromium.org
81047ea644 Assume signed for converting to word32/float64 unless use or output is explicitly unsigned.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:09:24 +00:00
titzer@chromium.org
f3ccf2d51b Disable code generation in tests that use GraphBuilderTester on platforms that have no TF backend.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 08:06:02 +00:00
dslomov@chromium.org
dc4c277589 Revert "Add "own" symbols support."
This reverts commit r23056 for breaking Mac x64 test.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 21:44:08 +00:00
machenbach@chromium.org
b50769cc54 Skip test with TF on GC stress.
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 19:44:33 +00:00
dslomov@chromium.org
cd30676052 ToNumber(Symbol) should throw TypeError
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tonumber

Based on patch from caitp <caitpotter88@gmail.com>
https://codereview.chromium.org/454233002/

BUG=v8:3499
LOG=Y
R=dslomov@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 19:24:05 +00:00
dslomov@chromium.org
88f65f2c52 Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:59:38 +00:00
paul.lind@imgtec.com
fe7860fce2 MIPS: Fix test-simplified-lowering to pass without tf implemention.
GenerateCode() only for SupportedTarget() in 3 places, as in the
other tests here.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:54:40 +00:00
machenbach@chromium.org
604c52da52 Revert "Enable C++11 tests on windows."
This reverts commit r23052. This sets a new landmine.

TBR=jochen@chromium.org
BUG=400033
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 18:28:54 +00:00
machenbach@chromium.org
f744c68936 Revert "Reland "MIPS: Add support for arch. revision 6 to mips32 port.""
This reverts commit r23050 for breaking runhooks on chromium.

See e.g.:
http://build.chromium.org/p/client.v8/builders/Chrome%20Linux%20Perf/builds/1438/steps/runhooks/logs/stdio

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:18:49 +00:00
machenbach@chromium.org
c9d217adf5 Enable C++11 tests on windows.
This also adds a landmine as windows bots need a clobber.

BUG=400033
LOG=n
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 16:10:29 +00:00
titzer@chromium.org
6fa2cee262 Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:55:28 +00:00
dusan.milosavljevic@imgtec.com
2097fa59b3 Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Original commit r23028 breaks ARM64 build due to conflicting FP64 symbolic constant definition in src/globals.h and src/arm64/constants-arm64.h.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 15:46:32 +00:00
verwaest@chromium.org
d094d0fb44 Tag all prototypes as proto, except those set using __proto__
BUG=
R=ishell@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:00:58 +00:00
titzer@chromium.org
6603cbb319 Remove duplication in Scheduler and simplify interface. Make ComputeSchedule() and ComputeSpecialRPO() the only interface used by clients.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 13:07:32 +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
jochen@chromium.org
152c3b809c Revert 23028 - "MIPS: Add support for arch. revision 6 to mips32 port."
Breaks compilation of ARM64.

| Additional summary:
|  - Introduce fp64 fpu mode into mips32 port required for r6.
|  - Implement runtime detections for fpu mode and arch. revision to preserve
|    compatibility with previous architecture revisions.
|
| TEST=
| BUG=
| R=jkummerow@chromium.org, paul.lind@imgtec.com
|
| Review URL: https://codereview.chromium.org/453043002

BUG=none
LOG=n
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 11:01:06 +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
dusan.milosavljevic@imgtec.com
6c47bc726c MIPS: Add support for arch. revision 6 to mips32 port.
Additional summary:
 - Introduce fp64 fpu mode into mips32 port required for r6.
 - Implement runtime detections for fpu mode and arch. revision to preserve
   compatibility with previous architecture revisions.

TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:40:25 +00:00
titzer@chromium.org
7617f0dc1b Fix size_t/int conversions for Win64.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 10:06:36 +00:00
titzer@chromium.org
670df5063b Implement representation selection as part of SimplifiedLowering. Representation selection also
requires inserting explicit representation change nodes to be inserted in the graph. Such nodes
are pure, but also need to be lowered to machine operators. They need to be scheduled first, to
determine the control input for any branches inside.

This CL requires extensive testing. More tests to follow.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 09:40:02 +00:00
machenbach@chromium.org
fc87e1d477 Skip test that times out.
BUG=v8:3503
LOG=n
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 09:16:14 +00:00
yangguo@chromium.org
413b20b6c1 Make %DebugPushPromise more robust wrt fuzzing.
If %DebugPushPromise and throwing is called outside its intended context,
we may encounter assertion failures.

R=hpayer@chromium.org
BUG=401915
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 07:59:10 +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
machenbach@chromium.org
102a17402f Skip richards with TF.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 14:07:50 +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
mstarzinger@chromium.org
0e47697c18 Minor simplification and cleanup of graph builder.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 13:51:30 +00:00
rossberg@chromium.org
f7c49bafb0 ES6: Implement WeakMap and WeakSet constructor logic
Now that iterators are enabled by default we need to correctly
handle the parameter for WeakMap and WeakSet. If provided then the
argument is iterated over to add entries to the WeakMap and WeakSet.

BUG=v8:3399
LOG=Y
R=adamk@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 13:39:13 +00:00
yangguo@chromium.org
0c32d8c5cb Fix debug-promises tests.
Using assertEquals on two Promises always passes. Use assertSame instead.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:57:51 +00:00
rossberg@chromium.org
d9d6a60973 Enable ES6 unscopables
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
sigurds@chromium.org
055fe8c3e9 Update and extend context specialization.
* Add store-chain folding to context specialization.
* Replace all uses of context with constant and then use
  a visitor to find the places to optimize.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:05:31 +00:00
rossberg@chromium.org
5427ea5285 Remove proxies from --harmony switch for M38, because problems
They can still be activated separately using the --harmony-proxies switch,
but are no longer implied by Chrome's "Experimental JavaScript" option.

R=yangguo@chromium.org
BUG=
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:58:19 +00:00
svenpanne@chromium.org
ef6e0fa174 Re-enable C++11 tests (still not on VS or NaCL).
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:03:50 +00:00
bmeurer@chromium.org
12e8b34b07 Reland "Add initial support for compiler unit tests using GTest/GMock.".
LOG=y
BUG=v8:3489
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 07:04:07 +00:00
bmeurer@chromium.org
a5067853ff Skip -pedantic for GTest as long as we -std=gnu++0x.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 06:59:11 +00:00
wingo@igalia.com
cde2b800c7 Properly rebaseline getOwnPropertyNames test.
R=arv@chromium.org
TBR=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 18:19:38 +00:00
wingo@igalia.com
9d6a18ad1c Rebaseline WebKit object getOwnPropertyNames test for Array.{keys,values,entries}
R=arv@chromium.org
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 17:57:27 +00:00
wingo@igalia.com
cebddb662e Enable ES6 iteration by default
This enables for-of, as well as @@iterator implementations for strings
and arrays.

R=rossberg@chromium.org
BUG=v8:2214
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
verwaest@chromium.org
a1f3f02415 Mark as prototype only after instantiating the function
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:14:22 +00:00
neis@chromium.org
c972e8e213 Extend some operations to range types.
This is a reland of 22945, which failed to build on Windows due to
(some versions of?) Visual Studio lacking copysign().

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 15:30:16 +00:00
machenbach@chromium.org
f263478eed Enable TF for testing benchmarks.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 15:26:28 +00:00
mstarzinger@chromium.org
6fce0d4df3 Remove dangerous default parameter from machine Store operator.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 11:01:02 +00:00
rodolph.perfetta@arm.com
437fef5000 ARM64: Support arbitrary offset in load/store pair.
TF calls can generate code exceeding the instruction range.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 10:46:40 +00:00
sigurds@chromium.org
32c4ed8d21 Directly use OperatorProperties where possible instead.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 09:14:47 +00:00
mstarzinger@chromium.org
159cc8ddf2 v8::TryCatch should cancel the scheduled exception on Reset.
v8::TryCatch cancels the scheduled exception on destruction if |Rethrow|
was never called.
It is reasonable to do the same in |Reset|.

BUG=362388, 359386
LOG=
R=mstarzinger@chromium.org

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:55:49 +00:00
wingo@igalia.com
2c615439bc Mirror object properties are always names
R=aandrey@chromium.org, rossberg@chromium.org, yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 08:36:38 +00:00
yangguo@chromium.org
2ec32f346d Only escape U+0022 in argument values of String.prototype HTML methods
Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=mjsunit/es6/string-html
BUG=v8:2217
LOG=Y
R=arv@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:45:33 +00:00
bmeurer@chromium.org
0a84fab8ef No need to link base-unittests with GMock.
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:14:13 +00:00
adamk@chromium.org
c865b20417 Update webkit test for expected own properties
Follow up to: 438103002

BUG=None
LOG=Y
R=adamk@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 19:30:52 +00:00
neis@chromium.org
7692ec62dc Revert "Extend some operations to range types."
This reverts commit 22945.  Turns out Visual Studio doesn't have copysign().

TBR=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:43:55 +00:00
neis@chromium.org
86759140f0 Extend some operations to range types.
This is a reland of 22934, which failed to build on Windows due to a missing include, and on ARM due to a name clash with some predefined constants.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 17:23:47 +00:00
rossberg@chromium.org
25b978cbf4 This implements unscopables
The unscobables allow us to black list properties from showing up in
with statements.

https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n

The spec draft is not fully up to date.

https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution

BUG=v8:3401
LOG=Y
R=rossberg@chromium.org, verwaest@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +00:00
yangguo@chromium.org
a1ee057ff7 Rebaseline webkit test expectations after r22938.
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:31:35 +00:00
yangguo@chromium.org
c29b0a962d Add CheckObjectCoercible for the String.prototype HTML methods
Contributed by Mathias Bynens <mathiasb@opera.com>.

TEST=mjsunit/es6/string-html
BUG=v8:2218
LOG=Y
R=yangguo@chromium.org

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

Patch from Mathias Bynens <mathias@qiwi.be>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:58:46 +00:00
neis@chromium.org
19d07b2a9b Revert "Extend some operations to range types."
This reverts 22934.

TBR=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:09:21 +00:00
neis@chromium.org
a6ad240b91 Extend some operations to range types.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 13:51:38 +00:00
bmeurer@chromium.org
38ca3f4fc2 Revert "Add initial support for compiler unit tests using GTest/GMock."
This reverts commit r22927 for breaking build.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:59:02 +00:00
bmeurer@chromium.org
1f1e9495e5 Add initial support for compiler unit tests using GTest/GMock.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=svenpanne@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:52:47 +00:00
neis@chromium.org
a8729bdcf6 Fix a bug in type fuzzing and several handlification bugs elsewhere.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 12:41:37 +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
yangguo@chromium.org
71857295b4 Reland "Implement trigonometric functions using a fdlibm port."
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:39:39 +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
yangguo@chromium.org
ff7975aa8d Revert "Implement trigonometric functions using a fdlibm port."
This reverts r22918 and r22920.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 11:04:47 +00:00
yangguo@chromium.org
3c4d23b917 Implement trigonometric functions using a fdlibm port.
R=jochen@chromium.org, rtoy@chromium.org, svenpanne@chromium.org
BUG=v8:3006
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 10:33:17 +00:00
bmeurer@chromium.org
f862ed533a Use EXPECT_DOUBLE_EQ for floating point comparisons.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 10:23:04 +00:00
bmeurer@chromium.org
8727c637ee Fix Mac build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:50:17 +00:00
yangguo@chromium.org
3b54f89ffa Trigger exception debug events on Promise reject.
R=rossberg@chromium.org, aandrey@chromium.org
BUG=393913
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:41:52 +00:00
bmeurer@chromium.org
ef17fe7633 Refactor unit tests for the base library to use GTest.
TEST=base-unittests
BUG=v8:3489
LOG=y
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:35:21 +00:00
rossberg@chromium.org
6f4aea9512 Remove @@create and don't expose unimplemented symbols
Also, add some bits missing from turn-on-symbols CL

R=adamk@chromium.org, dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:31:21 +00:00
yangguo@chromium.org
0fb57e51d4 Check that external references are registered in the serializer.
Inspired by a patch by Slava Chigrin <vchigrin@yandex-team.ru>

R=jkummerow@chromium.org, vchigrin@yandex-team.ru

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 07:20:14 +00:00
adamk@chromium.org
bcf8b05072 Enable ES6 Map and Set by default
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.

Depends on ES6 Symbols: https://codereview.chromium.org/421313004

BUG=v8:1622
LOG=Y
R=arv@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
machenbach@chromium.org
a395d78814 Fix webkit status file.
TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:12:06 +00:00
hpayer@chromium.org
13c6cb7215 Skip toString-number webkit test because of spurious failure.
BUG=
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 16:36:31 +00:00
mstarzinger@chromium.org
a99b0e61a6 Disable CPlusPlus11Features for making GCMole and NaCL unhappy.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 15:17:28 +00:00
bmeurer@chromium.org
20949f4ba2 Fix Native Client build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:26:21 +00:00
bmeurer@chromium.org
878a0742cc [arm64] Fix.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 14:21:07 +00:00
bmeurer@chromium.org
bbd62e4a20 [turbofan] Improve testability of the InstructionSelector.
Allow to pass the set of supported CPU features to
the InstructionSelector, so it can be tested without
messing with the command line flags.

Also add InstructionSelector sample for ia32.

TEST=cctest/test-instruction-selector,cctest/test-instruction-selector-{arm,ia32}
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:26:55 +00:00
svenpanne@chromium.org
337015e5dd Enable C++11. Synch toolchains with Chrome.
* Consistently enable C++11 features on all platforms.
* Use the same ARM toolchain version as Chrome.
* Make clang the default on Mac OS X, just like Chrome.
* Use C99 on Mac OS X, again following Chrome.
* Small build fixes.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:23:55 +00:00
wingo@igalia.com
6b7f9dba84 yield* calls @@iterator on iterable
R=rossberg@chromium.org
BUG=v8:3422
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:17:49 +00:00
bmeurer@chromium.org
70e7a119e6 Cleanup V8_TURBOFAN_TARGET definition.
Move to globals.h so we do no longer skip any number of
tests. Introduce V8_TURBOFAN_BACKEND, which is 1 if we
actually have a backend and want to compile it, but don't
run the tests.

R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:53:32 +00:00
neis@chromium.org
d04a2cbda5 Remove unnecesssary auxiliary definitions.
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 11:27:26 +00:00
bmeurer@chromium.org
ecec301571 Revert "Initial import of unittests using GTest/GMock."
This reverts commit r22847 and r22848. Isolate initialization/shutdown
still broken (so certain debug builds just crash), and our compiler flags
do not work with other Google projects (i.e. GTest/GMock).

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 10:16:47 +00:00
verwaest@chromium.org
356ac42def Reland "Also mark as prototype when passing in while creating a function."
Skip gc-stress for test relying on stable feedback (and hence stable gc timing).

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 09:24:27 +00:00
sigurds@chromium.org
8322577eeb Make start node a value input to parameter nodes.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:47:39 +00:00
jochen@chromium.org
c608c2f0be Move a bunch of GC related files to heap/ subdirectory
BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:18:22 +00:00
yangguo@chromium.org
01560f9ccd Do not include native Javascript in ExecutionState frames.
When a debug event is triggered, the ExecutionState object should not
expose native JS code.

R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:16:02 +00:00
bmeurer@chromium.org
88ce4eb5bb Fix build.
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:10:21 +00:00
bmeurer@chromium.org
62ac0d1050 Initial import of unittests using GTest/GMock.
R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:07:25 +00:00
yangguo@chromium.org
90bbdacbf8 Merge three PromiseEvent's into one.
This also adds missing instrumentation and removes resolver tracking.

BUG=v8:3093
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:42:06 +00:00
hpayer@chromium.org
2083600aee Remove all encountered weak maps from the list of weak collections when incremental marking is aborted.
BUG=399527
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:29:13 +00:00
alph@chromium.org
f6ddb89cd3 Move anonymous function name beautifying out of v8.
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:08:39 +00:00
adamk@chromium.org
d017da1f1a Fix spurious debug-script assertion after enabling Symbols
This approach, of allowing either N or N+1 in this assert,
is the same approach used before my Symbols patch that naively
changed to use assertEquals.

TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 19:17:21 +00:00
adamk@chromium.org
9012220d55 Fix Object-getOwnPropertyNames test after turning on Symbols
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 19:08:13 +00:00
adamk@chromium.org
d8c30bd8e7 Enable ES6 Symbols by default
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.

BUG=v8:2158
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
verwaest@chromium.org
1404664e34 Ensure prototypes always stay fast by turning them fast again after an operation that turned them slow
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:06:28 +00:00
verwaest@chromium.org
f947eff31d Keep function.prototype fast.
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 15:02:07 +00:00
titzer@chromium.org
7a48b84856 Fix more stack smashing bugs in test.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 14:17:52 +00:00
titzer@chromium.org
0898e9ece2 Fix build on Win64 for tests.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 13:27:33 +00:00
titzer@chromium.org
60fb024ad6 TF: simplified-lowering tests accidentally ran on unsupported platforms.
TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:51:34 +00:00
titzer@chromium.org
a638717dbe Add support for untagged LoadField, StoreField, LoadElement, and StoreElement simplfied operators. This is needed for untagged accesses of typed array backing stores and generally cleans up.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 12:39:15 +00:00
bmeurer@chromium.org
0bd7c29dbf Fix tools/generate-runtime-tests.py.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:45:52 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jkummerow@chromium.org
3a476eb782 Update test expectations for mjsunit/tools/tickprocessor
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 09:13:58 +00:00
bmeurer@chromium.org
35f0976895 [turbofan] Support for combining branches with <Operation>WithOverflow.
Also unify the handling of binops in the InstructionSelector
backends.

TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:18:37 +00:00
mstarzinger@chromium.org
96b41c32b2 Paint the tree green for TF even more.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 15:29:15 +00:00
mstarzinger@chromium.org
f5b0a37485 Extend TF test coverage to unsupported targets.
R=titzer@chromium.org
TEST=all

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 13:51:23 +00:00
mstarzinger@chromium.org
c1f60c6c1f Paint the tree green for TF some more.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 13:08:05 +00:00
bmeurer@chromium.org
ba12ca16a2 [turbofan] Add support for Int32SubWithOverflow.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 12:18:20 +00:00
mstarzinger@chromium.org
abd0a0b264 Blacklist some webkit and mozilla test for TF.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 11:36:25 +00:00
bmeurer@chromium.org
6161d4305d [arm] Unify instruction selector for Word32Neg.
Previously code generation for Word32Neg (implemented as Word32Xor
with -1) was somewhat adhoc and not complete. Now it's uniform
and supports the full range of operand2's.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22789 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 11:14:47 +00:00
titzer@chromium.org
ee7f97c8a0 TF: Rename ConvertXToY machine operators to ChangeXToY.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:54:58 +00:00
bmeurer@chromium.org
6ccb8704f2 [turbofan] Add Int32AddWithOverflow machine operator.
TEST=cctest/test-run-machops,cctest/test-instruction-selector-arm
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:32:58 +00:00
titzer@chromium.org
0e0614ec47 Fix compile error on Win32.
R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:38:16 +00:00
titzer@chromium.org
42fa27187e TF: Lowering representation changes to machine operators (WIP: need inline allocation for some). Move tests related to lowering representation changes into test-changes-lowering.cc.
R=bmeurer@chromium.org, bmeuer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 08:16:19 +00:00
weiliang.lin@intel.com
f806dc5262 X87: Land the Fan (disabled)
port r22709.

This patch only covers the code change of orginal X87 port.
For the changes under ./src/compiler/ and ./tools/gyp/v8.gyp file,
I will submit it in another seperate patch.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 07:42:06 +00:00
danno@chromium.org
d9900a2071 Fix Win64 build
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 16:22:27 +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
bmeurer@chromium.org
f2ad69e6f3 Another fix for cctest/test-run-machops/RunLoadImmIndex.
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:08:08 +00:00
titzer@chromium.org
6144849576 TF: Fix windows build (implicit cast between double and int32_t).
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 12:01:36 +00:00
danno@chromium.org
218395ebaa Fix MIPS build: use stubbed-out TF implementation
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:59:49 +00:00
titzer@chromium.org
d521ed2507 TF: Add ConvertFloat64ToUint32 and ConvertUint32ToFloat64 machine operators.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:45:22 +00:00
svenpanne@chromium.org
2fbf073fde More memory leak fixes.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:31:39 +00:00
bmeurer@chromium.org
546e8a6287 Fix cctest/test-run-machops/RunLoadImmIndex
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:24:44 +00:00
svenpanne@chromium.org
337a7f61b2 Fixed a few space leaks.
TBR=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 10:17:25 +00:00
bmeurer@chromium.org
bcbb39e0ef Fix android debug build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:30:16 +00:00
jkummerow@chromium.org
9930eaae1c Greenify NaCl build
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 09:19:50 +00:00
bmeurer@chromium.org
0eecf982f9 [arm] Add support for ROR. Refactor operand2 handling.
This was the last missing bit for full "flexible second operand" /
operand2 support on ARM.

TEST=cctest/test-instruction-selector-arm,cctest/test-run-machops
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 07:44:29 +00:00
danno@chromium.org
252cb8ba6e Fix 64-bit VS2010 build
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 16:21:36 +00:00
mstarzinger@chromium.org
1e1a7a593b Fix relative include path in cctest case.
R=jarin@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:35:29 +00:00
mstarzinger@chromium.org
18bd8cadc4 Fix build failures with LLVM-GCC 4.2 on Mac (moar).
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 15:34:09 +00:00
mstarzinger@chromium.org
c1ce19867c Fix relative include path in cctest helper.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:40:57 +00:00
mstarzinger@chromium.org
2c328e94f9 Remove accidental duplication in cctest suite.
R=danno@google.com, danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:23:52 +00:00
mstarzinger@chromium.org
20d6798293 Add missing generated tests.
R=danno@google.com, danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 14:19:42 +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
jkummerow@chromium.org
49233c9972 Throw an exception when an access check fails and no external callback is installed
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
dusan.milosavljevic@imgtec.com
e0401f3f71 MIPS64: Add support for architecture revision 6.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 18:02:26 +00:00
mstarzinger@chromium.org
57c315d0b3 Fix handling of potential string additions in hydrogen.
R=titzer@chromium.org
TEST=mjsunit/regress/regress-3476
BUG=v8:3476
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 14:53:11 +00:00
verwaest@chromium.org
f08d2690c6 Fix Object.freeze with field type tracking.
Keep the descriptor properly intact while update the field type.

BUG=v8:3458
LOG=y
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:30:29 +00:00
mstarzinger@chromium.org
947740a6d8 Revert "Make --always-opt also optimize toplevel code."
TBR=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 13:08:51 +00:00
mvstanton@chromium.org
6980c4277c CallIC customization stubs must accept that a vector slot is cleared.
The CallIC Array custom IC stub read from the type vector, expecting
to get an AllocationSite. But there are paths in the system where a
type vector can be re-created with default values, even though we
currently grant an exception to clearing of vector slots with
AllocationSites in them at gc time.

BUG=392114
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:53:30 +00:00
mstarzinger@chromium.org
34f5edd500 Make --always-opt also optimize toplevel code.
R=jacob.bramley@arm.com, titzer@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:41:42 +00:00
yangguo@chromium.org
a8a02a51f1 Inline Math.fround in optimized code.
R=svenpanne@chromium.org
BUG=v8:3469
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 11:34:08 +00:00
verwaest@chromium.org
2902685cae Add generated test
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 08:36:45 +00:00
verwaest@chromium.org
47f9d3ed52 Restore DefineApiAccessorProperty
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 08:09:14 +00:00
ishell@chromium.org
81db67928b I said, skip long-running mjsunit/array-functions-prototype-misc test.
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 16:28:02 +00:00
ishell@chromium.org
f2e5395a32 Regression test for chromium:388880 added.
BUG=chromium:388880
LOG=N
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 15:33:24 +00:00
ishell@chromium.org
ad69b7ab5c Skip long-running mjsunit/array-functions-prototype-misc.js test
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 14:38:35 +00:00
danno@chromium.org
afcfa7d2b7 Keep new arrays allocated with 'new Array(N)' in fast mode (revisited)
Also explicit length setting with a.length = N should remain in fast mode.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:12:26 +00:00
rmcilroy@chromium.org
cc532e449b Tests that the GC doesn't mistake non-pointer constant pool entries as pointers.
Adds a test for ConstantPoolArray to ensure that the GC
doesn't mistake non-pointer entries as pointers and try
to modify them during scavenge operations.

Also adds asserts to ConstantPoolArray::set(int, *Object) to
ensure we don't add new-space pointers in constant pool
array.

R=hpayer@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=22608

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 10:04:36 +00:00