Commit Graph

15371 Commits

Author SHA1 Message Date
ishell@chromium.org
f09f99fd09 ArrayPop builtin handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 15:25:04 +00:00
ishell@chromium.org
368a2e78c0 Handlification of JSArray::SetElementsLength().
R=verwaest@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:09:50 +00:00
marja@chromium.org
e9717833f9 Move ParseUnaryExpression into ParserBase and add tests.
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).

R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 14:08:47 +00:00
marja@chromium.org
c04dd3fb7f Revert "Move ParseUnaryExpression into ParserBase and add tests."
This reverts revision 20077.

Reason: build fail on some compilers.

BUG=
TBR=marja@chromium.org,rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:58:15 +00:00
marja@chromium.org
f4ef82309a Move ParseUnaryExpression into ParserBase and add tests.
This also makes PreParser produce the strict_delete error the same way as
Parser (see test).

R=rossberg@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:42:41 +00:00
mvstanton@chromium.org
535f3427ca Pretenure call new support.
When FLAG_pretenure_call_new is on, we emit mementos on new object creation
in full code, and consume the feedback in crankshaft. A key difference in the
generated code for stubs is the allocation of an additional type vector slot for the
CallNew AST node, which simplifies the CallConstructStub and CallFunctionStub
considerably.

Some performance tuning still needs to be addressed, therefore the flag is off at
this moment, though fully functional. The goal is to remove the flag as soon as
possible, which allows much code deletion (yay).

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:39:09 +00:00
marja@chromium.org
932a29a66a New compilation API, part 2.
This CL makes the Parser produce the data PreParser used to produce. This
enables us to get rid of the unnecessary preparsing phase.

The first part is here: https://codereview.chromium.org/199063003/

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:24:13 +00:00
machenbach@chromium.org
a6f9993569 Prepare push to trunk. Now working on version 3.25.20.
R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:13:23 +00:00
machenbach@chromium.org
44e3cfc651 Retrieve current version from trunk branch in push-to-trunk.
- This moves retrieving and incrementing the version before creating the change log
- Before the prepare push commit will be deprecated (follow up CL), the script deals with 3 build levels. X: the current build level on the last trunk push. X + 1: the build level for this trunk push. X + 2: the build level of the new version file on bleeding edge (to be deprecated).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:10:41 +00:00
yangguo@chromium.org
d8c3c5ef0a Introduce API to trigger exception on JS execution.
R=jochen@chromium.org, pmarch@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:06:53 +00:00
hpayer@chromium.org
9be17fb30e 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
2014-03-19 11:56:11 +00:00
mvstanton@chromium.org
5e4febb06e 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
2014-03-19 11:51:30 +00:00
hpayer@chromium.org
42de2044a9 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
2014-03-19 11:37:56 +00:00
yangguo@chromium.org
0bc684a794 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
2014-03-19 11:31:43 +00:00
hpayer@chromium.org
0f1f071751 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
2014-03-19 10:48:54 +00:00
jochen@chromium.org
79f3c66d00 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
2014-03-19 10:48:44 +00:00
machenbach@chromium.org
a20d5731e8 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
2014-03-19 10:48:20 +00:00
machenbach@chromium.org
23b0228614 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
2014-03-19 10:46:24 +00:00
rmcilroy@chromium.org
0acbcf9876 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
2014-03-19 10:32:12 +00:00
yangguo@chromium.org
bd2397c90c 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
2014-03-19 09:53:58 +00:00
rmcilroy@chromium.org
9415863c97 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
2014-03-19 09:38:20 +00:00
hpayer@chromium.org
8e749aaafd 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
2014-03-19 09:27:42 +00:00
haitao.feng@intel.com
e812aca6b3 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
2014-03-19 08:59:04 +00:00
svenpanne@chromium.org
1a6f977d6a 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
2014-03-19 07:01:08 +00:00
machenbach@chromium.org
34f70c7dea 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
2014-03-19 01:04:33 +00:00
marja@chromium.org
934e58d3a3 (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
2014-03-18 17:05:38 +00:00
alexandre.rames@arm.com
1330326830 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
2014-03-18 16:44:07 +00:00
yangguo@chromium.org
0dd31685f0 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
2014-03-18 16:32:39 +00:00
mvstanton@chromium.org
d30490008a 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
2014-03-18 15:19:35 +00:00
rossberg@chromium.org
b7b40e2b84 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
2014-03-18 15:03:35 +00:00
m.m.capewell@googlemail.com
2e555d2887 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
2014-03-18 15:01:55 +00:00
dcarney@chromium.org
6deb7b0db4 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
2014-03-18 15:01:12 +00:00
rossberg@chromium.org
aa250ea41a 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
2014-03-18 14:55:43 +00:00
alexandre.rames@arm.com
88eba5e388 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
2014-03-18 14:26:26 +00:00
ulan@chromium.org
18104111f4 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
2014-03-18 14:15:09 +00:00
alexandre.rames@arm.com
611ea747ef 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
2014-03-18 14:00:21 +00:00
ulan@chromium.org
487ca9e384 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
2014-03-18 13:29:29 +00:00
machenbach@chromium.org
bd48e40ad1 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
2014-03-18 13:02:41 +00:00
machenbach@chromium.org
c06c9f8e1e 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
2014-03-18 12:46:48 +00:00
yangguo@chromium.org
c76a97159f 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
2014-03-18 12:34:02 +00:00
yangguo@chromium.org
5bca14a33e 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
2014-03-18 12:21:07 +00:00
rossberg@chromium.org
9b28aed3f6 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
2014-03-18 11:50:18 +00:00
ishell@chromium.org
acf695e37a 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
2014-03-18 11:38:27 +00:00
rmcilroy@chromium.org
be0bc25bbb 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
2014-03-18 11:36:19 +00:00
dslomov@chromium.org
6c01c3fd56 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
2014-03-18 10:55:29 +00:00
dslomov@chromium.org
a6224272fd 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
2014-03-18 10:50:00 +00:00
dslomov@chromium.org
849187eab0 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
2014-03-18 10:23:50 +00:00
rossberg@chromium.org
58d623f228 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
2014-03-18 09:57:14 +00:00
svenpanne@chromium.org
d7844ec8cc 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
2014-03-18 07:13:55 +00:00
machenbach@chromium.org
4b01e032c0 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
2014-03-18 01:04:55 +00:00