Commit Graph

14801 Commits

Author SHA1 Message Date
ulan@chromium.org
01b275d989 Enable test-api/SetFunctionEntryHook for a64. It was fixed in r19297.
BUG=v8:3153
LOG=N
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:56:10 +00:00
bmeurer@chromium.org
42c57ea94b Allow map check hoisting in GVN for stable maps.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:47:00 +00:00
alexandre.rames@arm.com
a7e7d08448 A64: Indicate the correct size for constant pools.
This fixes potential issues that would appear when trying to insert a breakpoint
from JavaScript.
Without this, computing the mapping of addresses between versions of the code with
and without debug slots could be off by an instruction, trigerring nasty bugs.

R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:27:42 +00:00
mstarzinger@chromium.org
5977a04172 Prepare push to trunk. Now working on version 3.24.39.
R=machenbach@chromium.org
TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 10:16:13 +00:00
yangguo@chromium.org
6d0077c30c Do not internalize in TryConvertKey.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 09:36:20 +00:00
yangguo@chromium.org
fb22b7b05e Internalize string keys in Keyed{Store,Load}IC.
R=jkummerow@chromium.org
BUG=v8:3144
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-13 08:43:53 +00:00
rafaelw@chromium.org
6b5a4cdef2 V8 Microtask Queue & API
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".

It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to

-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
plind44@gmail.com
0cb13eb552 MIPS: Omit redundant smi checks in write barriers.
Port r19323 (929c047)

BUG=
R=plind44@gmail.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 18:55:33 +00:00
verwaest@chromium.org
161b2f689a Reland: "Use stability to only conditionally flush information from the CheckMaps table."
BUG=
R=ishell@chromium.org

Original CL: https://codereview.chromium.org/153823003

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 18:48:12 +00:00
verwaest@chromium.org
7b7e3658f7 Don't propagate information through phis in loop headers.
To properly do this, we'd have to iterate over CompareMaps (and their bodies) handling phis, until we have learned enough to decide which paths can be taken. For now, just disable learning from phis in loop headers.

BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 18:30:41 +00:00
rmcilroy@chromium.org
26e8009997 [a64]: Disable failing sparse-array-reverse on a64 debug builds.
BUG=v8:3158
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 18:22:28 +00:00
ishell@chromium.org
7e3218b540 KeyedLoadIC::GenerateGeneric() fix for MIPS.
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 17:31:29 +00:00
yangguo@chromium.org
6c4133a309 Fix test-heap/OptimizedPretenuringAllocationFolding wrt concurrent recompilation delay.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 16:18:18 +00:00
alph@chromium.org
887bd2850d Stack trace string should use dynamic script sourceURL if present.
BUG=v8:2342
R=dcarney@chromium.org, yurys@chromium.org, yurys
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:50:23 +00:00
hpayer@chromium.org
81347246da Make prev and next pointer in pages list AtomicWords and access them using acquire/release semantics.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:40:23 +00:00
verwaest@chromium.org
75432b7696 Revert "Use stability to only conditionally flush information from the CheckMaps table."
R=ishell@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:38:42 +00:00
verwaest@chromium.org
2b7d33572a Use stability to only conditionally flush information from the CheckMaps table.
BUG=
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 15:07:41 +00:00
ishell@chromium.org
1512e9e678 Port of r19288 to a64: Fix for smi stores optimization.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:54:55 +00:00
rmcilroy@chromium.org
e503396993 Avoid doing explicit cast in simulator-a64::get_sp().
R=rodolph.perfetta@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:34:40 +00:00
rmcilroy@chromium.org
7152389af6 Add to OWNERS for arm and a64
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:33:54 +00:00
jarin@chromium.org
af29e31a11 Fix for (One|Two)ByteSeqStringSetChar evaluation order/deopt.
This makes the evaluation order consistent between full codegen
and Hydrogen (so that deopt does not screw up stack).

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:31:24 +00:00
rmcilroy@chromium.org
6ef556bdff Clean up some A64 specific code in common code that was introduced by A64 merge
- Remove arch specific check macros
 - Remove duplicate code in code-stubs.h
 - Remove flag check in bootstrap.cc which was introduced for A64 bringup
 - Remove A64 specific test message expectations

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 13:27:13 +00:00
bmeurer@chromium.org
b4214a1221 [a64] Omit redundant smi checks in write barriers.
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:44:01 +00:00
bmeurer@chromium.org
85856feaf7 Omit redundant smi checks in write barriers.
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:36:53 +00:00
bmeurer@chromium.org
9ef9c4cd49 Improve computation of effects for load elimination.
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:34:14 +00:00
jochen@chromium.org
b0fcc801e9 A64: Skip tests failing on gc stress bots
BUG=none
TBR=ulan@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 12:18:36 +00:00
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