platform/upstream/v8.git
10 years agoTemporarily disable evacuation verification for parallel-concurrently swept pages.
hpayer@chromium.org [Wed, 19 Mar 2014 11:56:11 +0000 (11:56 +0000)]
Temporarily disable evacuation verification for parallel-concurrently swept pages.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoArray constructor expects AllocationSite or undefined as feedback.
mvstanton@chromium.org [Wed, 19 Mar 2014 11:51:30 +0000 (11:51 +0000)]
Array constructor expects AllocationSite or undefined as feedback.

Redefine Array constructor to expect an AllocationSite in the feedback
register or undefined. This will make code simpler as we support
pretenuring feedback for all constructed objects.

R=hpayer@chromium.org

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

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

10 years agoAccount for right object size when left trimming arrays.
hpayer@chromium.org [Wed, 19 Mar 2014 11:37:56 +0000 (11:37 +0000)]
Account for right object size when left trimming arrays.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoIntroduce per-isolate assert scopes and API to guard JS execution.
yangguo@chromium.org [Wed, 19 Mar 2014 11:31:43 +0000 (11:31 +0000)]
Introduce per-isolate assert scopes and API to guard JS execution.

R=jochen@chromium.org

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

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

10 years agoAccess old space marking bits from runtime only when incremental marking is in MARKIN...
hpayer@chromium.org [Wed, 19 Mar 2014 10:48:54 +0000 (10:48 +0000)]
Access old space marking bits from runtime only when incremental marking is in MARKING state.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRun mozilla and webkit of fast quickcheck archs as well
jochen@chromium.org [Wed, 19 Mar 2014 10:48:44 +0000 (10:48 +0000)]
Run mozilla and webkit of fast quickcheck archs as well

BUG=none
R=svenpanne@chromium.org
LOG=n

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.19.
machenbach@chromium.org [Wed, 19 Mar 2014 10:48:20 +0000 (10:48 +0000)]
Prepare push to trunk.  Now working on version 3.25.19.

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

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

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

10 years agoDirectly modify version file on trunk branch in push-to-trunk.
machenbach@chromium.org [Wed, 19 Mar 2014 10:46:24 +0000 (10:46 +0000)]
Directly modify version file on trunk branch in push-to-trunk.

- This also shifts the push revision by one to prepare for the deprecation of the prepare push commit
- The version increment is still based on the bleeding_edge version.cc. This will be changed in a follow up CL.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoReland "Add out-of-line constant pool support to Arm."
rmcilroy@chromium.org [Wed, 19 Mar 2014 10:32:12 +0000 (10:32 +0000)]
Reland "Add out-of-line constant pool support to Arm."

This CL adds out-of-line constant pool support to Arm.  A ConstantPoolBuilder
object is introduced to manage building of the ConstantPoolArray for a given
code object.

This CL depends on the following CLs landing first:
  https://codereview.chromium.org/138503002/
  https://codereview.chromium.org/179813005/
  https://codereview.chromium.org/183553003/
  https://codereview.chromium.org/183803022/
  https://codereview.chromium.org/183883011/
  https://codereview.chromium.org/186733006/
  https://codereview.chromium.org/188063002/
  https://codereview.chromium.org/190793002/
  https://codereview.chromium.org/190823002/
  https://codereview.chromium.org/190833002/
  https://codereview.chromium.org/190883002/

R=ulan@chromium.org

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

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

10 years agoRevert "Add out-of-line constant pool support to Arm."
yangguo@chromium.org [Wed, 19 Mar 2014 09:53:58 +0000 (09:53 +0000)]
Revert "Add out-of-line constant pool support to Arm."

This reverts commit r20051.

TBR=rmcilroy@chromium.org

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

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

10 years agoAdd out-of-line constant pool support to Arm.
rmcilroy@chromium.org [Wed, 19 Mar 2014 09:38:20 +0000 (09:38 +0000)]
Add out-of-line constant pool support to Arm.

This CL adds out-of-line constant pool support to Arm.  A ConstantPoolBuilder
object is introduced to manage building of the ConstantPoolArray for a given
code object.

This CL depends on the following CLs landing first:
  https://codereview.chromium.org/138503002/
  https://codereview.chromium.org/179813005/
  https://codereview.chromium.org/183553003/
  https://codereview.chromium.org/183803022/
  https://codereview.chromium.org/183883011/
  https://codereview.chromium.org/186733006/
  https://codereview.chromium.org/188063002/
  https://codereview.chromium.org/190793002/
  https://codereview.chromium.org/190823002/
  https://codereview.chromium.org/190833002/
  https://codereview.chromium.org/190883002/

R=ulan@chromium.org

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

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

10 years agoAdded sweeping time measurement for old space sweeping.
hpayer@chromium.org [Wed, 19 Mar 2014 09:27:42 +0000 (09:27 +0000)]
Added sweeping time measurement for old space sweeping.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoIntroduce Push and Pop macro instructions for x64
haitao.feng@intel.com [Wed, 19 Mar 2014 08:59:04 +0000 (08:59 +0000)]
Introduce Push and Pop macro instructions for x64

R=verwaest@chromium.org

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

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

10 years agoTweaked FlooringDiv back to TruncatingDiv again.
svenpanne@chromium.org [Wed, 19 Mar 2014 07:01:08 +0000 (07:01 +0000)]
Tweaked FlooringDiv back to TruncatingDiv again.

This is a first step towards getting the flooring division by a
constant working again (which will be a separate CL).

R=bmeurer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.18.
machenbach@chromium.org [Wed, 19 Mar 2014 01:04:33 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.18.

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

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

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

10 years ago(Pre)Parser unification: use shorter type names.
marja@chromium.org [Tue, 18 Mar 2014 17:05:38 +0000 (17:05 +0000)]
(Pre)Parser unification: use shorter type names.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoA64: Use appropriate return types for the simulator fpcr and nzcv members.
alexandre.rames@arm.com [Tue, 18 Mar 2014 16:44:07 +0000 (16:44 +0000)]
A64: Use appropriate return types for the simulator fpcr and nzcv members.

R=ulan@chromium.org

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

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

10 years agoRevert "First attempt at providing default traits for PersistentValueMap."
yangguo@chromium.org [Tue, 18 Mar 2014 16:32:39 +0000 (16:32 +0000)]
Revert "First attempt at providing default traits for PersistentValueMap."

This reverts r20038.

TBR=vogelheim@chromium.org

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

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

10 years agoIncrease pretenure ratio from 60% to 85%
mvstanton@chromium.org [Tue, 18 Mar 2014 15:19:35 +0000 (15:19 +0000)]
Increase pretenure ratio from 60% to 85%

As pretenure-call-new comes online, this is a better performing ratio
overall.

R=hpayer@chromium.org

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

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

10 years agoRemove Promise.cast
rossberg@chromium.org [Tue, 18 Mar 2014 15:03:35 +0000 (15:03 +0000)]
Remove Promise.cast

...as per January meeting. Renames 'cast' to 'resolve'. We rename the prior 'resolve' to 'accept', to keep the chain API usable.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: ElementsKind TODOs
m.m.capewell@googlemail.com [Tue, 18 Mar 2014 15:01:55 +0000 (15:01 +0000)]
A64: ElementsKind TODOs

Replace LoadElementsKind with LoadElementsKindFromMap, remove unneeded TODO in
DoStringCharFromCode, improve constraints for DoCheckValue and improve code for
ElementsKind checking in StoreArrayLiteralElementStub.

BUG=
R=ulan@chromium.org

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

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

10 years agoFirst attempt at providing default traits for PersistentValueMap.
dcarney@chromium.org [Tue, 18 Mar 2014 15:01:12 +0000 (15:01 +0000)]
First attempt at providing default traits for PersistentValueMap.

BUG=
R=dcarney@chromium.org

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

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

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

10 years agoPromises: make null a legal argument for .then
rossberg@chromium.org [Tue, 18 Mar 2014 14:55:43 +0000 (14:55 +0000)]
Promises: make null a legal argument for .then

R=svenpanne@chromium.org
BUG=

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

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

10 years agoA64: Force emission of the veneer pool emission when required.
alexandre.rames@arm.com [Tue, 18 Mar 2014 14:26:26 +0000 (14:26 +0000)]
A64: Force emission of the veneer pool emission when required.

R=ulan@chromium.org

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

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

10 years agoRefactor GetCodeCopyFromTemplate to get a single point where objects are replaced...
ulan@chromium.org [Tue, 18 Mar 2014 14:15:09 +0000 (14:15 +0000)]
Refactor GetCodeCopyFromTemplate to get a single point where objects are replaced in code.

BUG=
R=verwaest@chromium.org

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

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

10 years agoA64: Handle a few TODOs.
alexandre.rames@arm.com [Tue, 18 Mar 2014 14:00:21 +0000 (14:00 +0000)]
A64: Handle a few TODOs.

Below are notes about some of the TODOs handled.

* In Simulator::Debug:
    We haven't had issues with printing in the debugger for a while. If the
    feature turns out to be still lacking an issue can be raised.

* In SubStringStub::Generate:
    There is no need to jump there. The StringCharAtGenerator is asked to set
    the result in x0, and the return sequence following only uses two instructions.
    Also, we would need to jump after the native counter increment instead of the
    return_x0 label.

* In ArrayPushStub::Generate:
    Raised an internal issue to check and update the ARM code.

* In MacroAssembler::CopyBytes:
    The new code should be faster for bulk copies. Raised an internal issue to
    investigate and improve this function.

* In MacroAssembler::EnterExitFrame:
    Unless we actually find something is wrong, this is working and looks ok.
    Also fixed the comments about the FP registers.

* Comment for BumpSystemStackPointer:
    Removed the comment at the declaration site and updated the TODO in the
    implementation.

R=ulan@chromium.org

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

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

10 years agoFix TransitionElementsKindStub to handle non-JSArray objects correctly.
ulan@chromium.org [Tue, 18 Mar 2014 13:29:29 +0000 (13:29 +0000)]
Fix TransitionElementsKindStub to handle non-JSArray objects correctly.

BUG=352982
LOG=N
TEST=mjsunit/regress/regress-352982.js
R=danno@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.17.
machenbach@chromium.org [Tue, 18 Mar 2014 13:02:41 +0000 (13:02 +0000)]
Prepare push to trunk.  Now working on version 3.25.17.

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

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

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

10 years agoDeprecate ChangeLog on bleeding_edge.
machenbach@chromium.org [Tue, 18 Mar 2014 12:46:48 +0000 (12:46 +0000)]
Deprecate ChangeLog on bleeding_edge.

- This adds a sentinel to the ChangeLog on bleeding edge.
- Modifying the ChangeLog file directly when pushing to trunk is now no longer possible. If further modifications to the ChangeLog in manual push-to-trunk mode are required (e.g. after the prepare push LGTM), the change log entry temp file must be edited.
- Functionality that is no longer needed is removed.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoHandlify callers of Object::GetElement.
yangguo@chromium.org [Tue, 18 Mar 2014 12:34:02 +0000 (12:34 +0000)]
Handlify callers of Object::GetElement.

R=ishell@chromium.org

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

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

10 years agoFix race between VisitSmiRoots and SetStackLimit.
yangguo@chromium.org [Tue, 18 Mar 2014 12:21:07 +0000 (12:21 +0000)]
Fix race between VisitSmiRoots and SetStackLimit.

R=hpayer@chromium.org

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

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

10 years agoIntroduce representation types
rossberg@chromium.org [Tue, 18 Mar 2014 11:50:18 +0000 (11:50 +0000)]
Introduce representation types

Also:
- improve type pretty-printing,
- update doc comments,
- some renamings for consistency.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoHandlification of ArrayConstructorCommon().
ishell@chromium.org [Tue, 18 Mar 2014 11:38:27 +0000 (11:38 +0000)]
Handlification of ArrayConstructorCommon().

R=yangguo@chromium.org

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

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

10 years agoAdd support for movw/movt immediate loads to BackEdgeTable on ARM to enable ool const...
rmcilroy@chromium.org [Tue, 18 Mar 2014 11:36:19 +0000 (11:36 +0000)]
Add support for movw/movt immediate loads to BackEdgeTable on ARM to enable ool constant pool.

R=rodolph.perfetta@arm.com, ulan@chromium.org

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

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

10 years agoApply numeric casts correctly in typed arrays and related code.
dslomov@chromium.org [Tue, 18 Mar 2014 10:55:29 +0000 (10:55 +0000)]
Apply numeric casts correctly in typed arrays and related code.

R=jkummerow@chromium.org
BUG=353004
LOG=Y

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

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

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

10 years agoRevert "Apply numeric casts correctly in typed arrays and related code."
dslomov@chromium.org [Tue, 18 Mar 2014 10:50:00 +0000 (10:50 +0000)]
Revert "Apply numeric casts correctly in typed arrays and related code."

This reverts commit r20020 for breaking Win64 build.

TBR=jkummerow@chromium.org

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

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

10 years agoApply numeric casts correctly in typed arrays and related code.
dslomov@chromium.org [Tue, 18 Mar 2014 10:23:50 +0000 (10:23 +0000)]
Apply numeric casts correctly in typed arrays and related code.

R=jkummerow@chromium.org
BUG=353004
LOG=Y

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

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

10 years agoStage ES6 promises and weak collections
rossberg@chromium.org [Tue, 18 Mar 2014 09:57:14 +0000 (09:57 +0000)]
Stage ES6 promises and weak collections

Split collections flag into weak and non-weak.

R=mstarzinger@chromium.org
BUG=

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

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

10 years agoRobustified address calculations on A64.
svenpanne@chromium.org [Tue, 18 Mar 2014 07:13:55 +0000 (07:13 +0000)]
Robustified address calculations on A64.

We no longer rely on the (adventurous) assumption that the class
Instruction is empty, implying sizeof(Instruction) == 1. This will
greatly simplify upcoming refactorings.

R=rodolph.perfetta@gmail.com

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

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

10 years agoPrepare push to trunk. Now working on version 3.25.16.
machenbach@chromium.org [Tue, 18 Mar 2014 01:04:55 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.25.16.

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

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

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

10 years agoMIPS: Utility functions for pretenure call new.
plind44@gmail.com [Mon, 17 Mar 2014 18:27:44 +0000 (18:27 +0000)]
MIPS: Utility functions for pretenure call new.

Port r19998 (6b07a42)

Original commit message:
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.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Fixed spec violation of storing to length of a frozen object.
plind44@gmail.com [Mon, 17 Mar 2014 18:16:19 +0000 (18:16 +0000)]
MIPS: Fixed spec violation of storing to length of a frozen object.

Port r20005 (d647ec2)

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

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

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

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

10 years agoUpdate constant pool correctly when resuming a generator
rmcilroy@chromium.org [Mon, 17 Mar 2014 17:29:03 +0000 (17:29 +0000)]
Update constant pool correctly when resuming a generator

This CL depends on the following CLs landing first:
  https://codereview.chromium.org/188063002/
  https://codereview.chromium.org/190793002/

R=ulan@chromium.org

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

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

10 years agoDon't generate keyed store ICs for global proxies.
verwaest@chromium.org [Mon, 17 Mar 2014 17:19:39 +0000 (17:19 +0000)]
Don't generate keyed store ICs for global proxies.

BUG=352983
LOG=y
R=ishell@chromium.org

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

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

10 years agoA64: Introduce a DeoptimizeIfMinusZero() helper.
alexandre.rames@arm.com [Mon, 17 Mar 2014 17:18:31 +0000 (17:18 +0000)]
A64: Introduce a DeoptimizeIfMinusZero() helper.

R=ulan@chromium.org

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

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

10 years agoFix mjsunit/compiler/concurrent-invalidate-transition-map.js test.
ulan@chromium.org [Mon, 17 Mar 2014 17:00:48 +0000 (17:00 +0000)]
Fix mjsunit/compiler/concurrent-invalidate-transition-map.js test.

BUG=v8:3156
LOG=N
R=yangguo@chromium.org

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

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

10 years agoFollow up to r20003.
marja@chromium.org [Mon, 17 Mar 2014 16:04:47 +0000 (16:04 +0000)]
Follow up to r20003.

(Fixing comments in tests.)

R=rossberg@chromium.org
BUG=

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

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

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