alexandre.rames@arm.com
652ba51015
A64: Remove two TODOs that will not be done.
...
- For the LDP/STP TODO: The arguments need dereferencing, so using LDP/STP would
require some additional checks.
- For the constant pools TODO: Unless we need to, there is no benefit from
trying to generate constant pools more often, as it would likely only pollute
the I-cache.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/151363004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 11:55:52 +00:00
ulan@chromium.org
e95bc7eec8
Merge experimental/a64 to bleeding_edge.
...
BUG=v8:3113
LOG=Y
R=jochen@chromium.org , rmcilroy@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/148293020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
machenbach@chromium.org
3606220e34
Prepare push to trunk. Now working on version 3.24.38.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/156853008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 08:12:48 +00:00
ishell@chromium.org
b446674c85
More check elimination improvements including partial learning on false branches of CompareMap and better handling of unreachable blocks.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/159963002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 19:18:06 +00:00
hpayer@chromium.org
36ba6f017e
Mark faster when executing write barriers.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/159833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 16:22:26 +00:00
jarin@chromium.org
21bf99e53e
Fix environment of the optimized version of the _SetValueOf intrinsic.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/158723006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 16:11:53 +00:00
ishell@chromium.org
994f0f6dda
Fix for a smi stores optimization on x64 with a test case.
...
BUG=338425
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/152923006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 16:02:18 +00:00
verwaest@chromium.org
78f568d69c
Remove extended_extra_ic_state and extend extra_ic_state instead.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/159013003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 15:01:44 +00:00
yangguo@chromium.org
466df42ae8
Clean up accessors in the Isolate.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/137213009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 14:03:31 +00:00
mvstanton@chromium.org
1d88f09092
Cleanup: ContextualMode doesn't need to be passed to ICs.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/154113010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 12:41:58 +00:00
marja@chromium.org
f59ac1cba5
Move ParseRegexpLiteral to ParserBase.
...
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/156423005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:51:01 +00:00
yangguo@chromium.org
0870702436
Harmony: fix spec violation in Math.cosh.
...
R=jarin@chromium.org
BUG=v8:3141
LOG=N
Review URL: https://codereview.chromium.org/159353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:48:32 +00:00
hpayer@chromium.org
117d0dc460
Move allocation site pretenuring decision making to GC epilog.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/149913005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:27:22 +00:00
hpayer@chromium.org
f3b95f11d2
Make sure that allocation site scratchpad entries get recorded.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/153173008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 10:52:30 +00:00
bmeurer@chromium.org
9a0a86fd4c
Get rid of the function sorting in for polymorphic calls.
...
The idea of this code was to sort functions according to
ticks spend executing them, but now these ticks are always
zero and therefore we fall back to sorting by AST length (or
even worse by source length) all the time, which is a bad,
arbitrary measure.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/159653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 10:48:37 +00:00
yangguo@chromium.org
f78bfaa857
Fix spec violations in JSON.stringify wrt replacer array.
...
R=verwaest@chromium.org
BUG=v8:3135
LOG=Y
Review URL: https://codereview.chromium.org/146623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 10:45:39 +00:00
marja@chromium.org
d74fd20fca
Traitify ParserBase and move functions there.
...
(Second try, with fixes. First try: https://codereview.chromium.org/149913006/ )
The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.
Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/158913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:35:32 +00:00
yangguo@chromium.org
1f7feb9696
Remove obsolete stack trace string in a message object.
...
The stack trace string is an ancient relic that is no longer being used.
We use the structured stack trace object instead.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/159013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:29:51 +00:00
palfia@homejinni.com
21cdcf34b4
MIPS: Add kExpectedFixedArrayInRegisterA2 message.
...
Port r19244 (08e0afd9)
BUG=
R=mvstanton@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/159423003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:27:01 +00:00
machenbach@chromium.org
ff5b05b662
Prepare push to trunk. Now working on version 3.24.37.
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/159633002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 08:13:29 +00:00
bmeurer@chromium.org
82ed3d49da
Remove unneccessary assert.
...
This assert fails when dumping native counters on x64.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/151033003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 07:44:25 +00:00
yangguo@chromium.org
07c2af5a46
Remove unused --stack-trace-on-abort flag.
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/156783004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 07:29:23 +00:00
yangguo@chromium.org
557b40d90c
Add flag to print stack trace on illegal exception.
...
This would help a lot with native Javascript code.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/156373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 07:28:05 +00:00
bmeurer@chromium.org
3c012436d7
Fix Windows build.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/152813006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 07:05:47 +00:00
bmeurer@chromium.org
a5ef6e5eec
Improve inobject field tracking during GVN.
...
Now stores to inobject fields do no longer prevent hoisting
and combining of loads from other inobject fields.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/144423010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 06:53:14 +00:00
bmeurer@chromium.org
40f3b1ba87
Revert "Improve inobject field tracking during GVN."
...
This reverts commit r19427 for breaking the build. Will reland with
fix.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/143203005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 06:46:14 +00:00
bmeurer@chromium.org
cd1b7df638
Improve inobject field tracking during GVN.
...
Now stores to inobject fields do no longer prevent hoisting
and combining of loads from other inobject fields.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/144423010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 06:41:06 +00:00
palfia@homejinni.com
f6852ee2c4
MIPS: Adding a type vector to replace type cells.
...
Port r19244 (08e0afd9)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/159393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 02:48:57 +00:00
haitao.feng@intel.com
32682df265
Introduce Jump and Call operand macro assembler instructions for x64
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/157303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 01:28:08 +00:00
mvstanton@chromium.org
516ed9fa90
Adding a type vector to replace type cells.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/137403009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 21:38:17 +00:00
marja@chromium.org
d8b8628f39
Revert "Traitify ParserBase and move functions there."
...
This reverts commit r19230.
Reason: Build failures on NaCl.
BUG=
TBR=marja@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/158873006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 16:21:11 +00:00
plind44@gmail.com
44d61f3caf
MIPS: Fix r19175 "Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created."
...
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/148523015
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 15:49:28 +00:00
marja@chromium.org
71a6d70d97
Traitify ParserBase and move functions there.
...
The long-term goal is to move all recursive descent functions from Parser and
PreParser into ParserBase, but first they need to be unified.
Notes:
- The functions moved in this CL: ParseIdentifier, ParseIdentifierName,
ParseIdentifierNameOrGetOrSet, ParseIdentifierOrStrictReservedWord.
- IOW, this CL removes Parser::ParseIdentifier and PreParser::ParseIdentifier
and adds ParserBase::ParseIdentifier, etc.
- Error reporting used to require virtual funcs; now error reporting is moved to
the Traits too, and ParserBase no longer needs to be virtual.
- I had to move PreParser::Identifier out of the PreParser class, because
otherwise PreParserTraits cannot use it in a typedef.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/149913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 15:35:39 +00:00
ishell@chromium.org
f46da9d43b
Reland of r19102: Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented with tests.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/146623006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 15:32:54 +00:00
verwaest@chromium.org
c1a08679dc
Merge BuildLoadKeyedGeneric and BuildStoreKeyedGeneric, switch on AccessType
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/146623007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 14:58:25 +00:00
ulan@chromium.org
d32bd442f1
Fix NoTrackDoubleFieldsForSerializerScope.
...
BUG=v8:3143
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/144473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 13:56:59 +00:00
yangguo@chromium.org
b618d2a42a
Fix inconsistencies wrt whitespaces.
...
This relands r19196 with fixes.
BUG=v8:3109
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/141323007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:43:10 +00:00
verwaest@chromium.org
d2d3fc0e4d
Use PropertyAccessType for keyed accesses rather than "bool is_store"
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/137883008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 11:43:34 +00:00
verwaest@chromium.org
f19aeae06b
Unify BuildLoad/StoreNamedGeneric
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/155513008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 10:23:59 +00:00
machenbach@chromium.org
20b54eb2a2
Prepare push to trunk. Now working on version 3.24.36.
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/135973011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 09:01:10 +00:00
bmeurer@chromium.org
e05dbf4e22
Drop unused accumulated first time changes/depends.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/135503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 08:59:51 +00:00
marja@chromium.org
ff1c294cf9
Unify (Pre)Parser::ParseTryStatement.
...
Notes:
- This makes Parser and PreParser produce the same errors with the added test
cases (this was not the case before).
- ParseBlock already does Expect(Token::LBRACE), so no need to check it twice.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/148233011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 08:45:13 +00:00
haitao.feng@intel.com
7744134643
Revert "Introduce MoveDouble to the X64 MacroAssembler" (r17383)
...
The direction is to use "movl, movq, movp" instead of introducing new
Macro assembler instructions.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/101083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-08 02:16:25 +00:00
rossberg@chromium.org
e8175a3e9f
Revert "Make Function.length and Function.name configurable properties."
...
Plenty of test failures on test262, Mozilla, Webkit. Will have to investigate.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/139983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 15:29:18 +00:00
rossberg@chromium.org
7317b71f02
Make Function.length and Function.name configurable properties.
...
ES6 makes the Function object properties "length" and "name"
configurable; switch the implementation over to follow that.
Doing so exposed a problem in the handling of non-writable, but
configurable properties backed by foreign callback accessors
internally. As an optimization, if such an accessor property is
re-defined with a new value, its setter was passed the new value
directly, keeping the property as an accessor property. However, this
is not correct should the property be non-writable, as its setter will
then simply ignore the updated value. Adjust the enabling logic for
this optimization accordingly, along with adding a test.
LOG=N
R=rossberg@chromium.org , rossberg
BUG=v8:3045
Review URL: https://codereview.chromium.org/116083006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 14:55:30 +00:00
yangguo@chromium.org
db1a685b8f
Revert "Fix inconsistencies wrt whitespaces."
...
This reverts r19196.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/147443008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 14:13:00 +00:00
marja@chromium.org
caa727711f
Unify function parameter checking in PreParser and Parser.
...
This also makes the "delayed strict mode violations" mechanism in PreParser
unnecessary.
The attached tests didn't pass before this CL but now they do.
BUG=v8:3126
LOG=N
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/157453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 12:44:45 +00:00
yangguo@chromium.org
d0f57e1195
Fix inconsistencies wrt whitespaces.
...
\u0085 (NEL) is now considered a whitespace in accordance to http://www.unicode.org/Public/6.3.0/ucd/PropList.txt
R=mstarzinger@chromium.org
BUG=v8:3109
LOG=Y
Review URL: https://codereview.chromium.org/146983007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 12:34:45 +00:00
danno@chromium.org
7a0925d80f
Add basic support for STL containers allocated in Zones
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/157443002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 11:55:11 +00:00
marja@chromium.org
5788b34a16
Unify function name validation in Parser and PreParser.
...
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/140183005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19193 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 10:47:01 +00:00
hpayer@chromium.org
3f86546bb4
The allocation sites scratchpad becomes a heap data structure.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/143153008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 09:54:52 +00:00
bmeurer@chromium.org
4bab63d79d
Prepare push to trunk. Now working on version 3.24.35.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/157343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 09:10:56 +00:00
bmeurer@chromium.org
eee40ea690
Fix printing of GVN flags.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/142253003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 08:59:20 +00:00
marja@chromium.org
5b890419f5
Unify PreParser::ParseIdentifierName and Parser::ParseIdentifierName.
...
No special handling for keywords is needed, since the literal ascii strings for
them work too (see how Parser did it).
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/152853006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 08:45:28 +00:00
bmeurer@chromium.org
2b60325def
[Sheriff] Revert "Check elimination temporarily disabled.", "Fix for buildbot failure after r19102." and "Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented."
...
This reverts commit r19102, r19105 and r19170 for breaking the
Chrome browser_tests. Will reland once fixed.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/130053007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 07:36:30 +00:00
haitao.feng@intel.com
c3ba22ade9
Use StackArgumentsAccessor to access receiver on stack, use kPCOnStackSize to
...
access stack argument and use movq instead of movp to operate return address
on stack for x64
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/156663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 02:21:18 +00:00
rafaelw@chromium.org
41039c4f13
Revert "Implement Microtask Delivery Queue"
...
TBR=adamk,rossberg
BUG=
Review URL: https://codereview.chromium.org/150103012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 01:08:50 +00:00
plind44@gmail.com
8b40e37380
MIPS: Avoid embedding x86 NaN constant in MacroAssembler code when snapshot is created.
...
BUG=
TEST=test262/15.4.4.15-8-b-ii-4
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/156803003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 00:55:04 +00:00
ishell@chromium.org
4a0d4109e4
Check elimination temporarily disabled.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/149523004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 17:31:00 +00:00
plind44@gmail.com
f74501c627
MIPS: swap in global proxy on accessors.
...
Port r19142 (087bc3e)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/140893011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 16:45:50 +00:00
rossberg@chromium.org
01f5601129
ES6: Remove __proto__ setter poison pill
...
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-object.prototype.__proto__
The __proto__ setter should be reusable on other objects.
BUG=v8:2804
LOG=y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/103343005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 16:09:45 +00:00
marja@chromium.org
032999da4c
Merge Parser::ReportUnexpectedToken and PreParser::ReportUnexpectedToken.
...
(I.e., move ReportUnexpectedToken to ParserBase.)
Because of the recent unifications, they now do the same thing.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/153743006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 15:10:21 +00:00
ishell@chromium.org
a26bd05be3
Optimized stores of smis on x64 temporarily disabled.
...
BUG=338425
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/132753008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 13:16:44 +00:00
marja@chromium.org
42ea494cd6
Redo r19140 with better efficiency.
...
Still relevant parts of the original commit message:
Unify paren handling in Parser and PreParser.
It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.
Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/148323011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 13:12:10 +00:00
verwaest@chromium.org
43c0a419ed
Remove special ArrayLength handling already covered by JSObjectFieldAccessors
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/153743005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 13:01:38 +00:00
jarin@chromium.org
476881ce5b
Test and fix for _CallFunction intrinsic deoptimization.
...
I have also cleaned up HOptimizedGraphBuilder::GenerateCallFunction
to use IfBuilder.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/131343013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 12:42:26 +00:00
bmeurer@chromium.org
e14463e07e
Cosmetic cleanup for GVN.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/153563006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 12:35:17 +00:00
svenpanne@chromium.org
4ab3270dd5
Fixed space leak in DebuggerAgentSession.
...
Ownership in this part is still very convoluted and should probably be
cleaned up, this is only the minimal CL needed to fix the leak.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/153623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 12:09:08 +00:00
marja@chromium.org
e6bc60c98d
Revert "Unify paren handling in Parser and PreParser."
...
This reverts r19140.
Reason: Octane regression.
BUG=
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/156673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 11:59:16 +00:00
hpayer@chromium.org
88b45eef17
Just calculate pretenuring ratio when needed.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/153863005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 11:27:08 +00:00
dcarney@chromium.org
12039c97c6
swap in global proxy on accessors
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/156623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:50:07 +00:00
hpayer@chromium.org
9b61008f27
Cleanup allocation site pretenuring tracing, added new flag --trace-pretenuring-statistics.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/153273003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:30:13 +00:00
marja@chromium.org
76646e88ed
Unify paren handling in Parser and PreParser.
...
It is only needed in (Pre)Parser::ParseExpressionOrLabelledStatement for not
recognizing parenthesized identifiers as labels and in
(Pre)Parser::ParseSourceElements for not recognizing a parenthesized string as
directive prologue.
Parser Expressions don't keep track of whether they're parenthesized, so
PreParser Expressions shouldn't either.
In addition, add helper funcs for checking if an Expression is identifier or a
given identifier. (PreParser Expressions can do this.)
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/150103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:30:02 +00:00
svenpanne@chromium.org
8472a55b0c
Fixed space leak in Interface class.
...
The exports_ hash map itself should live in the zone, too, not only
its entries.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/156643002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:23:22 +00:00
marja@chromium.org
931fae7d1c
Follow-up to r19112.
...
There's only one error message for "eval" and "arguments", so no need to pass it
to PreParser::StrictModeIdentifierViolation.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/139713005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 10:16:25 +00:00
bmeurer@chromium.org
e02a9d5361
Reduce memory usage due to fixpoint iteration of GVN.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/153533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 09:54:59 +00:00
jarin@chromium.org
eb502fe599
Binary operation deoptimization fix.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/132453009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 09:36:55 +00:00
dcarney@chromium.org
6df537d631
inline api setters in crankshaft
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/155913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 07:31:08 +00:00
svenpanne@chromium.org
25df21cca1
Fix allocation tracker leaks.
...
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/155513004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 07:10:59 +00:00
plind44@gmail.com
79e354163f
MIPS: Fixes for patch sites if long branches are emitted.
...
This resolves many mjsunit failures if long branches are forced to be emitted.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/153983002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 01:10:06 +00:00
machenbach@chromium.org
bae7a2d886
Prepare push to trunk. Now working on version 3.24.34.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/152483005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 01:05:58 +00:00
palfia@homejinni.com
62034d91fd
MIPS: Move failing ASSERT to a more sane place.
...
Port r19095 (caf48ad)
Original commit message:
Objects can actually be stored into themselves. This fails when no write
barrier is needed (eg, the object was just allocated).
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/149343003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 22:31:24 +00:00
plind44@gmail.com
ec0c4b453f
MIPS: Fix crashes after profile entry hook calls.
...
The call to C++ function has to be done through t9 register for
the position independent code.
The crashes occur only for shared library build.
TEST=cctest/test-api/SetFunctionEntryHook
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/132113009
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 22:28:46 +00:00
plind44@gmail.com
a540e31471
MIPS: Avoid embedding x86 NaN constant in code when snapshot is created.
...
Due to a different NaN representation on MIPS, the canonical nan
constant embedded in generated code that comes from snapshot will differ from
the one used on MIPS hardware.
TEST=mozilla/ecma/Array/15.4.4.2.js
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/150663009
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 18:58:16 +00:00
hpayer@chromium.org
d2a2f83574
Perform a fix point iteration for GVN.
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/149573014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 17:21:34 +00:00
marja@chromium.org
8150464209
Make strict more error messages about "eval" and "arguments" less specific.
...
We used to have error messages which provide context, like "Variable name may
not be eval or arguments in strict mode", but for other illegal words we only
have non-context specific error messages like "Unexpected reserved word".
Providing the context makes the code unnecessarily complex, since every
individual place must remember to check for eval or arguments. This CL produces
a unified error message ("Unexpected eval or arguments in strict mode"), and puts
the error reporting to (Pre)Parser::ParseIdentifier.
Notes:
- The module feature is so experimental, that I decided to not allow "eval" or
"arguments" as module-related identifiers in the strict mode (even though this
check wasn't there before).
- Unfortunately, there were some inconsistencies, since it was the
responsibility of the caller of ParseIdentifier to check "eval" and "arguments"
and some places didn't have the check for no good reason. This CL is supposed to
keep backward compatibility and *not* introduce any new errors.
- ECMA allows "eval" and "arguments" as labels even in strict mode. (Syntax:
"LabelledStatement: Identifier : Statement", and no strict mode restrictions on
Identifier are listed.)
- Tests which compare error message strings will fail, and need to be updated.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/152813005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 16:26:48 +00:00
dcarney@chromium.org
5028ebaa8b
inline api getters in crankshaft
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/146023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:52:31 +00:00
verwaest@chromium.org
5949fe1679
Merge named part of BuildLoad and BuildStore
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/149803007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:44:20 +00:00
verwaest@chromium.org
d985948c7a
Merge BuildLoad/StoreMonomorphic
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/137263021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:43:33 +00:00
verwaest@chromium.org
cb044fa2d8
Merge polymorphic load/store handling
...
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/150573010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:28:57 +00:00
ishell@chromium.org
9743d254f3
Fix for buildbot failure after r19102.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/149093011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 15:22:54 +00:00
ishell@chromium.org
a11899ff4e
Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/141653009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 13:39:55 +00:00
yangguo@chromium.org
5fadbd9e2f
Fix %OptimizeFunctionOnNextCall wrt concurrent compilation.
...
If a function is marked or queued for concurrent compilation,
%OptimizeFunctionOnNextCall becomes a no-op. That can be wrong
if concurrent recompilation does not complete at the time we
expect the function to have been optimized.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/151343006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 12:19:29 +00:00
yangguo@chromium.org
736e0a05f8
Use mutex in PostponeInterruptScope.
...
To avoid race with e.g. StackGuard::RequestInstallCode called from another
thread when both access postpone_interrupts_nesting_.
R=mvstanton@chromium.org
BUG=290964
LOG=N
Review URL: https://codereview.chromium.org/138833006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 11:28:55 +00:00
verwaest@chromium.org
7dc05b57fd
Move failing ASSERT on ARM to a more sane place.
...
Objects can actually be stored into themselves. This fails when no write
barrier is needed (eg, the object was just allocated).
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/148733005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 10:12:14 +00:00
bmeurer@chromium.org
8150c34c82
Optimize redundant HCompareMap instructions with known successors.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/150663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 09:30:53 +00:00
yangguo@chromium.org
f6d1a4fef1
Allow externalizing strings in old pointer space.
...
This is what I think is a better solution to the "external strings in
old pointer space" problem. Basically, it is an issue because GC scans
all fields of objects in old pointer space and if the cached address
of the backing store is unaligned, it looks like a heap object, boom.
The solution here is to use short external strings when we externalize
a string in old pointer space, and when the address is unaligned.
Short external strings don't cache the address, so GC has no issues.
BUG=268686
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/146183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 09:29:04 +00:00
machenbach@chromium.org
afd430b5e5
Prepare push to trunk. Now working on version 3.24.33.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/153973003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 03:04:35 +00:00
verwaest@chromium.org
fb306f9811
Explicitly disallow stores to JSObjectAccessors (for now).
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/154873002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 22:46:53 +00:00
verwaest@chromium.org
2c3e6b41ff
Use PropertyAccessInfo to compute stores in crankshaft.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/153933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 22:23:26 +00:00
rafaelw@chromium.org
7de9fc0a12
Implement Microtask Delivery Queue
...
R=rossberg@chromium.org , rossberg
BUG=
Review URL: https://codereview.chromium.org/131413008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 19:58:49 +00:00
marja@chromium.org
23cbf27e12
Tests for (pre)parse errors when "yield" is found in inappropriate places.
...
In addition:
- Fix: PreParser used to report an unexpected token one token too late when
ParsePrimaryExpression failed.
- Unified identifier handling (PreParser::GetIdentifier is now like Parser::GetIdentifier).
- Fix: PreParser used to produce "unexpected_token YIELD" errors when Parser
produced "unexpected_token_identifier"; fixed PreParser to match Parser.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/151103006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 18:16:45 +00:00
marja@chromium.org
35354cb9b7
Tests and fixes for (pre)parse errors related to future reserved words.
...
This contains the following fixes:
- PreParser was using an error "reserved_word" which doesn't exist in
messages.js. Changed it to "unexpected_reserved".
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/153793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 16:38:47 +00:00
jkummerow@chromium.org
4058d90747
Cleanup: Unify CodeGenerator class across platforms
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/134643026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 13:53:41 +00:00
verwaest@chromium.org
8ac80c5308
Use Type* in crankshaft rather than HeapType.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/152863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 12:44:15 +00:00
marja@chromium.org
443e645a2d
Tests and fixes for (pre)parse errors related to strict reserved words.
...
This contains the following fixes:
- We had strict_reserved_word and unexpected_strict_reserved, which one to use
was totally mixed in Parser and PreParser. Removed strict_reserved_word.
- When we saw a strict future reserved word when expecting something completely
different (such as "(" in "function foo interface"), Parser reports unexpected
identifier, whereas PreParser used to report unexpected strict reserved
word. Fixed PreParser to report unexpected identifier too.
- Unified parser and preparser error locations when the name of a function is a
strict reserved word. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/149253010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 12:19:53 +00:00
alph@chromium.org
efee3b8608
Add Box object to heap profiler.
...
LOG=Y
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/143343006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 11:43:19 +00:00
marja@chromium.org
2794955852
Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places.
...
In addition:
- Fix a bug in parser discovered by the tests (prefix and postfix confused in an
error message); the preparser had it right.
- Unify the parser and preparser error locations when the name of a function is
"eval" or "arguments. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/153693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 11:26:19 +00:00
ishell@chromium.org
0f89c8b91d
Fix in array instance type initialization.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/134713004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:59:40 +00:00
ishell@chromium.org
05270212c3
Remake of the load elimination fix made earlier (r18884).
...
R=titzer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/149063010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:48:49 +00:00
hpayer@chromium.org
8d1504b238
Just initialize elements pointer in fast literal when pre-tenuring.
...
BUG=
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/148253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:41:16 +00:00
hpayer@chromium.org
2afcfc0b0e
Remove unused AllocationSpace paramenter from CollectGarbage.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/148943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:30:36 +00:00
marja@chromium.org
f62ef25c08
Revert "Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places."
...
Reason: The fixed error message broke some tests.
This reverts r19050.
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/153673002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 10:00:36 +00:00
dslomov@chromium.org
a03d31394c
Check the offset argument of TypedArray.set for fitting into Smi.
...
R=jkummerow@chromium.org
BUG=340125
LOG=Y
Review URL: https://codereview.chromium.org/145623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 09:53:05 +00:00
marja@chromium.org
9aa05b0997
Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places.
...
In addition:
- Fix a bug in parser discovered by the tests (prefix and postfix confused in an
error message); the preparser had it right.
- Unify the parser and preparser error locations when the name of a function is
"eval" or "arguments. Now both point to the name.
BUG=3126
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/140543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 09:47:30 +00:00
machenbach@chromium.org
110ff9a286
Prepare push to trunk. Now working on version 3.24.32.
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/138303004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 07:54:03 +00:00
palfia@homejinni.com
69d8678baf
MIPS: Unroll push loop in r19040 and other push optimizations.
...
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/145973015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 00:06:44 +00:00
plind44@gmail.com
4ac8778b9c
MIPS: let load and store api callbacks use global proxy as receiver.
...
Port r19033 (c31b3e7)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/152943002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 18:44:23 +00:00
dcarney@chromium.org
ef2ca4ac09
let load and store api callbacks use global proxy as receiver
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/151063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 15:19:38 +00:00
yangguo@chromium.org
9e70f6a4e7
Fix short-circuiting logical and/or in HOptimizedGraphBuilder.
...
R=jkummerow@chromium.org
BUG=336148
LOG=Y
Review URL: https://codereview.chromium.org/143263022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 14:29:34 +00:00
ishell@chromium.org
b98637ce5e
Elements field of newly allocated JSArray could be left uninitialized in some cases (fast literal case).
...
BUG=340124
LOG=Y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/152673004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 13:33:26 +00:00
hpayer@chromium.org
559826f649
Make memento checks more stable. Add filler at the end of new space and check if object and memento are on the same new space page.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/152613002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 12:20:15 +00:00
verwaest@chromium.org
db7124dc28
Return a valid map for PropertyAccessInfos with Boolean type.
...
BUG=340064
LOG=N
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/152603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 10:20:32 +00:00
yangguo@chromium.org
6f95c0b11b
[x64] add disasm for two fp instructions
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/146583002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 08:13:12 +00:00
jarin@chromium.org
b662597609
Re-enable escape analysis.
...
R=danno@chromium.org , mstarzinger@chromium.org
LOG=Y
BUG=
Review URL: https://codereview.chromium.org/142843004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 07:57:07 +00:00
machenbach@chromium.org
3cbe565fb3
Prepare push to trunk. Now working on version 3.24.31.
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/152523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-03 07:22:59 +00:00
verwaest@chromium.org
ea8e42c67b
Replace nonexistent a4 by t0 on mips.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/136093010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-01 11:30:38 +00:00
verwaest@chromium.org
77ccf36993
Ensure we don't clobber the cell on ARM and MIPS
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/151543003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-01 10:43:57 +00:00
verwaest@chromium.org
9e995fdd91
Ensure the word after top is cleared in newspace if top < high.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/151783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-01 10:35:36 +00:00
machenbach@chromium.org
0b791c5f58
Prepare push to trunk. Now working on version 3.24.30.
...
R=verwaest@chromium.org
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/137893030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-01 08:54:23 +00:00
palfia@homejinni.com
1142dcc8da
MIPS: Remove CallICs
...
Port r19001 (4b5aa649)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/151903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-01 02:23:46 +00:00
plind44@gmail.com
40fb3bb082
MIPS: Fix zlib critical performance regression.
...
The very low score on zlib benchmark is caused by
huge number of deoptimizations inside BinaryOpIC stubs
when arguments are boolean.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/136193011
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 18:59:32 +00:00
verwaest@chromium.org
ae7a209e71
Remove CallICs
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/148223002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 16:52:17 +00:00
jochen@chromium.org
253edf246f
Remove IsRegExpEquivalent.
...
It's not used anywhere.
BUG=none
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/141563013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 14:17:02 +00:00
machenbach@chromium.org
75bc1d5622
Prepare push to trunk. Now working on version 3.24.29.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/138843008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 14:01:29 +00:00
bmeurer@chromium.org
3214cf11ff
Don't crash in Array.join() if the resulting string exceeds the max string length.
...
LOG=y
BUG=336820
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/144533003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 12:21:17 +00:00
ishell@chromium.org
2aa17c6e62
Load elimination fix: load should not be replaced with another load if the former is not dominated by the latter.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/151333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 12:03:32 +00:00
verwaest@chromium.org
c7b91cd494
Don't unmark dictionary mode maps as unstable.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/148493007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 11:38:43 +00:00
hpayer@chromium.org
3aa29a9a49
Disable concurrent sweeping.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/151273002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 10:31:55 +00:00
bmeurer@chromium.org
f3e3fe286e
Use CHECK_OBJECT_COERCIBLE
macro where possible
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=
BUG=v8:3122
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/132333019
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 10:05:58 +00:00
hpayer@chromium.org
1bec4ad750
Check forwarding pointer when marking objects for deoptimization.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/148493004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 09:07:30 +00:00
svenpanne@chromium.org
0cb5fd3d3e
Implements ES6 String.prototype.normalize method.
...
BUG=v8:2943
LOG=Y
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
==========================
This is identical to the previous CL
https://codereview.chromium.org/40133004/
with two differences:
* Added a dummy implementation of String.prototype.normalize to be used when v8 is compiled without intl support
* Rebased the the test files for webkit. That was the only reason for the previous failure (and revert).
Thank you,
Mihai
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/68133016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 08:09:17 +00:00
bmeurer@chromium.org
735a507385
Improve HConstant::ImmortalImmovable() to check for all immortal immovable roots.
...
Move the list to IMMORTAL_IMMOVABLE_ROOT_LIST in heap.h, and
automatically include INTERNALIZED_STRING_LIST and STRING_TYPE_LIST.
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/146623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 07:28:46 +00:00
hpayer@chromium.org
dae054e7f0
Fix compiler error on MacOS, remove unused ParameterCount member in CallInterceptorCompiler.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/132113004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 07:02:33 +00:00
palfia@homejinni.com
c7f94b8049
MIPS: Fix the context check in LoadGlobalFunctionPrototype
...
Port r18958 (5cd635d0)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/132883017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 00:49:07 +00:00
palfia@homejinni.com
71971764fe
MIPS: crankshaft support for api method calls
...
Port r18946 (a152f5ae)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/150913002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 00:36:19 +00:00
verwaest@chromium.org
bef13f739c
Fix regression caused by supporting inlining accesses to non-JSObjects
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/150983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 00:29:04 +00:00
plind44@gmail.com
02d8dc57c1
MIPS: Specialize FixedTypedArray<> set and get functions to solve unaligned double access.
...
BUG=
TEST=test-api/FixedFloat64Array
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/136333011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 20:05:11 +00:00
plind44@gmail.com
5b46492c8e
MIPS: stub api getters.
...
Port r18941 (517adbf)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/148383017
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 18:22:28 +00:00
plind44@gmail.com
ad53abec73
MIPS: Optimize HWrapReceiver.
...
Port r18945 (699b03e)
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/145083018
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 18:13:38 +00:00