platform/upstream/v8.git
10 years agoFix date cache in strict mode.
ulan@chromium.org [Mon, 17 Mar 2014 15:47:58 +0000 (15:47 +0000)]
Fix date cache in strict mode.

BUG=v8:3220
LOG=N
TEST=mjsunit/regress/regress-3220.js
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed spec violation of storing to length of a frozen object.
ishell@chromium.org [Mon, 17 Mar 2014 15:43:33 +0000 (15:43 +0000)]
Fixed spec violation of storing to length of a frozen object.

BUG=chromium:350890
LOG=N
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Make invalid LHSs a parse-time (reference) error
plind44@gmail.com [Mon, 17 Mar 2014 15:11:04 +0000 (15:11 +0000)]
MIPS: Make invalid LHSs a parse-time (reference) error

Port r19976 (73bbd7a)

Original commit message:
This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for.

To do: check properly in preparser already.

BUG=351658
LOG=Y
R=rossberg@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd tests which ensure that the data produced by the preparser is really used.
marja@chromium.org [Mon, 17 Mar 2014 15:06:33 +0000 (15:06 +0000)]
Add tests which ensure that the data produced by the preparser is really used.

R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlification of ArrayConstructorCommon().
ishell@chromium.org [Mon, 17 Mar 2014 15:01:45 +0000 (15:01 +0000)]
Handlification of ArrayConstructorCommon().

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix ASSERT violation when BinaryOpIC::Transition recurses into itself
jkummerow@chromium.org [Mon, 17 Mar 2014 14:51:31 +0000 (14:51 +0000)]
Fix ASSERT violation when BinaryOpIC::Transition recurses into itself

BUG=chromium:352586
LOG=n
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUtility functions for pretenure call new. These functions aren't yet called in the...
mvstanton@chromium.org [Mon, 17 Mar 2014 13:55:22 +0000 (13:55 +0000)]
Utility functions for pretenure call new. These functions aren't yet called in the tree but will be in the next days. AssertUndefinedOrAllocationSite is to be used in several places where AllocationSite feedback is optional.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseBinaryExpression to ParserBase.
marja@chromium.org [Mon, 17 Mar 2014 13:54:42 +0000 (13:54 +0000)]
Move ParseBinaryExpression to ParserBase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix branch for resetting change log in push-to-trunk.
machenbach@chromium.org [Mon, 17 Mar 2014 13:52:33 +0000 (13:52 +0000)]
Fix branch for resetting change log in push-to-trunk.

The patch is applied to ChangeLog with the "--index" option, which already updates the index of the file. For resetting the ChangeLog to the trunk revision, the trunk branch needs to be stated explicitly in the checkout, otherwise it checks out the already patched HEAD.

TEST=tools/push-to-trunk/script_test.py
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPretenure code generation corner case with new space COW arrays.
mvstanton@chromium.org [Mon, 17 Mar 2014 13:42:37 +0000 (13:42 +0000)]
Pretenure code generation corner case with new space COW arrays.

When advised to pretenure in crankshaft, and the boilerplate is a cow
array, move the elements to old space if it's not already there to avoid
overflowing the store buffer.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseConditionalExpression to ParserBase.
marja@chromium.org [Mon, 17 Mar 2014 13:36:39 +0000 (13:36 +0000)]
Move ParseConditionalExpression to ParserBase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose DumpBacktrace for debugging purposes.
marja@chromium.org [Mon, 17 Mar 2014 13:33:19 +0000 (13:33 +0000)]
Expose DumpBacktrace for debugging purposes.

After this change, you can just call DumpBacktrace in any function. Previously
the only function printing stack traces was V8_Fatal, but that also terminated
the program, so not very useful for debugging.

Note that DumpBacktrace is roughly equivalent to base::debug::StackTrace
functionality in Chromium, except less fancy, but it's enough for us.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoBetter handling of constant-pool-like parts of the instruction stream.
svenpanne@chromium.org [Mon, 17 Mar 2014 13:32:39 +0000 (13:32 +0000)]
Better handling of constant-pool-like parts of the instruction stream.

This avoids e.g. trying to disassemble those parts, which could result
in failed assertions.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDelete socket connection after debugger input loop ends.
yangguo@chromium.org [Mon, 17 Mar 2014 13:32:02 +0000 (13:32 +0000)]
Delete socket connection after debugger input loop ends.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix more WebKit test expectations
rossberg@chromium.org [Mon, 17 Mar 2014 13:06:47 +0000 (13:06 +0000)]
Fix more WebKit test expectations

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix Windows compile problem.
hpayer@chromium.org [Mon, 17 Mar 2014 12:17:13 +0000 (12:17 +0000)]
Fix Windows compile problem.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix WebKit and Mozilla test expectations
rossberg@chromium.org [Mon, 17 Mar 2014 12:00:40 +0000 (12:00 +0000)]
Fix WebKit and Mozilla test expectations

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake sure allocated objects in PrologueCallbackAlloc and EpilogueCallbackAlloc API...
hpayer@chromium.org [Mon, 17 Mar 2014 10:52:33 +0000 (10:52 +0000)]
Make sure allocated objects in PrologueCallbackAlloc and EpilogueCallbackAlloc API test are used.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoheap: allow allocation in gc prologue/epilogue
hpayer@chromium.org [Mon, 17 Mar 2014 10:38:45 +0000 (10:38 +0000)]
heap: allow allocation in gc prologue/epilogue

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

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

Patch from Fedor Indutny <fedor.indutny@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix C++ compilation issue
rossberg@chromium.org [Mon, 17 Mar 2014 10:28:53 +0000 (10:28 +0000)]
Fix C++ compilation issue

TBR=marja@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake invalid LHSs a parse-time (reference) error
rossberg@chromium.org [Mon, 17 Mar 2014 10:21:01 +0000 (10:21 +0000)]
Make invalid LHSs a parse-time (reference) error

This is required by the spec. It also prevents crashes resulting from the attempt to read type feedback for the RHS of an invalid assignment which full codegen never actually allocated info for.

To do: check properly in preparser already.

R=marja@chromium.org, mstarzinger@chromium.org
BUG=351658
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd Promises/A+ Compliance Test Suite.
rossberg@chromium.org [Mon, 17 Mar 2014 10:03:01 +0000 (10:03 +0000)]
Add Promises/A+ Compliance Test Suite.

This CL introduces Promises/A+ tests[1].
This CL doesn't contain the test itself: it will be downloaded by test cfg.py.
This CL includes some helper JS functions to run the test in d8 shell.

[1]: https://github.com/promises-aplus/promises-tests

BUG=347095
LOG=Y
R=rossberg@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSplit Promise API into Promise/Resolver
rossberg@chromium.org [Mon, 17 Mar 2014 09:57:25 +0000 (09:57 +0000)]
Split Promise API into Promise/Resolver

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix typo in r19923 (bounds check offset propagation)
jkummerow@chromium.org [Mon, 17 Mar 2014 09:38:01 +0000 (09:38 +0000)]
Fix typo in r19923 (bounds check offset propagation)

BUG=chromium:352929
LOG=n
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.15.
machenbach@chromium.org [Mon, 17 Mar 2014 09:27:45 +0000 (09:27 +0000)]
Prepare push to trunk.  Now working on version 3.25.15.

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck elimination now sets known successor branch of HCompareObjectEqAndBranch (corre...
ishell@chromium.org [Mon, 17 Mar 2014 09:11:38 +0000 (09:11 +0000)]
Check elimination now sets known successor branch of HCompareObjectEqAndBranch (correctness fix).

BUG=chromium:352058
LOG=N
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix maintaining change log in push-to-trunk.
machenbach@chromium.org [Mon, 17 Mar 2014 08:51:27 +0000 (08:51 +0000)]
Fix maintaining change log in push-to-trunk.

Applying the patch on ChangeLog causes local changes. To reset the ChangeLog to its original state, the "-f" option is required.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Continued fix for 351257. Reusing the feedback vector is too complex."
mvstanton@chromium.org [Mon, 17 Mar 2014 08:31:21 +0000 (08:31 +0000)]
Revert "Continued fix for 351257. Reusing the feedback vector is too complex."

This reverts commit r19919.

TBR=bmeuer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSuppress test failures on GC-stress for A64.
yangguo@chromium.org [Mon, 17 Mar 2014 08:30:04 +0000 (08:30 +0000)]
Suppress test failures on GC-stress for A64.

R=ulan@chromium.org
BUG=v8:3219
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.14.
machenbach@chromium.org [Mon, 17 Mar 2014 08:13:17 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.25.14.

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compile error after r19955
yurys@chromium.org [Mon, 17 Mar 2014 07:09:49 +0000 (07:09 +0000)]
Fix compile error after r19955

BUG=None
TBR=svenpanne@chromium.org
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove profiler callback interfaces from v8.h to v8-profiler.h
yurys@chromium.org [Mon, 17 Mar 2014 07:02:39 +0000 (07:02 +0000)]
Move profiler callback interfaces from v8.h to v8-profiler.h

OutputStream and ActivityControl are used only by heap profiler so I moved their definition in v8-profiler.h to not clutter v8.h

Drive-by: removed OutputStream::GetOutputEncoding which is unused.
BUG=None
LOG=Y
R=alph@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCleanup: Remove unused 'non_object_property_call' message.
jarin@chromium.org [Sat, 15 Mar 2014 20:37:13 +0000 (20:37 +0000)]
Cleanup: Remove unused 'non_object_property_call' message.

R=jarin@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReland "Maintain change log file directly on trunk branch in push-to-trunk."
machenbach@chromium.org [Sat, 15 Mar 2014 13:06:08 +0000 (13:06 +0000)]
Reland "Maintain change log file directly on trunk branch in push-to-trunk."

This uses the following approach to modify the trunk change log:
- Calculate the new change log entries
- Apply changes to the bleeding edge change log (this will be removed in a follow up CL)
- Apply the diff between BE and trunk to trunk (this includes the diff of the change log)
- Reset the change log to the version on trunk
- Reapply the new change log entries

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix Lithium div, mod and floor.
plind44@gmail.com [Fri, 14 Mar 2014 19:03:10 +0000 (19:03 +0000)]
MIPS: Fix Lithium div, mod and floor.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix deoptimization for out-of-line constant pool.
plind44@gmail.com [Fri, 14 Mar 2014 18:26:31 +0000 (18:26 +0000)]
MIPS: Fix deoptimization for out-of-line constant pool.

Port r19940 (db96c25)

Original commit message:
Ensure that the stack contains the correct constant pool pointer when a
function deopts.

This CL depends on https://codereview.chromium.org/183803022/ landing first.

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: fix restoring of registers in deopt_every_n_times.
ulan@chromium.org [Fri, 14 Mar 2014 18:11:27 +0000 (18:11 +0000)]
A64: fix restoring of registers in deopt_every_n_times.

BUG=352656
LOG=N
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.13.
dslomov@chromium.org [Fri, 14 Mar 2014 16:14:35 +0000 (16:14 +0000)]
Prepare push to trunk.  Now working on version 3.25.13.

R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix a race in initialization of timezone cache in platform-win32.
ulan@chromium.org [Fri, 14 Mar 2014 15:19:54 +0000 (15:19 +0000)]
Fix a race in initialization of timezone cache in platform-win32.

This allocates a timezone cache per isolate.

BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Improve the code sequence generated for deoptimization exits.
alexandre.rames@arm.com [Fri, 14 Mar 2014 15:17:34 +0000 (15:17 +0000)]
A64: Improve the code sequence generated for deoptimization exits.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Fixes for the veneers emission.
alexandre.rames@arm.com [Fri, 14 Mar 2014 15:14:42 +0000 (15:14 +0000)]
A64: Fixes for the veneers emission.

This patch includes 3 fixes for veneers emission.

1) Block veneer pools emission in the PatchingAssembler.
2) Fix the check for veneer pool emission just before a constant pool.
3) Forbid copy of labels. The list of JumpTableEntry used to track the
   deoptimization table entries would make copies of the labels when growing.
   Doing so, it would confuse the Assembler that was tracking the labels via
   pointers.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix deoptimization for out-of-line constant pool.
rmcilroy@chromium.org [Fri, 14 Mar 2014 15:11:58 +0000 (15:11 +0000)]
Fix deoptimization for out-of-line constant pool.

Ensure that the stack contains the correct constant pool pointer when a
function deopts.

This CL depends on https://codereview.chromium.org/183803022/ landing first.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable cctest test-lockers/MultithreadedParallelIsolates.
dslomov@chromium.org [Fri, 14 Mar 2014 15:11:03 +0000 (15:11 +0000)]
Disable cctest test-lockers/MultithreadedParallelIsolates.

Had to disable always instead of in 'nosnap' mode.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExpose FrameDetails and ScopeDetails from its Mirrors.
yurys@chromium.org [Fri, 14 Mar 2014 15:10:01 +0000 (15:10 +0000)]
Expose FrameDetails and ScopeDetails from its Mirrors.

We in fact already access these via the private property "details_".
Make it into the API.

R=ulan@chromium.org, yurys@chromium.org, ulan, yangguo, yurys

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoClean up some isolate macros.
yangguo@chromium.org [Fri, 14 Mar 2014 15:06:17 +0000 (15:06 +0000)]
Clean up some isolate macros.

R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove PersitentValueMap into seperate header, to avoid excessive polution
dcarney@chromium.org [Fri, 14 Mar 2014 14:57:04 +0000 (14:57 +0000)]
Move PersitentValueMap into seperate header, to avoid excessive polution
of v8.h.

R=dcarney@chromium.org
BUG=

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

Patch from Daniel Vogelheim <vogelheim@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix generalization with callbacks.
verwaest@chromium.org [Fri, 14 Mar 2014 14:17:49 +0000 (14:17 +0000)]
Fix generalization with callbacks.

BUG=352588
LOG=n
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unused irregexp cache.
yangguo@chromium.org [Fri, 14 Mar 2014 13:22:14 +0000 (13:22 +0000)]
Remove unused irregexp cache.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake thread_creation_mutex a Thread::PlatformData member.
hpayer@chromium.org [Fri, 14 Mar 2014 12:46:30 +0000 (12:46 +0000)]
Make thread_creation_mutex a Thread::PlatformData member.

BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Really skip dead blocks in GVN"
bmeurer@chromium.org [Fri, 14 Mar 2014 12:05:01 +0000 (12:05 +0000)]
Revert "Really skip dead blocks in GVN"

This reverts commit r19779 for breaking the GVN algorithm.

BUG=352149
LOG=y
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMore precise result types for contructor calls
rossberg@chromium.org [Fri, 14 Mar 2014 11:40:03 +0000 (11:40 +0000)]
More precise result types for contructor calls

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSynchronize thread creation on posix platforms.
hpayer@chromium.org [Fri, 14 Mar 2014 10:51:16 +0000 (10:51 +0000)]
Synchronize thread creation on posix platforms.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSpeed up A64 simulator by removing useless memcpy.
svenpanne@chromium.org [Fri, 14 Mar 2014 10:36:13 +0000 (10:36 +0000)]
Speed up A64 simulator by removing useless memcpy.

The addresses involved should always be aligned, so we can simply use
a cast, just like the ARM simulator. Even if the alignment assumption
did not hold and the platform we are running on couldn't handle
unaligned access, some #ifdefs would be much more preferable. The
affected member functions were the top 2 in a profile (18% and 15%),
so basically every hack is allowed here to speed things up. :-)

Removed some dead code for literals on the way. If we need to
resurrect it, we should do it without double(!) memcpys.

Generally, I still don't understand why we need the Instr/Instruction
distinction or simply wrap Instr within Instruction, this seems to
be much simpler and cleaner, but this would involve heavier changes.

The overall speedup of this CL is roughly 37%, see the numbers below
for a reduced Octane suite and the check targets:

------------------------------------------------------------
With memcpy:
------------------------------------------------------------

make -j32 a64.release.quickcheck => 03:29
make -j32 a64.release.check      => 11:30
Reduced Octane suite             => 05:16
Richards: 35.1
DeltaBlue: 64.1
RayTrace: 130
Splay: 66.1
SplayLatency: 619
NavierStokes: 58.7
PdfJS: 89.6
Mandreel: 58.5
MandreelLatency: 242
CodeLoad: 5103
Box2D: 124
----
Score (version 9): 144

------------------------------------------------------------
With casts:
------------------------------------------------------------
make -j32 a64.release.quickcheck => 02:14
make -j32 a64.release.check      => 07:21
Reduced Octane suite             => 03:21
Richards: 53.3
DeltaBlue: 103
RayTrace: 205
Splay: 95.9
SplayLatency: 859
NavierStokes: 103
PdfJS: 136
Mandreel: 94.8
MandreelLatency: 386
CodeLoad: 6493
Box2D: 179
----
Score (version 9): 219

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPromiseCoerce should deal with an error during accessing "then".
rossberg@chromium.org [Fri, 14 Mar 2014 10:35:01 +0000 (10:35 +0000)]
PromiseCoerce should deal with an error during accessing "then".

PromiseCource(x) should return a rejected promise when accessing x.then
leads to an error.

BUG=347095
LOG=Y
R=rossberg@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Fix a few simulation inaccuracies.
jacob.bramley@arm.com [Fri, 14 Mar 2014 10:23:55 +0000 (10:23 +0000)]
A64: Fix a few simulation inaccuracies.

  - Return the correct NaN when an invalid operation generates a NaN.
  - When one or more operands are NaN, handle them as the processor
    would, prioritising signalling NaNs and making them quiet.
  - Fix fmadd and related instructions:
     - Fnmadd is fma(-n, m, -a), not -fma(n, m, a).
     - Some common libc implementations incorrectly implement fma for
       zero results, so work around these cases.
  - Replace some unreliable tests.

This patch also adds support for Default-NaN mode, since once all the
other work was done, it only required a couple of lines of code.
Default-NaN mode was used for an optimisation in ARM, and it should now
be possible to apply the same optimisation to A64.

BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix for issue 351261.
mvstanton@chromium.org [Fri, 14 Mar 2014 10:22:55 +0000 (10:22 +0000)]
Fix for issue 351261.

This relands the following fix: "HAllocate should never generate
allocation code if the requested size does not fit into page. Regression
test included. (bug 347543)" along with additional fixes to KeyedStoreIC.

BUG=351261
LOG=N
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoNew Compilation API, part 1, try 2
marja@chromium.org [Fri, 14 Mar 2014 10:20:33 +0000 (10:20 +0000)]
New Compilation API, part 1, try 2

- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).

This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.

Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)

This is a fixed version of https://codereview.chromium.org/186723005/

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed modulo by a power of 2 on A64.
svenpanne@chromium.org [Fri, 14 Mar 2014 10:18:57 +0000 (10:18 +0000)]
Fixed modulo by a power of 2 on A64.

Actually setting flags before checking them might be a good idea... :-/

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPropagate updated offsets in BoundsCheckBbData.
ulan@chromium.org [Fri, 14 Mar 2014 10:02:25 +0000 (10:02 +0000)]
Propagate updated offsets in BoundsCheckBbData.

BUG=350863
LOG=Y
TEST=mjsunit/regress/regress-350863.js
R=bmeurer@chromium.org, jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd regression test for range analysis bug.
bmeurer@chromium.org [Fri, 14 Mar 2014 09:54:26 +0000 (09:54 +0000)]
Add regression test for range analysis bug.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseYieldExpression to ParserBase.
marja@chromium.org [Fri, 14 Mar 2014 09:51:22 +0000 (09:51 +0000)]
Move ParseYieldExpression to ParserBase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseAssignmentExpression to ParserBase.
marja@chromium.org [Fri, 14 Mar 2014 09:43:04 +0000 (09:43 +0000)]
Move ParseAssignmentExpression to ParserBase.

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

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoContinued fix for 351257. Reusing the feedback vector is too complex.
mvstanton@chromium.org [Fri, 14 Mar 2014 09:28:37 +0000 (09:28 +0000)]
Continued fix for 351257. Reusing the feedback vector is too complex.

Attempting to re-use the type feedback vector stored in the
SharedFunctionInfo turns out to be difficult among the various cases.
It will be much easier to do this when deferred type feedback processing
is removed, as is in the works.

Created bug v8:3212 to track re-introducing the optimization of reusing
the type vector on recompile before optimization.

The CL also brings back the type vector on the SharedFunctionInfo.

BUG=351257
LOG=Y
R=bmeurer@chromium.org, bmeuer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoStopCpuProfiling should return non-const CpuProfile
yurys@chromium.org [Fri, 14 Mar 2014 09:26:31 +0000 (09:26 +0000)]
StopCpuProfiling should return non-const CpuProfile

StopCpuProfiling is replaced with StopProfiling which returns non-const CpuProfile which allows to call CpuProfile::Delete on it without const_cast. Also replaced StartCpuProfiling with StartProfiling to have symmetric names for start/stop actions.

BUG=v8:3213
LOG=Y
R=alph@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow for compiling with xcode 5.1 (which doesn't have gcc anymore)
jochen@chromium.org [Fri, 14 Mar 2014 07:47:08 +0000 (07:47 +0000)]
Allow for compiling with xcode 5.1 (which doesn't have gcc anymore)

BUG=none
R=jkummerow@chromium.org, machenbach@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.12.
machenbach@chromium.org [Fri, 14 Mar 2014 03:04:37 +0000 (03:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.12.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.11.
machenbach@chromium.org [Fri, 14 Mar 2014 01:04:45 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.11.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.
plind44@gmail.com [Thu, 13 Mar 2014 18:08:36 +0000 (18:08 +0000)]
MIPS: Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.

Port r19889 (8fa27bb)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Moved type feedback vector to SharedFunctionInfo."
hpayer@chromium.org [Thu, 13 Mar 2014 17:47:12 +0000 (17:47 +0000)]
Revert "Moved type feedback vector to SharedFunctionInfo."

This reverts commit 828f1d563a3f0972135886888fd26526e04da07f.

Conflicts:
src/compiler.cc
test/cctest/test-compiler.cc

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove uses of CanBeNegative() in HMod.
plind44@gmail.com [Thu, 13 Mar 2014 17:38:40 +0000 (17:38 +0000)]
MIPS: Remove uses of CanBeNegative() in HMod.

Port r19878 (74a9002)

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Move ParseAssignmentExpression to ParserBase."
marja@chromium.org [Thu, 13 Mar 2014 16:11:26 +0000 (16:11 +0000)]
Revert "Move ParseAssignmentExpression to ParserBase."

This reverts revision 19908.

Reason: clang doesn't like it.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ParseAssignmentExpression to ParserBase.
marja@chromium.org [Thu, 13 Mar 2014 16:06:08 +0000 (16:06 +0000)]
Move ParseAssignmentExpression to ParserBase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix test-parsing/TooManyArguments.
marja@chromium.org [Thu, 13 Mar 2014 15:55:38 +0000 (15:55 +0000)]
Fix test-parsing/TooManyArguments.

(Asan.)

R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Remove temporary sxtw instructions
m.m.capewell@googlemail.com [Thu, 13 Mar 2014 15:53:08 +0000 (15:53 +0000)]
A64: Remove temporary sxtw instructions

BUG=v8:3149
LOG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Maintain change log file directly on trunk branch in push-to-trunk." and...
machenbach@chromium.org [Thu, 13 Mar 2014 15:48:24 +0000 (15:48 +0000)]
Revert "Maintain change log file directly on trunk branch in push-to-trunk." and related changes.

This reverts r19876, r19902 and r19903. The changes made git diff' in push-to-trunk unusable.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Remove uses of RangeCanInclude() in flooring division by power of 2.
plind44@gmail.com [Thu, 13 Mar 2014 15:16:20 +0000 (15:16 +0000)]
MIPS: Remove uses of RangeCanInclude() in flooring division by power of 2.

Port r19877 (17029d3)

Original commit message:
Drive-By-Fix: Improve ARM code generation for flooring division by
power of 2.

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.25.11.
machenbach@chromium.org [Thu, 13 Mar 2014 15:14:28 +0000 (15:14 +0000)]
Prepare push to trunk.  Now working on version 3.25.11.

R=dslomov@chromium.org
TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMaintain change log file directly on trunk branch in push-to-trunk.
machenbach@chromium.org [Thu, 13 Mar 2014 15:12:18 +0000 (15:12 +0000)]
Maintain change log file directly on trunk branch in push-to-trunk.

This is another step for deprecating the change log file on bleeding edge.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert r19897, r19898 for breaking mac-64 debug.
ulan@chromium.org [Thu, 13 Mar 2014 15:10:35 +0000 (15:10 +0000)]
Revert r19897, r19898 for breaking mac-64 debug.

TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Relax the register constraints for LSeqStringGetChar.
baptiste.afsa@arm.com [Thu, 13 Mar 2014 14:56:57 +0000 (14:56 +0000)]
A64: Relax the register constraints for LSeqStringGetChar.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: Fix uses of range analysis results in HChange.
plind44@gmail.com [Thu, 13 Mar 2014 14:56:25 +0000 (14:56 +0000)]
MIPS: Fix uses of range analysis results in HChange.

Port r19872 (6d8679b)

BUG=v8:3204
LOG=y
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix windows build after r19897.
ulan@chromium.org [Thu, 13 Mar 2014 14:24:00 +0000 (14:24 +0000)]
Fix windows build after r19897.

TBR=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix memory leak caused by treating Code::next_code_link as strong in marker.
ulan@chromium.org [Thu, 13 Mar 2014 14:09:18 +0000 (14:09 +0000)]
Fix memory leak caused by treating Code::next_code_link as strong in marker.

BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCorrectly retain argument value when deopting from Math.round on x64.
yangguo@chromium.org [Thu, 13 Mar 2014 13:57:21 +0000 (13:57 +0000)]
Correctly retain argument value when deopting from Math.round on x64.

R=jkummerow@chromium.org
BUG=351624
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Implement and use FillFields
m.m.capewell@googlemail.com [Thu, 13 Mar 2014 13:18:48 +0000 (13:18 +0000)]
A64: Implement and use FillFields

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSimplify GetEnumPropertyKeys and avoid trimming fixed arrays in large object space.
ulan@chromium.org [Thu, 13 Mar 2014 12:45:12 +0000 (12:45 +0000)]
Simplify GetEnumPropertyKeys and avoid trimming fixed arrays in large object space.

BUG=352070
LOG=N
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPerf regression: changes in KeyedStoreIC introduced polymorphism.
mvstanton@chromium.org [Thu, 13 Mar 2014 12:17:43 +0000 (12:17 +0000)]
Perf regression: changes in KeyedStoreIC introduced polymorphism.

When fixing bug 350884, I introduced an error that meant we went
polymorphic in KeyedStoreIC where we stayed monomorphic before. This
CL addresses the error, while preserving the bug fix for 350884.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoOnly call to LogSymbol when needed.
dcarney@chromium.org [Thu, 13 Mar 2014 11:56:13 +0000 (11:56 +0000)]
Only call to LogSymbol when needed.

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify PropertyAttribute lookups.
yangguo@chromium.org [Thu, 13 Mar 2014 11:55:31 +0000 (11:55 +0000)]
Handlify PropertyAttribute lookups.

R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck that constant is an integer before getting its value in HGraphBuilder::MatchRot...
ulan@chromium.org [Thu, 13 Mar 2014 11:50:50 +0000 (11:50 +0000)]
Check that constant is an integer before getting its value in HGraphBuilder::MatchRotateRight.

BUG=351263
LOG=N
TEST=mjsunit/regress/regress-351263
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoTurn StringLengthStub (used by string wrappers only) into a hydrogen stub.
verwaest@chromium.org [Thu, 13 Mar 2014 10:57:07 +0000 (10:57 +0000)]
Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd ASAN option to stand-alone gyp config.
machenbach@chromium.org [Thu, 13 Mar 2014 10:36:55 +0000 (10:36 +0000)]
Add ASAN option to stand-alone gyp config.

BUG=
R=jkummerow@chromium.org, jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Remove an invalid assertion about the position of the reloc_info_writer.
alexandre.rames@arm.com [Thu, 13 Mar 2014 10:28:53 +0000 (10:28 +0000)]
A64: Remove an invalid assertion about the position of the reloc_info_writer.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHarmony: move math features to es-staging.
yangguo@chromium.org [Thu, 13 Mar 2014 09:51:59 +0000 (09:51 +0000)]
Harmony: move math features to es-staging.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoA64: Fix Fmov with signalling NaN literals.
jacob.bramley@arm.com [Thu, 13 Mar 2014 09:45:02 +0000 (09:45 +0000)]
A64: Fix Fmov with signalling NaN literals.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMake translation of modulus operation '--stress-opt'-proof.
svenpanne@chromium.org [Thu, 13 Mar 2014 09:37:16 +0000 (09:37 +0000)]
Make translation of modulus operation '--stress-opt'-proof.

Note that we unconditionally deopt later, anyway, but our compilation
pipeline has to survive long enough to reach that place. :-/

LOG=y
BUG=352059
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoConvert scanner buffers to use standard character types.
dcarney@chromium.org [Thu, 13 Mar 2014 09:15:14 +0000 (09:15 +0000)]
Convert scanner buffers to use standard character types.

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "New Compilation API, part 1"
marja@chromium.org [Thu, 13 Mar 2014 09:14:16 +0000 (09:14 +0000)]
Revert "New Compilation API, part 1"

This reverts revision 19881.

Reason: WebKit build failure (will commit a fixed version shortly).

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoNew Compilation API, part 1
marja@chromium.org [Thu, 13 Mar 2014 08:54:11 +0000 (08:54 +0000)]
New Compilation API, part 1

- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).

This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.

Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)

BUG=
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agomove remaining uses of scanner literals into scanner
dcarney@chromium.org [Thu, 13 Mar 2014 08:29:31 +0000 (08:29 +0000)]
move remaining uses of scanner literals into scanner

R=marja@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00