Commit Graph

15689 Commits

Author SHA1 Message Date
sigurds@chromium.org
eb2fdf106e Fix bug in graph visualizer.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 14:59:41 +00:00
mstarzinger@chromium.org
6b99211112 Disable unit test because of NaCL breakage after r23617.
TBR=bmeurer@chromium.org
TEST=base-unittests/BitsDeathTest.RoundUpToPowerOfTwo32

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 14:52:50 +00:00
bmeurer@chromium.org
c582b41d36 Fix native arm build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:55:41 +00:00
bmeurer@chromium.org
4f00c1b500 Fix windows build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:40:01 +00:00
bmeurer@chromium.org
7d0d01005c First step to cleanup the power-of-2 mess.
TEST=base-unittests,cctest,mjsunit
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 13:36:35 +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
dusan.milosavljevic@imgtec.com
7cafa50986 MIPS64: Unbreak build after r23579.
TEST=
BUG=
R=balazs.kilvady@imgtec.com, bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:44:59 +00:00
yangguo@chromium.org
af3aa27714 Remove NotMissMinorKey implementation from HydrogenCodeStub shims.
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 12:01:37 +00:00
ulan@chromium.org
1823ae012a Fix Date DST computation.
BUG=v8:3116
LOG=N
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:54:08 +00:00
yangguo@chromium.org
946a25640c Minor-key-ify four stubs.
- ICCompareStub
- BinaryOpICStub
- CompareNilICStub
- VectorLoadStub

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:51:25 +00:00
jarin@chromium.org
16e9a016f5 Another Win64 build fix
TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:45: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
2de08b4945 Fix Win64 build (header include mess up)
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:33:28 +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
machenbach@chromium.org
bae5c2a59e [Auto-roll] Bump up version to 3.29.37.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 11:04:17 +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
titzer@chromium.org
ed5f9f8765 Fix representation change insertion for phis.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 10:14:21 +00:00
weiliang.lin@intel.com
25eb303c05 X87: Use Chrome compatible naming for compiler specifics.
port r23579.

This CL includes the part of changes for X87 port which is missed in r23579.
(https://codereview.chromium.org/526223002).

original commit message:

  Use Chrome compatible naming for compiler specifics.
  Less useless creativity is best creativity!

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:40:42 +00:00
verwaest@chromium.org
55e78d3b7a Use correct receiver for DOM accessors on the prototype chain
BUG=v8:3538
LOG=y
R=haraken@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 09:36:37 +00:00
sigurds@chromium.org
de59be7cad Improve graph visualizer for deoptimization and readablity.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 08:44:25 +00:00
bmeurer@chromium.org
2d1fe92b7f Fix non-TF targets after r23547.
Stub out the new AssembleDeoptimizerCall().

BUG=
R=bmeurer@chromium.org

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

Patch from Paul Lind <paul.lind@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:54:47 +00:00
bmeurer@chromium.org
d642d51db7 Fix Windows build.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 07:23:55 +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
88d4c2ddde Add support for storage type to base::Flags.
Also drop the DEFINE_FLAGS() macro, and use the typedef explicitly.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 06:53:14 +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
weiliang.lin@intel.com
3d763dfdc9 X87: InterfaceDescriptor becomes CallInterfaceDescriptor.
port r23560.

original commit message:

  InterfaceDescriptor becomes CallInterfaceDescriptor.

  There was no difference between these two classes in a hierarchical relationship.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 03:43:04 +00:00
weiliang.lin@intel.com
b96d68c039 X87: Multiple stubs can point to the same calling convention
port r23546.

original commit message:
   Multiple stubs can point to the same calling convention

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-02 02:42:36 +00:00
balazs.kilvady@imgtec.com
7260ff8138 MIPS: InterfaceDescriptor becomes CallInterfaceDescriptor.
Port r23560 (9a63ff6)

Original commit message:
There was no difference between these two classes in a hierarchical
relationship.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 18:04:48 +00:00
balazs.kilvady@imgtec.com
9420c278b5 MIPS: Multiple stubs can point to the same calling convention.
Port r23546 (068adb0)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 18:02:35 +00:00
weiliang.lin@intel.com
5c782b9d8c X87: Refactoring InterfaceDescriptors away from code-stubs.h
port r23515.

original commit message:
  Refactoring InterfaceDescriptors away from code-stubs.h

  Clean up and create seperation between the concept of a call descriptor and a
  code stub interface descriptor. The former is just concerned with how to call,
  but the latter has many extra hints related to code generation and deoptimization
  for the implementation of a particular code stub.

BUG=
R=mvstanton@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 14:00:25 +00:00
jarin@chromium.org
311d67d959 Revert "More aggressive reuse of spill slots in the register allocator."
This reverts commit r23536 for breaking DevTools.

TBR=machenbach@chromium.org
BUG=409604
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:58:37 +00:00
yangguo@chromium.org
bdead275bb Sub-minor-key-ify HandlerStubs.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:55:39 +00:00
m.m.capewell@googlemail.com
89cb23f3fd [turbofan] Add/sub ARM64 lhs immediate tests
Addition supports lhs immediates by commuting. Subtraction supports only zero
lhs immediates, through use of the zero register.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:41:19 +00:00
ulan@chromium.org
04d2830a89 Do not clear weak monomorphic IC after context disposal.
BUG=404020
LOG=Y
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 13:40:11 +00:00
jochen@chromium.org
bb41c50d4d Turn on job-based sweeping
Embedders that don't use a v8::Platform yet will have to do so.

BUG=v8:3104
LOG=y
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:54:22 +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
mvstanton@chromium.org
3a7b5b44c1 InterfaceDescriptor becomes CallInterfaceDescriptor.
There was no difference between these two classes in a hierarchical
relationship.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:15:25 +00:00
ulan@chromium.org
ae2b08f420 Trace idle notification.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 12:06:16 +00:00
machenbach@chromium.org
9a57c544f8 [Auto-roll] Bump up version to 3.29.36.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 11:34:15 +00:00
mstarzinger@chromium.org
53f4203667 Fix assertion in JSLoadContext typer.
R=bmeurer@chromium.org

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

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

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

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

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

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

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

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

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

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

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:31:14 +00:00
mvstanton@chromium.org
8786006022 Multiple stubs can point to the same calling convention.
R=yangguo@chromium.org

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

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

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

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:11:44 +00:00