bmeurer@chromium.org
6bb08db27e
[turbofan] Next step towards shared operators.
...
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/555283004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:23:45 +00:00
mstarzinger@chromium.org
13f01e65c4
Enable typed pipeline for TurboFan.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/552303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:52:50 +00:00
mstarzinger@chromium.org
de0b213cf2
Switch inlining to use simplified instead of machine loads.
...
R=sigurds@chromium.org
TBR=bmeurer@chromium.org
TEST=cctest/test-run-inlining --turbo-types
Review URL: https://codereview.chromium.org/557253004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:48:03 +00:00
bmeurer@chromium.org
4f5b0911db
Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion compile error." and "Add copy support in inliner.".
...
This reverts commits r23813, r23805 and r23804 for Windows breakage.
TBR=mstarzinger@chromium.org ,sigurds@chromium.org
Review URL: https://codereview.chromium.org/562543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 06:39:25 +00:00
mstarzinger@chromium.org
947726a79c
Switch inlining to use simplified instead of machine loads.
...
R=sigurds@chromium.org
TEST=cctest/test-run-inlining --turbo-types
Review URL: https://codereview.chromium.org/551413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 15:55:47 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
jarin@chromium.org
e1deee4181
Revert "Initial shot at deoptimizing JSCallFunction in Turbofan."
...
This reverts commit r23020.
BUG=
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/453363003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 07:33:58 +00:00
jarin@chromium.org
5c2e968bdb
Initial shot at deoptimizing JSCallFunction in Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/444883006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 06:55:16 +00:00
rossberg@chromium.org
82502075d6
Mark Distributivity tests flaky on ARM
...
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/456763003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 14:05:24 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
verwaest@chromium.org
4a956ab1c2
Change Has* and Get*Attributes to return Maybe<*>, indicating possible exceptions.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/418383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-25 18:32:11 +00:00
machenbach@chromium.org
110a5fdae4
Revert "Tests that the GC doesn't mistake non-pointer constant pool entries as pointers."
...
This reverts commit r22608 for breaking win and arm64, ConstantPoolExtended and ConstantPoolSmall.
BUG=
TBR=rmcilroy@chromium.org
Review URL: https://codereview.chromium.org/415773010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:59:19 +00:00
rmcilroy@chromium.org
59ee2de97c
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
Review URL: https://codereview.chromium.org/396803009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 18:13:16 +00:00
rmcilroy@chromium.org
7cd5dbb9fa
Revert r22597 (which should have been called: "Tests that the GC doesn't mistake non-pointer constant pool entries as poitners.")
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/413173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:30:53 +00:00
rmcilroy@chromium.org
48f44b65ee
Use heap iterator in store buffer when page was swept precisely.
...
BUG=
R=rmcilroy@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22592
Review URL: https://codereview.chromium.org/413693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:12:44 +00:00
yangguo@chromium.org
2811213380
Flag for serialization when compiling code stubs if --serialize-toplevel.
...
R=mvstanton@chromium.org
BUG=v8:3465
LOG=N
Review URL: https://codereview.chromium.org/419503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:11:30 +00:00
ernstm@chromium.org
9523e0acf4
re-land: Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
This is a re-land of https://codereview.chromium.org/391413006/ with
- int instead of size_t in ring buffer unit test.
- git cl format
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 11:16:01 +00:00
machenbach@chromium.org
4c345d38bd
Partially revert "Unflake and speedup JsNative*Sample cpu profile tests"
...
This reverts the test expectations of commit r22345. Several cpu profiler flakes were happening lately.
BUG=v8:2999
LOG=n
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/418843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 09:26:03 +00:00
jochen@chromium.org
cb8105e223
Move gc notifications from V8 to Isolate and make idle hint mandatory
...
Embedders should use e.g. isolate->IdleNotification(1000) instead
of v8::V8::IdleNotification()
BUG=397026
R=hpayer@chromium.org , ernstm@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/412163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 08:28:02 +00:00
machenbach@chromium.org
ea1be613dc
Revert "Track history of events in GCTracer."
...
This reverts commit 22567 for breaking win64 compile.
BUG=
TBR=ernstm@chromium.org
Review URL: https://codereview.chromium.org/414743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 16:12:02 +00:00
ernstm@chromium.org
462cca2ecb
Track history of events in GCTracer.
...
- track incremental marking stats directly on GCTracer.
- add simple ring buffer class.
- track last 10 scavenges and mark-compacts in ring buffers on GCTracer.
- various clean-ups.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/391413006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 15:16:53 +00:00
neis@chromium.org
ac192b4f2a
Add debugging output to RangeType test.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/411873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 11:17:14 +00:00
yangguo@chromium.org
ed04566cba
Correctly hook up back references to internalized strings in code deserializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/411483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:16:32 +00:00
neis@chromium.org
6176dee6ea
Add constructor for range types.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/409543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 17:33:22 +00:00
mvstanton@chromium.org
6d3fc8a322
Introduce FLAG_vector_ics.
...
When FLAG_vector_ics is true, then AST nodes that use Load and KeyedLoad ICs
will allocate a type vector slot to store feedback information. Full codegen
will emit a load of the slot into a register if the flag is on.
Support is incomplete, right now the IC doesn't know how to use the feedback
slot.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/398053002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 11:19:56 +00:00
rossberg@chromium.org
8023c9f564
Implement basic code generation for arrow functions
...
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.
BUG=v8:2700
LOG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/382893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
verwaest@chromium.org
7e29b64e27
Reimplement SetProperty using the LookupIterator
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/392243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:47:25 +00:00
mstarzinger@chromium.org
9d2609fe98
Reland "Make v8::TryCatch able to consume natively thrown exceptions."
...
R=svenpanne@chromium.org
BUG=chromium:362388
TEST=cctest/test-api/TryCatchNative
LOG=N
Review URL: https://codereview.chromium.org/399473006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 13:28:12 +00:00
hpayer@chromium.org
6067ca6a62
Concurrent/parallel precise sweeping.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/398333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 11:04:20 +00:00
yangguo@chromium.org
ee9ed36179
Mark test-mark-compact/Promotion as PASS, FAIL on arm64.
...
BUG=v8:3446
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/400533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 06:51:20 +00:00
vogelheim@chromium.org
a42612b4a7
Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
...
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)
Also add a --cache flag to d8, to allow testing the functionality.
-----------------------------
API change
Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).
Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.
Changes from old behaviour:
- If you previously didn't use caching, nothing changes.
Example:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
- If you previously used caching, it worked like this:
- 1st run:
v8::CompileUnbound(isolate, source, kProduceToCache);
Then, source->cached_data would contain the
data-to-be cached. This remains the same, except you
need to tell V8 which type of data you want.
v8::CompileUnbound(isolate, source, kProduceParserCache);
- 2nd run:
v8::CompileUnbound(isolate, source, kNoCompileOptions);
with source->cached_data set to the data you received in
the first run. This will now ignore the cached data, and
you need to explicitly tell V8 to use it:
v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------
BUG=
R=marja@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/389573006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
yangguo@chromium.org
ef734e2686
Verify that source string matches serialized code.
...
R=mvstanton@chromium.org , vogelheim@chromium.org
Review URL: https://codereview.chromium.org/394793002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 06:59:14 +00:00
yangguo@chromium.org
ed744ffa17
Do not dump user source code in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/390303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 10:17:22 +00:00
yangguo@chromium.org
fd57811644
Fix up internalized strings after deserializing user code.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/387343002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-15 08:46:47 +00:00