svenpanne@chromium.org
ad536f2afc
Improved variable-related assembler comments in fullcode.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/157033012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:06:11 +00:00
marja@chromium.org
10ae9eb247
Refactor scope and function state tracking in (Pre)Parser.
...
Notes:
- PreParser::Scope was a weird combination of Parser::FunctionState and
Scope. Split it into two (PreParser::FunctionState and PreParser::Scope). This
is necessary for unifying the Parser and the PreParser.
- Scopes take care of language mode and tracking "with".
- FunctionStates take care of counting material literal indexes, properties
etc. and tracking generators.
- PreParser::Scope::InsideWith was a hack to make a FunctionState-like object
take care of tracking "with". It's now the responsibility fo PreParser::Scope
and Scope.
- PreParser::ScopeType is unnecessarly, there is already a ScopeType enum in
v8globals.h.
- Renamed scope stack variables so that they're consistent in Parser and PreParser.
- Parser::FunctionState and Parser::BlockState had an unnecessary dependency to
the Parser; they only need a couple of things from Parser. Broke the
dependency.
R=ulan@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/148293011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:02:07 +00:00
jochen@chromium.org
96a1886637
A64: Skip more known failures
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/160073007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 11:57:50 +00:00
marja@chromium.org
cec4fb021b
Move parenthesized_function_ to ParserBase.
...
This change is trivial (was probably overlooked when ParserBase was created).
R=yangguo@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/150943008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 11:56:07 +00:00
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
jacob.bramley@arm.com
558de62ff0
Add ARM contributors to AUTHORS.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/134083011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 11:54:34 +00:00
jochen@chromium.org
c2c9228c8a
A64: Skip cctests failing in debug mode
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/160303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 10:29:18 +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
marja@chromium.org
a4ea70009c
Disable test-api/PreCompileInvalidPreparseDataError for NaCl.
...
More information: https://code.google.com/p/v8/issues/detail?id=3150
R=machenbach@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 08:20:07 +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
dcarney@chromium.org
ce789e8890
Add more test cases for api function inlining
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/154283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 12:49:15 +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
yangguo@chromium.org
ab2aaac110
Disable concurrent osr for test-mark-compact/BootUpMemoryUse.
...
If --concurrent-osr is on, it will imply --concurrent-recompilation, even
though it's expected to be disabled.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/143183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:47:38 +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
mvstanton@chromium.org
95ad971d0f
Fix gcstress test failure
...
Map collection complicates a test that wants to assert on code opt/deopt
because of prototype-chain changes. It can happen that a gc occurs
in the stack guard at the start of optimized function foo that deopts
function foo because of a map being collected and deoptimizing it's
dependent code.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/159653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 09:06:13 +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
plind44@gmail.com
8920f345c7
MIPS: Add NaN test to cctest/test-macro-assembler-mips.
...
NaN value is different on MIPS and x86 architectures, and TEST(NaNx)
tests checks the case where a x86 NaN value is serialized into the snapshot
on the simulator during cross compilation.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/144473008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 19:46:34 +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
machenbach@chromium.org
e81eacfa74
Enable specification of author email in push-to-trunk.
...
If not specified, depot tools tend to ask for an email on the command line once in a while, which makes the automated script hang.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/158733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:48:36 +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