platform/upstream/v8.git
10 years agoFix A64 build: unwrap HSourcePosition into int before recording.
vegorov@chromium.org [Thu, 13 Feb 2014 16:53:18 +0000 (16:53 +0000)]
Fix A64 build: unwrap HSourcePosition into int before recording.

Remove unused position_ field in the LChunkBuilder.

R=ulan@chromium.org
BUG=

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

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

10 years ago(Pre)Parser: Move FunctionState, BlockState and Scope handling to ParserBase.
marja@chromium.org [Thu, 13 Feb 2014 16:17:55 +0000 (16:17 +0000)]
(Pre)Parser: Move FunctionState, BlockState and Scope handling to ParserBase.

Notes:
- This removes Parser::FunctionState and PreParser::FunctionState and adds
ParserBase::FunctionState etc.
- Also the scope stacks and function state stacks are moved to ParserBase.
- PreParser::FunctionState didn't add and subtract
JSFunction::kLiteralsPrefixSize (unlike Parser::FunctionState). Since the
actual value of NextMaterializedLiteralIndex is not used in the Preparser,
this change is valid.
- Traits no longer need functions like is_classic_mode(), since now there is a
 unified way of getting the information from the FunctionState / Scope.

R=ulan@chromium.org
BUG=v8:3126
LOG=N

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

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

10 years agoImprove positions tracking inside the HGraphBuilder.
vegorov@chromium.org [Thu, 13 Feb 2014 16:09:28 +0000 (16:09 +0000)]
Improve positions tracking inside the HGraphBuilder.

Instead of tracking simple absolute offset from the start of the script like other places do, track a pair of (inlining id, offset from the start of inlined function).

This enables us to pinpoint with inlining path an instruction came from. Previously in multi-script environments we emitted positions that made very little sense because inside a single optimized function they would point to different scripts without a way to distinguish them.

Start dumping the source of every inlined function to make possible IR viewing tools with integrated source views as there was previously no way to acquire this information from IR dumps. We also dump source position at which each inlining occured.

Tracked positions are written into hydrogen.cfg as pos:<inlining-id>_<offset>.

Flag --emit-opt-code-positions is renamed by this change into --hydrogen-track-positions to better convey it's meaning.

In addition this change assigned global unique identifier to each optimization performed inside isolate. This allows to precisely match compilation artifacts (e.g. IR and disassembly) and deoptimizations.

BUG=
R=yangguo@chromium.org

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

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

10 years agoReturn on the polymorphic hard deopt case to ensure we don't polute phis with fake...
verwaest@chromium.org [Thu, 13 Feb 2014 15:54:19 +0000 (15:54 +0000)]
Return on the polymorphic hard deopt case to ensure we don't polute phis with fake type information.

R=ishell@chromium.org

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

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

10 years agoA64: Fix some int32 accesses in lithium
m.m.capewell@googlemail.com [Thu, 13 Feb 2014 15:49:01 +0000 (15:49 +0000)]
A64: Fix some int32 accesses in lithium

This fixes mjsunit/sin-cos. There are further int32 accesses being investigated.

BUG=
R=jochen@chromium.org

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

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

10 years agoIntroduce --job-based-sweeping flag and use individual jobs for sweeping if set
jochen@chromium.org [Thu, 13 Feb 2014 15:36:17 +0000 (15:36 +0000)]
Introduce --job-based-sweeping flag and use individual jobs for sweeping if set

BUG=v8:3104
R=hpayer@chromium.org
LOG=y

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

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

10 years agoCount ArrayBuffer's backing_store memory in heap snapshot.
alph@chromium.org [Thu, 13 Feb 2014 15:31:39 +0000 (15:31 +0000)]
Count ArrayBuffer's backing_store memory in heap snapshot.

BUG=341741
LOG=N
R=dslomov@chromium.org, loislo@chromium.org

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

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

10 years agoUse NoBarrier_Load and NoBarrier_Store in FreeListCategory::Concatenate.
hpayer@chromium.org [Thu, 13 Feb 2014 15:01:10 +0000 (15:01 +0000)]
Use NoBarrier_Load and NoBarrier_Store in FreeListCategory::Concatenate.

BUG=
R=jarin@chromium.org

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

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

10 years agoRestore of compare-objeq-elim test accidentally removed in r19229.
ishell@chromium.org [Thu, 13 Feb 2014 12:22:24 +0000 (12:22 +0000)]
Restore of compare-objeq-elim test accidentally removed in r19229.

R=verwaest@chromium.org

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

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

10 years agoRemoved unused field, making clang happy again.
svenpanne@chromium.org [Thu, 13 Feb 2014 12:02:57 +0000 (12:02 +0000)]
Removed unused field, making clang happy again.

R=marja@chromium.org

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

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

10 years agoEnable test-api/SetFunctionEntryHook for a64. It was fixed in r19297.
ulan@chromium.org [Thu, 13 Feb 2014 10:56:10 +0000 (10:56 +0000)]
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

10 years agoAllow map check hoisting in GVN for stable maps.
bmeurer@chromium.org [Thu, 13 Feb 2014 10:47:00 +0000 (10:47 +0000)]
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

10 years agoA64: Indicate the correct size for constant pools.
alexandre.rames@arm.com [Thu, 13 Feb 2014 10:27:42 +0000 (10:27 +0000)]
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

10 years agoPrepare push to trunk. Now working on version 3.24.39.
mstarzinger@chromium.org [Thu, 13 Feb 2014 10:16:13 +0000 (10:16 +0000)]
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

10 years agoDo not internalize in TryConvertKey.
yangguo@chromium.org [Thu, 13 Feb 2014 09:36:20 +0000 (09:36 +0000)]
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

10 years agoInternalize string keys in Keyed{Store,Load}IC.
yangguo@chromium.org [Thu, 13 Feb 2014 08:43:53 +0000 (08:43 +0000)]
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

10 years agoV8 Microtask Queue & API
rafaelw@chromium.org [Wed, 12 Feb 2014 22:04:19 +0000 (22:04 +0000)]
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

10 years agoMIPS: Omit redundant smi checks in write barriers.
plind44@gmail.com [Wed, 12 Feb 2014 18:55:33 +0000 (18:55 +0000)]
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

10 years agoReland: "Use stability to only conditionally flush information from the CheckMaps...
verwaest@chromium.org [Wed, 12 Feb 2014 18:48:12 +0000 (18:48 +0000)]
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

10 years agoDon't propagate information through phis in loop headers.
verwaest@chromium.org [Wed, 12 Feb 2014 18:30:41 +0000 (18:30 +0000)]
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

10 years ago[a64]: Disable failing sparse-array-reverse on a64 debug builds.
rmcilroy@chromium.org [Wed, 12 Feb 2014 18:22:28 +0000 (18:22 +0000)]
[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

10 years agoKeyedLoadIC::GenerateGeneric() fix for MIPS.
ishell@chromium.org [Wed, 12 Feb 2014 17:31:29 +0000 (17:31 +0000)]
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

10 years agoFix test-heap/OptimizedPretenuringAllocationFolding wrt concurrent recompilation...
yangguo@chromium.org [Wed, 12 Feb 2014 16:18:18 +0000 (16:18 +0000)]
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

10 years agoStack trace string should use dynamic script sourceURL if present.
alph@chromium.org [Wed, 12 Feb 2014 15:50:23 +0000 (15:50 +0000)]
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

10 years agoMake prev and next pointer in pages list AtomicWords and access them using acquire...
hpayer@chromium.org [Wed, 12 Feb 2014 15:40:23 +0000 (15:40 +0000)]
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

10 years agoRevert "Use stability to only conditionally flush information from the CheckMaps...
verwaest@chromium.org [Wed, 12 Feb 2014 15:38:42 +0000 (15:38 +0000)]
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

10 years agoUse stability to only conditionally flush information from the CheckMaps table.
verwaest@chromium.org [Wed, 12 Feb 2014 15:07:41 +0000 (15:07 +0000)]
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

10 years agoPort of r19288 to a64: Fix for smi stores optimization.
ishell@chromium.org [Wed, 12 Feb 2014 13:54:55 +0000 (13:54 +0000)]
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

10 years agoAvoid doing explicit cast in simulator-a64::get_sp().
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:34:40 +0000 (13:34 +0000)]
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

10 years agoAdd to OWNERS for arm and a64
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:33:54 +0000 (13:33 +0000)]
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

10 years agoFix for (One|Two)ByteSeqStringSetChar evaluation order/deopt.
jarin@chromium.org [Wed, 12 Feb 2014 13:31:24 +0000 (13:31 +0000)]
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

10 years agoClean up some A64 specific code in common code that was introduced by A64 merge
rmcilroy@chromium.org [Wed, 12 Feb 2014 13:27:13 +0000 (13:27 +0000)]
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

10 years ago[a64] Omit redundant smi checks in write barriers.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:44:01 +0000 (12:44 +0000)]
[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

10 years agoOmit redundant smi checks in write barriers.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:36:53 +0000 (12:36 +0000)]
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

10 years agoImprove computation of effects for load elimination.
bmeurer@chromium.org [Wed, 12 Feb 2014 12:34:14 +0000 (12:34 +0000)]
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

10 years agoA64: Skip tests failing on gc stress bots
jochen@chromium.org [Wed, 12 Feb 2014 12:18:36 +0000 (12:18 +0000)]
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

10 years agoImproved variable-related assembler comments in fullcode.
svenpanne@chromium.org [Wed, 12 Feb 2014 12:06:11 +0000 (12:06 +0000)]
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

10 years agoRefactor scope and function state tracking in (Pre)Parser.
marja@chromium.org [Wed, 12 Feb 2014 12:02:07 +0000 (12:02 +0000)]
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

10 years agoA64: Skip more known failures
jochen@chromium.org [Wed, 12 Feb 2014 11:57:50 +0000 (11:57 +0000)]
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

10 years agoMove parenthesized_function_ to ParserBase.
marja@chromium.org [Wed, 12 Feb 2014 11:56:07 +0000 (11:56 +0000)]
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

10 years agoA64: Remove two TODOs that will not be done.
alexandre.rames@arm.com [Wed, 12 Feb 2014 11:55:52 +0000 (11:55 +0000)]
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

10 years agoAdd ARM contributors to AUTHORS.
jacob.bramley@arm.com [Wed, 12 Feb 2014 11:54:34 +0000 (11:54 +0000)]
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

10 years agoA64: Skip cctests failing in debug mode
jochen@chromium.org [Wed, 12 Feb 2014 10:29:18 +0000 (10:29 +0000)]
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

10 years agoMerge experimental/a64 to bleeding_edge.
ulan@chromium.org [Wed, 12 Feb 2014 09:19:30 +0000 (09:19 +0000)]
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

10 years agoDisable test-api/PreCompileInvalidPreparseDataError for NaCl.
marja@chromium.org [Wed, 12 Feb 2014 08:20:07 +0000 (08:20 +0000)]
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

10 years agoPrepare push to trunk. Now working on version 3.24.38.
machenbach@chromium.org [Wed, 12 Feb 2014 08:12:48 +0000 (08:12 +0000)]
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

10 years agoMore check elimination improvements including partial learning on false branches...
ishell@chromium.org [Tue, 11 Feb 2014 19:18:06 +0000 (19:18 +0000)]
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

10 years agoMark faster when executing write barriers.
hpayer@chromium.org [Tue, 11 Feb 2014 16:22:26 +0000 (16:22 +0000)]
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

10 years agoFix environment of the optimized version of the _SetValueOf intrinsic.
jarin@chromium.org [Tue, 11 Feb 2014 16:11:53 +0000 (16:11 +0000)]
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

10 years agoFix for a smi stores optimization on x64 with a test case.
ishell@chromium.org [Tue, 11 Feb 2014 16:02:18 +0000 (16:02 +0000)]
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

10 years agoRemove extended_extra_ic_state and extend extra_ic_state instead.
verwaest@chromium.org [Tue, 11 Feb 2014 15:01:44 +0000 (15:01 +0000)]
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

10 years agoClean up accessors in the Isolate.
yangguo@chromium.org [Tue, 11 Feb 2014 14:03:31 +0000 (14:03 +0000)]
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

10 years agoAdd more test cases for api function inlining
dcarney@chromium.org [Tue, 11 Feb 2014 12:49:15 +0000 (12:49 +0000)]
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

10 years agoCleanup: ContextualMode doesn't need to be passed to ICs.
mvstanton@chromium.org [Tue, 11 Feb 2014 12:41:58 +0000 (12:41 +0000)]
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

10 years agoMove ParseRegexpLiteral to ParserBase.
marja@chromium.org [Tue, 11 Feb 2014 11:51:01 +0000 (11:51 +0000)]
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

10 years agoHarmony: fix spec violation in Math.cosh.
yangguo@chromium.org [Tue, 11 Feb 2014 11:48:32 +0000 (11:48 +0000)]
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

10 years agoDisable concurrent osr for test-mark-compact/BootUpMemoryUse.
yangguo@chromium.org [Tue, 11 Feb 2014 11:47:38 +0000 (11:47 +0000)]
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

10 years agoMove allocation site pretenuring decision making to GC epilog.
hpayer@chromium.org [Tue, 11 Feb 2014 11:27:22 +0000 (11:27 +0000)]
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

10 years agoMake sure that allocation site scratchpad entries get recorded.
hpayer@chromium.org [Tue, 11 Feb 2014 10:52:30 +0000 (10:52 +0000)]
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

10 years agoGet rid of the function sorting in for polymorphic calls.
bmeurer@chromium.org [Tue, 11 Feb 2014 10:48:37 +0000 (10:48 +0000)]
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

10 years agoFix spec violations in JSON.stringify wrt replacer array.
yangguo@chromium.org [Tue, 11 Feb 2014 10:45:39 +0000 (10:45 +0000)]
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

10 years agoTraitify ParserBase and move functions there.
marja@chromium.org [Tue, 11 Feb 2014 09:35:32 +0000 (09:35 +0000)]
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

10 years agoRemove obsolete stack trace string in a message object.
yangguo@chromium.org [Tue, 11 Feb 2014 09:29:51 +0000 (09:29 +0000)]
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

10 years agoMIPS: Add kExpectedFixedArrayInRegisterA2 message.
palfia@homejinni.com [Tue, 11 Feb 2014 09:27:01 +0000 (09:27 +0000)]
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

10 years agoFix gcstress test failure
mvstanton@chromium.org [Tue, 11 Feb 2014 09:06:13 +0000 (09:06 +0000)]
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

10 years agoPrepare push to trunk. Now working on version 3.24.37.
machenbach@chromium.org [Tue, 11 Feb 2014 08:13:29 +0000 (08:13 +0000)]
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

10 years agoRemove unneccessary assert.
bmeurer@chromium.org [Tue, 11 Feb 2014 07:44:25 +0000 (07:44 +0000)]
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

10 years agoRemove unused --stack-trace-on-abort flag.
yangguo@chromium.org [Tue, 11 Feb 2014 07:29:23 +0000 (07:29 +0000)]
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

10 years agoAdd flag to print stack trace on illegal exception.
yangguo@chromium.org [Tue, 11 Feb 2014 07:28:05 +0000 (07:28 +0000)]
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

10 years agoFix Windows build.
bmeurer@chromium.org [Tue, 11 Feb 2014 07:05:47 +0000 (07:05 +0000)]
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

10 years agoImprove inobject field tracking during GVN.
bmeurer@chromium.org [Tue, 11 Feb 2014 06:53:14 +0000 (06:53 +0000)]
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

10 years agoRevert "Improve inobject field tracking during GVN."
bmeurer@chromium.org [Tue, 11 Feb 2014 06:46:14 +0000 (06:46 +0000)]
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

10 years agoImprove inobject field tracking during GVN.
bmeurer@chromium.org [Tue, 11 Feb 2014 06:41:06 +0000 (06:41 +0000)]
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

10 years agoMIPS: Adding a type vector to replace type cells.
palfia@homejinni.com [Tue, 11 Feb 2014 02:48:57 +0000 (02:48 +0000)]
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

10 years agoIntroduce Jump and Call operand macro assembler instructions for x64
haitao.feng@intel.com [Tue, 11 Feb 2014 01:28:08 +0000 (01:28 +0000)]
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

10 years agoAdding a type vector to replace type cells.
mvstanton@chromium.org [Mon, 10 Feb 2014 21:38:17 +0000 (21:38 +0000)]
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

10 years agoMIPS: Add NaN test to cctest/test-macro-assembler-mips.
plind44@gmail.com [Mon, 10 Feb 2014 19:46:34 +0000 (19:46 +0000)]
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

10 years agoRevert "Traitify ParserBase and move functions there."
marja@chromium.org [Mon, 10 Feb 2014 16:21:11 +0000 (16:21 +0000)]
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

10 years agoMIPS: Fix r19175 "Avoid embedding x86 NaN constant in MacroAssembler code when snapsh...
plind44@gmail.com [Mon, 10 Feb 2014 15:49:28 +0000 (15:49 +0000)]
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

10 years agoTraitify ParserBase and move functions there.
marja@chromium.org [Mon, 10 Feb 2014 15:35:39 +0000 (15:35 +0000)]
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

10 years agoReland of r19102: Check elimination improvement: propagation of state through phis...
ishell@chromium.org [Mon, 10 Feb 2014 15:32:54 +0000 (15:32 +0000)]
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

10 years agoMerge BuildLoadKeyedGeneric and BuildStoreKeyedGeneric, switch on AccessType
verwaest@chromium.org [Mon, 10 Feb 2014 14:58:25 +0000 (14:58 +0000)]
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

10 years agoFix NoTrackDoubleFieldsForSerializerScope.
ulan@chromium.org [Mon, 10 Feb 2014 13:56:59 +0000 (13:56 +0000)]
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

10 years agoEnable specification of author email in push-to-trunk.
machenbach@chromium.org [Mon, 10 Feb 2014 12:48:36 +0000 (12:48 +0000)]
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

10 years agoFix inconsistencies wrt whitespaces.
yangguo@chromium.org [Mon, 10 Feb 2014 12:43:10 +0000 (12:43 +0000)]
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

10 years agoUse PropertyAccessType for keyed accesses rather than "bool is_store"
verwaest@chromium.org [Mon, 10 Feb 2014 11:43:34 +0000 (11:43 +0000)]
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

10 years agoRemove duplicate third-party test cases.
mstarzinger@chromium.org [Mon, 10 Feb 2014 11:29:59 +0000 (11:29 +0000)]
Remove duplicate third-party test cases.

Some of the third-party test cases in the mjsunit test suite were
originally taken from WebKit and are now fully covered by the equally
named test suite.

Mapping of test cases:
 - array-isarray.js -> test/webkit/Array-isArray.js
 - array-splice-webkit.js -> test/webkit/array-splice.js

R=machenbach@chromium.org
BUG=

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

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

10 years agoUnify BuildLoad/StoreNamedGeneric
verwaest@chromium.org [Mon, 10 Feb 2014 10:23:59 +0000 (10:23 +0000)]
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

10 years agoPrepare push to trunk. Now working on version 3.24.36.
machenbach@chromium.org [Mon, 10 Feb 2014 09:01:10 +0000 (09:01 +0000)]
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

10 years agoDrop unused accumulated first time changes/depends.
bmeurer@chromium.org [Mon, 10 Feb 2014 08:59:51 +0000 (08:59 +0000)]
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

10 years agoUnify (Pre)Parser::ParseTryStatement.
marja@chromium.org [Mon, 10 Feb 2014 08:45:13 +0000 (08:45 +0000)]
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

10 years agoRevert "Introduce MoveDouble to the X64 MacroAssembler" (r17383)
haitao.feng@intel.com [Sat, 8 Feb 2014 02:16:25 +0000 (02:16 +0000)]
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

10 years agoRevert "Make Function.length and Function.name configurable properties."
rossberg@chromium.org [Fri, 7 Feb 2014 15:29:18 +0000 (15:29 +0000)]
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

10 years agoMake Function.length and Function.name configurable properties.
rossberg@chromium.org [Fri, 7 Feb 2014 14:55:30 +0000 (14:55 +0000)]
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

10 years agoRevert "Fix inconsistencies wrt whitespaces."
yangguo@chromium.org [Fri, 7 Feb 2014 14:13:00 +0000 (14:13 +0000)]
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

10 years agoUnify function parameter checking in PreParser and Parser.
marja@chromium.org [Fri, 7 Feb 2014 12:44:45 +0000 (12:44 +0000)]
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

10 years agoFix inconsistencies wrt whitespaces.
yangguo@chromium.org [Fri, 7 Feb 2014 12:34:45 +0000 (12:34 +0000)]
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

10 years agoMake LeakSanitizer happy, part 3.
svenpanne@chromium.org [Fri, 7 Feb 2014 12:17:45 +0000 (12:17 +0000)]
Make LeakSanitizer happy, part 3.

Fixed a few more cctests and removed some which were broken for ages
and/or tested nothing useful anymore.

Note that cctests are now fully LeakSanitized (at least on x64)!

R=dcarney@chromium.org

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

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

10 years agoAdd basic support for STL containers allocated in Zones
danno@chromium.org [Fri, 7 Feb 2014 11:55:11 +0000 (11:55 +0000)]
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

10 years agoUnify function name validation in Parser and PreParser.
marja@chromium.org [Fri, 7 Feb 2014 10:47:01 +0000 (10:47 +0000)]
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