platform/upstream/v8.git
11 years agoVarious minor cctest fixes to make ASAN a bit happier.
svenpanne@chromium.org [Wed, 15 May 2013 08:59:28 +0000 (08:59 +0000)]
Various minor cctest fixes to make ASAN a bit happier.

   * Running with ASAN needs more stack, so don't set resource constraints too
     tight.

   * Checking boot time memory usage doesn't make sense when running with ASAN,
     it eats tons of memory for itself.

   * Fixed a malloc/delete[] mismatch: Not surprisingly, the pointer wrapped by
     a SmartArrayPointer should better be allocated by, well, NewArray...

Even with these 3 fixes, we still have a few failures when running our test
suite with ASAN. Most of them are either timeouts or failures caused by greatly
increased stack usage.

R=mstarzinger@chromium.org

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

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

11 years agoMIPS: Error found in test262 on ARM: BinaryOpStub could call out to a built-in and...
palfia@homejinni.com [Wed, 15 May 2013 00:57:19 +0000 (00:57 +0000)]
MIPS: Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters without an enclosing frame.

Port r14665 (15349aa)

This corrupted stackwalking.

BUG=

Review URL: https://codereview.chromium.org/14850023
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Ensure that soft-deopts don't count against opt_count
palfia@homejinni.com [Wed, 15 May 2013 00:02:40 +0000 (00:02 +0000)]
MIPS: Ensure that soft-deopts don't count against opt_count

Port r14658 (12c49bd)

This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information.

BUG=

Review URL: https://codereview.chromium.org/15005008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoFix Win64 compilation after r14670
yurys@chromium.org [Tue, 14 May 2013 23:54:39 +0000 (23:54 +0000)]
Fix Win64 compilation after r14670

TBR=jkummerow@chromium.org
BUG=v8:2628

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

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

11 years agoSkip samples where top function's stack frame is not setup properly
yurys@chromium.org [Tue, 14 May 2013 22:51:33 +0000 (22:51 +0000)]
Skip samples where top function's stack frame is not setup properly

Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where  stack frame doesn't exist and completely ignore such samples.

This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness.

BUG=v8:2628
R=jkummerow@chromium.org

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

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

11 years agoImplement yield* (delegating yield)
wingo@igalia.com [Tue, 14 May 2013 16:26:56 +0000 (16:26 +0000)]
Implement yield* (delegating yield)

Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch.  We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.

So instead we implement all of the logic in
FullCodeGenerator::VisitYield.  Delegating yield AST nodes now have a
try handler index, for the try/catch.  Otherwise the implementation is
straightforward.

R=rossberg@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

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

11 years agoRevert mistakenly committed r14667 and r14666.
wingo@igalia.com [Tue, 14 May 2013 16:17:26 +0000 (16:17 +0000)]
Revert mistakenly committed r14667 and r14666.

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

11 years agoAvoid loading "iter" twice.
wingo@igalia.com [Tue, 14 May 2013 15:59:37 +0000 (15:59 +0000)]
Avoid loading "iter" twice.

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

11 years agoImplement yield* (delegating yield)
wingo@igalia.com [Tue, 14 May 2013 15:59:25 +0000 (15:59 +0000)]
Implement yield* (delegating yield)

Ideally this would have been implemented via desugaring at parse-time,
but yield* is an expression, and its desugaring includes statements like
while and try/catch.  We'd have to have BlockExpression in the AST to
support that, and it's not worth it for this feature.

So instead we implement all of the logic in
FullCodeGenerator::VisitYield.  Delegating yield AST nodes now have a
try handler index, for the try/catch.  Otherwise the implementation is
straightforward.

R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

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

11 years agoError found in test262 on ARM: BinaryOpStub could call out to a built-in and push...
mvstanton@chromium.org [Tue, 14 May 2013 15:30:55 +0000 (15:30 +0000)]
Error found in test262 on ARM: BinaryOpStub could call out to a built-in and push parameters without an enclosing frame. This corrupted stackwalking.

BUG=
R=ulan@chromium.org

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

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

11 years agoAvoid convertion to double when it is not needed.
dslomov@chromium.org [Tue, 14 May 2013 15:03:27 +0000 (15:03 +0000)]
Avoid convertion to double when it is not needed.

R=rossberg@chromium.org

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

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

11 years agoImprove dead code elimination by transitively marking live code and removing all...
titzer@chromium.org [Tue, 14 May 2013 13:10:52 +0000 (13:10 +0000)]
Improve dead code elimination by transitively marking live code and removing all dead code. Replace unreachable phi removal algorithm with the new dead code elimination pass, which is more thorough.

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

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

11 years agoRemove HIsNilAndBranch (it's now unused)
danno@chromium.org [Tue, 14 May 2013 12:56:53 +0000 (12:56 +0000)]
Remove HIsNilAndBranch (it's now unused)

R=mstarzinger@chromium.org

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

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

11 years agoDon't use anonymous types declared in an anonymous union.
svenpanne@chromium.org [Tue, 14 May 2013 12:04:04 +0000 (12:04 +0000)]
Don't use anonymous types declared in an anonymous union.

They are a non-standard extension (probably in C1X, IIRC), but clang is unhappy
with them when -Wnested-anon-types is enabled, which seems to be implied by
-pedantic.

With this change and the previous fix for clang, we are now -Werror clean, even
on clang 3.3.

R=rossberg@chromium.org

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

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

11 years agoEnsure that soft-deopts don't count against opt_count
danno@chromium.org [Tue, 14 May 2013 11:45:33 +0000 (11:45 +0000)]
Ensure that soft-deopts don't count against opt_count

This makes sure that Crankshaft doesn't disable optimization to early on hot functions that still contain unexecuted code without type information.

R=jkummerow@chromium.org

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

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

11 years agoFixed linkage for Is template.
svenpanne@chromium.org [Tue, 14 May 2013 11:02:20 +0000 (11:02 +0000)]
Fixed linkage for Is template.

With static linkage, clang 3.3 is unhappy about unused functions

   template <> inline bool Is<JSFunction>(Object* obj)
   template <> inline bool Is<JSArray>(Object* obj)

in any compilation unit apart from acessors.cc.

R=mvstanton@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.19.2.
ulan@chromium.org [Tue, 14 May 2013 08:13:25 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.19.2.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15159002

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

11 years agoBinaryOpStub::GenerateSmiStub() on 32bit would erroneously patch the IC in case of...
mvstanton@chromium.org [Tue, 14 May 2013 06:53:46 +0000 (06:53 +0000)]
BinaryOpStub::GenerateSmiStub() on 32bit would erroneously patch the IC in case of a gc requirement. Brought the behavior into line with ARM and x64. Also some cleanup to label names.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoMIPS: Only flush SharedFunctionInfo optimized code cache when necessary
palfia@homejinni.com [Tue, 14 May 2013 00:28:45 +0000 (00:28 +0000)]
MIPS: Only flush SharedFunctionInfo optimized code cache when necessary

Port r14650 (d045fbd3)

BUG=

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

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

11 years agoMIPS: Elide hole checks on KeyedLoads of holey double arrays
palfia@homejinni.com [Tue, 14 May 2013 00:28:01 +0000 (00:28 +0000)]
MIPS: Elide hole checks on KeyedLoads of holey double arrays

Port r14630 (124d01e7)

Original commit message:
Improves NavierStokes by about 5%

BUG=

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

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

11 years agoOnly flush SharedFunctionInfo optimized code cache when necessary
danno@chromium.org [Mon, 13 May 2013 19:22:18 +0000 (19:22 +0000)]
Only flush SharedFunctionInfo optimized code cache when necessary

R=mstarzinger@chromium.org

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

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

11 years agoDon't flush code for generator functions.
wingo@igalia.com [Mon, 13 May 2013 17:36:26 +0000 (17:36 +0000)]
Don't flush code for generator functions.

R=mstarzinger@chromium.org
BUG=v8:2681
TEST=mjsunit/regress/regress-2681

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

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

11 years agoEnable harmony_typed_arrays for shared build of d8.
dslomov@chromium.org [Mon, 13 May 2013 16:32:32 +0000 (16:32 +0000)]
Enable harmony_typed_arrays for shared build of d8.

R=mstarzinger@chromium.org

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

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

11 years agoEnable native implementation of array buffer and typed arrays in d8 and tests.
dslomov@chromium.org [Mon, 13 May 2013 14:18:43 +0000 (14:18 +0000)]
Enable native implementation of array buffer and typed arrays in d8 and tests.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agostop using AsciiValue
dcarney@chromium.org [Mon, 13 May 2013 14:18:05 +0000 (14:18 +0000)]
stop using AsciiValue

TBR=svenpanne@chomium.org
BUG=

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

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

11 years agoConsistently assume that arithmetic operations can overflow unless one can prove...
svenpanne@chromium.org [Mon, 13 May 2013 13:48:15 +0000 (13:48 +0000)]
Consistently assume that arithmetic operations can overflow unless one can prove the opposite.

Previously, HDiv never had its CanOverflow flag cleared and HMod had
inverted logic (compared to HAdd, HSub and HMul). Minor cleanups on the way.

R=jkummerow@chromium.org

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

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

11 years agoFix Win64 build
danno@chromium.org [Mon, 13 May 2013 13:20:47 +0000 (13:20 +0000)]
Fix Win64 build

TBR=jkummerow@chromium.org

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

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

11 years agoFix missing hole check for loads from Smi arrays when all uses are changes
jkummerow@chromium.org [Mon, 13 May 2013 11:58:10 +0000 (11:58 +0000)]
Fix missing hole check for loads from Smi arrays when all uses are changes

BUG=chromium:233737

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

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

11 years agoPrint range and type for phis, too.
svenpanne@chromium.org [Mon, 13 May 2013 11:51:49 +0000 (11:51 +0000)]
Print range and type for phis, too.

To comply with c1visualizer syntax, the format for ranges and types has changed
slightly. Furthermore, the format for phi uses has been changed a bit for more
consistency, too.

R=ulan@chromium.org

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

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

11 years agoImprove trace_opt output to help find compilation problems
danno@chromium.org [Mon, 13 May 2013 11:10:31 +0000 (11:10 +0000)]
Improve trace_opt output to help find compilation problems

R=jkummerow@chromium.org

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

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

11 years agoPrevent flushing of code that was set with %SetCode.
mstarzinger@chromium.org [Mon, 13 May 2013 10:59:00 +0000 (10:59 +0000)]
Prevent flushing of code that was set with %SetCode.

This makes sure that shared function infos that break the one-to-one
mapping to code are marked as un-flushable. Otherwise enqueuing through
the GC meta-data field in the code object doesn't work.

R=rossberg@chromium.org
TEST=cctest/test-api/Threading4

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

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

11 years agoElide hole checks on KeyedLoads of holey double arrays
danno@chromium.org [Mon, 13 May 2013 07:35:26 +0000 (07:35 +0000)]
Elide hole checks on KeyedLoads of holey double arrays

Improves NavierStokes by about 5%

R=ulan@chromium.org

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

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

11 years agoFixed constant folding in HMod.
svenpanne@chromium.org [Mon, 13 May 2013 07:32:38 +0000 (07:32 +0000)]
Fixed constant folding in HMod.

We have to check for overflow before attempting to do a modulo operation,
otherwise Crankshaft itself segfaults on some platforms, e.g. ia32. Added tests
even for division, where the problem doesn't show up, just to be sure...

R=mvstanton@chromium.org

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

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

11 years agoMIPS: Track heap objects.
palfia@homejinni.com [Fri, 10 May 2013 22:48:41 +0000 (22:48 +0000)]
MIPS: Track heap objects.

Port r14625 (bfb25ed8)

BUG=

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

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

11 years agoMIPS: Call to the right slow method.
palfia@homejinni.com [Fri, 10 May 2013 22:47:49 +0000 (22:47 +0000)]
MIPS: Call to the right slow method.

Port r14608 (339e0877)

BUG=

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

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

11 years agoReturn failure when allocating maps fails.
verwaest@chromium.org [Fri, 10 May 2013 17:43:04 +0000 (17:43 +0000)]
Return failure when allocating maps fails.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14707011

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

11 years agoTrack heap objects.
verwaest@chromium.org [Fri, 10 May 2013 17:17:50 +0000 (17:17 +0000)]
Track heap objects.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14996004

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

11 years agoAdd Persistent::ClearAndLeak.
mstarzinger@chromium.org [Fri, 10 May 2013 14:04:51 +0000 (14:04 +0000)]
Add Persistent::ClearAndLeak.

This will be relevant after Persistent is changed to Dispose itself when
destructed. With Persistent::ClearAndLeak, Blink can take the ownership of the
object pointed by a Persistent and avoid it getting destructed.

BUG=
R=svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoFix bogus arguments length check in StringLocaleCompare.
mstarzinger@chromium.org [Fri, 10 May 2013 13:50:10 +0000 (13:50 +0000)]
Fix bogus arguments length check in StringLocaleCompare.

R=rossberg@chromium.org
TEST=test262/15.5.4.9_3

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

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

11 years agoRevert r14610 because of test-262 failures.
ulan@chromium.org [Fri, 10 May 2013 13:21:24 +0000 (13:21 +0000)]
Revert r14610 because of test-262 failures.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14838012

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

11 years agoMIPS: Fix NaN handling for start and end indexes in ArraySlice.
palfia@homejinni.com [Fri, 10 May 2013 13:04:42 +0000 (13:04 +0000)]
MIPS: Fix NaN handling for start and end indexes in ArraySlice.

Casting NaN to int is unpredictable, on different architectures it produces different int value.

TEST=test262/S15.4.4.10_A2.1_T2, test262/S15.4.4.10_A2.2_T2

BUG=

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

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

11 years agoUpdate Test262 harness to recent version.
mstarzinger@chromium.org [Fri, 10 May 2013 13:00:43 +0000 (13:00 +0000)]
Update Test262 harness to recent version.

R=rossberg@chromium.org
TEST=test262

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

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

11 years agoRemove separate maps for function instances
wingo@igalia.com [Fri, 10 May 2013 12:59:20 +0000 (12:59 +0000)]
Remove separate maps for function instances

ES3 specified that functions created via Function() would have
enumerable prototypes, unlike function literals.  For this reason, V8
has always had two prototypes for functions: "function_map" for
literals, and "function_instance_map" for "function instances": those
functions created by Function().

However, since 2009 or so, both maps have been the same!  Both have had
writable, non-enumerable prototypes.  Moreover, ES5 changed to specify
that function instances would have non-enumerable prototypes.

This patch removes the separate maps for function instances in sloppy
and strict mode.

R=mstarzinger@chromium.org
TEST=mjsunit/function-prototype
BUG=

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

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

11 years agoDeprecate the version of Context::New which returns a Persistent.
mstarzinger@chromium.org [Fri, 10 May 2013 12:48:53 +0000 (12:48 +0000)]
Deprecate the version of Context::New which returns a Persistent.

BUG=
R=svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoRobustification: Always assign an environment to LModI when a deopt is possible.
svenpanne@chromium.org [Fri, 10 May 2013 12:45:14 +0000 (12:45 +0000)]
Robustification: Always assign an environment to LModI when a deopt is possible.

Currently things only work because of a very fragile interaction between minus
zero propagation and range analysis.

R=mvstanton@chromium.org

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

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

11 years agoClear new-space promotion if the type is smi.
verwaest@chromium.org [Fri, 10 May 2013 12:19:34 +0000 (12:19 +0000)]
Clear new-space promotion if the type is smi.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/15098002

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

11 years agoCleaned up Crankshaft pipeline a bit.
svenpanne@chromium.org [Fri, 10 May 2013 11:32:13 +0000 (11:32 +0000)]
Cleaned up Crankshaft pipeline a bit.

Two tiny changes:

  * Some phases were missing an HPhase, which was added, so we can now see all
    phases in the visualizer output.

  * Consistently test commandline flags directly in the pipeline, making it
    clearer which parts are optional and which are not.

R=mstarzinger@chromium.org

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

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

11 years agoSkip flaky regress-crbug-160010 regression test.
mstarzinger@chromium.org [Fri, 10 May 2013 10:39:16 +0000 (10:39 +0000)]
Skip flaky regress-crbug-160010 regression test.

R=ulan@chromium.org
BUG=chromium:160010
TEST=mjsunit/regress/regress-crbug-160010

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

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

11 years agoRemove obsolete HArrayLiteral instruction.
mstarzinger@chromium.org [Fri, 10 May 2013 09:52:08 +0000 (09:52 +0000)]
Remove obsolete HArrayLiteral instruction.

R=ulan@chromium.org

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

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

11 years agoRemove obsolete HObjectLiteral instruction.
mstarzinger@chromium.org [Fri, 10 May 2013 09:47:05 +0000 (09:47 +0000)]
Remove obsolete HObjectLiteral instruction.

R=ulan@chromium.org

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

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

11 years agoUse AssumeRepresentation when the representation is known and will not change.
ulan@chromium.org [Fri, 10 May 2013 09:31:28 +0000 (09:31 +0000)]
Use AssumeRepresentation when the representation is known and will not change.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14793014

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

11 years agoVerify that no-side-effects scope does not add unsafe phis and does not change push...
ulan@chromium.org [Fri, 10 May 2013 09:26:53 +0000 (09:26 +0000)]
Verify that no-side-effects scope does not add unsafe phis and does not change push-pop balance of the environment.

R=danno@chromium.org
BUG=v8:2671

Review URL: https://chromiumcodereview.appspot.com/14696015

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

11 years agoTurn on tracking of fields.
verwaest@chromium.org [Fri, 10 May 2013 09:12:52 +0000 (09:12 +0000)]
Turn on tracking of fields.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14807006

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

11 years agoCall to the right slow method.
verwaest@chromium.org [Fri, 10 May 2013 09:12:30 +0000 (09:12 +0000)]
Call to the right slow method.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14834009

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

11 years agoARM: fix constant pool length emitted for disassembler.
ulan@chromium.org [Fri, 10 May 2013 09:03:51 +0000 (09:03 +0000)]
ARM: fix constant pool length emitted for disassembler.

R=jfb@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14972007

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

11 years agoAlways use BuildCheckNonSmi, and don't emit check if HeapObject.
verwaest@chromium.org [Fri, 10 May 2013 08:58:58 +0000 (08:58 +0000)]
Always use BuildCheckNonSmi, and don't emit check if HeapObject.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14731016

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

11 years agoDon't CheckSmi when type is Smi.
verwaest@chromium.org [Fri, 10 May 2013 08:39:37 +0000 (08:39 +0000)]
Don't CheckSmi when type is Smi.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14890007

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

11 years agoPrepare push to trunk. Now working on version 3.19.1.
ulan@chromium.org [Fri, 10 May 2013 08:13:08 +0000 (08:13 +0000)]
Prepare push to trunk.  Now working on version 3.19.1.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14919008

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

11 years agoARM: Fix register name in AllocateAsciiConsString.
plind44@gmail.com [Wed, 8 May 2013 22:21:54 +0000 (22:21 +0000)]
ARM: Fix register name in AllocateAsciiConsString.

BUG=
R=hpayer@chromium.org

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

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

11 years agoMIPS: Use mutable heapnumbers to store doubles in fields.
palfia@homejinni.com [Wed, 8 May 2013 22:15:27 +0000 (22:15 +0000)]
MIPS: Use mutable heapnumbers to store doubles in fields.

Port r14597 (6e9d7149)

BUG=

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

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

11 years agoParallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.
mvstanton@chromium.org [Wed, 8 May 2013 16:48:27 +0000 (16:48 +0000)]
Parallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoFixed one spelling error.
danno@chromium.org [Wed, 8 May 2013 16:17:23 +0000 (16:17 +0000)]
Fixed one spelling error.

InitilizeVtuneForV8 --> InitializeVtuneForV8

R=danno@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

11 years agoUse mutable heapnumbers to store doubles in fields.
verwaest@chromium.org [Wed, 8 May 2013 15:02:08 +0000 (15:02 +0000)]
Use mutable heapnumbers to store doubles in fields.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14850006

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

11 years agoFix environment in HOptimizedGraphBuilder::VisitCountOperation. Follow-up for r14584.
ulan@chromium.org [Wed, 8 May 2013 14:58:06 +0000 (14:58 +0000)]
Fix environment in HOptimizedGraphBuilder::VisitCountOperation. Follow-up for r14584.

R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671-1.js

Review URL: https://chromiumcodereview.appspot.com/14972009

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

11 years agoSupport merging with distinct attributes.
verwaest@chromium.org [Wed, 8 May 2013 14:40:36 +0000 (14:40 +0000)]
Support merging with distinct attributes.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14756012

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

11 years agoAlways generalize all representations when no transition is inserted.
verwaest@chromium.org [Wed, 8 May 2013 14:19:48 +0000 (14:19 +0000)]
Always generalize all representations when no transition is inserted.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14696016

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

11 years agoTurn off tracking of fields for the roll.
verwaest@chromium.org [Wed, 8 May 2013 14:18:30 +0000 (14:18 +0000)]
Turn off tracking of fields for the roll.
Revert polymorphic stores suspect of crashes.

Revert "Turn on tracking of fields."
Revert "Turn polymorphic stores monomorphic if store sequence matches."
Revert "Fix polymorphic store."

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/14812010

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

11 years agoConsistently start (almost) all AstPrinter::VisitFoo functions with IndentedScope.
svenpanne@chromium.org [Wed, 8 May 2013 13:24:45 +0000 (13:24 +0000)]
Consistently start (almost) all AstPrinter::VisitFoo functions with IndentedScope.

This makes IndentedScope the single point where we can print additional info in
the future, like e.g. AST IDs (at least when the TODOs are fixed). Minor other
cleanups.

R=mvstanton@chromium.org

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

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

11 years agoRefactoring only: Removed unused argument from IndentedScope constructor.
svenpanne@chromium.org [Wed, 8 May 2013 11:06:46 +0000 (11:06 +0000)]
Refactoring only: Removed unused argument from IndentedScope constructor.

R=mvstanton@chromium.org

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

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

11 years agoFix polymorphic store.
verwaest@chromium.org [Wed, 8 May 2013 10:34:51 +0000 (10:34 +0000)]
Fix polymorphic store.

Review URL: https://chromiumcodereview.appspot.com/14696011

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

11 years agoTurn polymorphic stores monomorphic if store sequence matches.
verwaest@chromium.org [Wed, 8 May 2013 09:39:26 +0000 (09:39 +0000)]
Turn polymorphic stores monomorphic if store sequence matches.

Review URL: https://chromiumcodereview.appspot.com/14796012

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

11 years agoTurn off optimize-constructed-arrays flag to investigate ARM perf issue
mvstanton@chromium.org [Wed, 8 May 2013 08:49:29 +0000 (08:49 +0000)]
Turn off optimize-constructed-arrays flag to investigate ARM perf issue

BUG=
R=danno@chromium.org

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

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

11 years agoBias commutative single-use register inputs and support lea adds
danno@chromium.org [Wed, 8 May 2013 08:37:24 +0000 (08:37 +0000)]
Bias commutative single-use register inputs and support lea adds

This improves register allocation for many common add and multiply patterns on ia32 and x64 by reducing register pressure.

R=jkummerow@chromium.org

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

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

11 years agoGenerators save and restore stack handlers
wingo@igalia.com [Wed, 8 May 2013 08:08:23 +0000 (08:08 +0000)]
Generators save and restore stack handlers

This CL adds machinery to unwind stack handlers from the stack and store
them into a generator's operand array.  It also includes routines to
reinstate them.  Together this allows generators to yield within
try/catch and try/finally blocks.

BUG=v8:2355
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration

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

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

11 years agofix nosnapshot test failure in 14793004, do not deprecate function
dcarney@chromium.org [Wed, 8 May 2013 07:45:16 +0000 (07:45 +0000)]
fix nosnapshot test failure in 14793004, do not deprecate function

BUG=
TBR=svenpanne@chromium.org

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

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

11 years agoDo not change environment between simulate and scope with no observable side-effects...
ulan@chromium.org [Wed, 8 May 2013 07:40:28 +0000 (07:40 +0000)]
Do not change environment between simulate and scope with no observable side-effects in HandlePropertyAssignment.

LChunkBuilder reconstructs the environment by applying simulates. A scope with no observable side-effects has no simulates. If the scope deoptimizes, then LChunkBuilder would miss the changes to the environment between the last simulate and the scope.

R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671.js

Review URL: https://chromiumcodereview.appspot.com/14793009

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

11 years agoMIPS: Becuase of cross-context calls, hydrogen-based Array constructor needs to ensur...
palfia@homejinni.com [Tue, 7 May 2013 23:15:27 +0000 (23:15 +0000)]
MIPS: Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure the array constructor pointer passed in matches that of the current context.

Port r14581 (32067c11)

BUG=

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

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

11 years agoMIPS: Generators return boxed values
palfia@homejinni.com [Tue, 7 May 2013 23:14:36 +0000 (23:14 +0000)]
MIPS: Generators return boxed values

Port r14563 (6d01adb8)

Original commit message:
Generators now box their return values in object literals of the form

  { value: VAL, done: DONE }

where DONE is false for yield expressions, and true for return
statements.

BUG=

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

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

11 years agoBecuase of cross-context calls, hydrogen-based Array constructor needs to ensure
mvstanton@chromium.org [Tue, 7 May 2013 21:01:53 +0000 (21:01 +0000)]
Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure
the array constructor pointer passed in matches that of the current context.

BUG=
R=verwaest@chromium.org

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

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

11 years agoRevert "deprecate Context::New which returns Persistent"
mstarzinger@chromium.org [Tue, 7 May 2013 16:28:51 +0000 (16:28 +0000)]
Revert "deprecate Context::New which returns Persistent"

This reverts r14573 because of test failures in no-snapshot mode in the
cctest/test-debug/ScriptCollectedEventContext test case.

TBR=dcarney@chromium.org,svenpanne@chromium.org
TEST=cctest/test-debug/ScriptCollectedEventContext

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

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

11 years agoDisable code flushing for native SharedFunctionInfo.
mstarzinger@chromium.org [Tue, 7 May 2013 15:18:01 +0000 (15:18 +0000)]
Disable code flushing for native SharedFunctionInfo.

R=hpayer@google.com
TEST=cctest/test-api/Threading4

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

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

11 years agoImplement TypedArray.set function.
dslomov@chromium.org [Tue, 7 May 2013 14:42:17 +0000 (14:42 +0000)]
Implement TypedArray.set function.

R=rossberg@chromium.org

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

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

11 years agoUpdate mjsunit tests to be complaian with ES6 implementation of typed arrays
dslomov@chromium.org [Tue, 7 May 2013 14:03:50 +0000 (14:03 +0000)]
Update mjsunit tests to be complaian with ES6 implementation of typed arrays

R=rossberg@chromium.org

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

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

11 years agoDisable flaky CPU profiler test case.
mstarzinger@chromium.org [Tue, 7 May 2013 14:02:31 +0000 (14:02 +0000)]
Disable flaky CPU profiler test case.

R=svenpanne@chromium.org
BUG=v8:2628
TEST=cctest/test-cpu-profiler/CollectCpuProfile

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

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

11 years agodeprecate Context::New which returns Persistent
dcarney@chromium.org [Tue, 7 May 2013 13:29:24 +0000 (13:29 +0000)]
deprecate Context::New which returns Persistent

BUG=
TBR=marja@chromium.org

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

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

11 years agoPrevent grokdump from crying about invalid input.
mstarzinger@chromium.org [Tue, 7 May 2013 13:24:04 +0000 (13:24 +0000)]
Prevent grokdump from crying about invalid input.

R=ulan@chromium.org

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

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

11 years agoFree up 11 bits in fast-mode PropertyDetails by removing the enumeration-index.
verwaest@chromium.org [Tue, 7 May 2013 13:09:23 +0000 (13:09 +0000)]
Free up 11 bits in fast-mode PropertyDetails by removing the enumeration-index.

The descriptors are nowadays ordered in order of addition, so that info was
duplicated.

Review URL: https://chromiumcodereview.appspot.com/14622005

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

11 years agoAdd Persistent<T>::Reset which disposes the handle and redirects it to point to anoth...
dcarney@chromium.org [Tue, 7 May 2013 12:37:22 +0000 (12:37 +0000)]
Add Persistent<T>::Reset which disposes the handle and redirects it to point to another object.

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

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

Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoObject.observe: disable freezing changeRecords until it can be made fast
rossberg@chromium.org [Tue, 7 May 2013 12:20:33 +0000 (12:20 +0000)]
Object.observe: disable freezing changeRecords until it can be made fast

R=rossberg,adamk
BUG=

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

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

11 years agoFix braindead Handle::is_identical_to
rossberg@chromium.org [Tue, 7 May 2013 12:02:15 +0000 (12:02 +0000)]
Fix braindead Handle::is_identical_to

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoFast-forward version number on bleeding_edge. Now working on version 3.19.0.
danno@chromium.org [Tue, 7 May 2013 11:43:43 +0000 (11:43 +0000)]
Fast-forward version number on bleeding_edge. Now working on version 3.19.0.

R=mstarzinger@chromium.org

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

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

11 years agoadd weakcallback without persistent copying
dcarney@chromium.org [Tue, 7 May 2013 10:44:30 +0000 (10:44 +0000)]
add weakcallback without persistent copying

R=svenpanne@chromium.org
BUG=

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

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

11 years agoFix polymorphic to monomorphic load to take representation into account.
verwaest@chromium.org [Tue, 7 May 2013 10:32:23 +0000 (10:32 +0000)]
Fix polymorphic to monomorphic load to take representation into account.

Review URL: https://chromiumcodereview.appspot.com/14966005

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

11 years agoPerform incremental marking step after free-list allocation and clean-up incremental...
hpayer@chromium.org [Tue, 7 May 2013 09:48:42 +0000 (09:48 +0000)]
Perform incremental marking step after free-list allocation and clean-up incremental marking start condition.

BUG=

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

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

11 years agoGenerators return boxed values
wingo@igalia.com [Tue, 7 May 2013 08:46:42 +0000 (08:46 +0000)]
Generators return boxed values

Generators now box their return values in object literals of the form

  { value: VAL, done: DONE }

where DONE is false for yield expressions, and true for return
statements.

BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
R=mstarzinger@chromium.org

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

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

11 years agoremove use of WriteAscii for vtune
dcarney@chromium.org [Tue, 7 May 2013 07:23:39 +0000 (07:23 +0000)]
remove use of WriteAscii for vtune

R=svenpanne@chromium.org
BUG=

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

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

11 years agoAdded an extra flag that enables only ArrayBuffer.
dslomov@chromium.org [Mon, 6 May 2013 16:19:27 +0000 (16:19 +0000)]
Added an extra flag that enables only ArrayBuffer.

This makes Blink experimentation easier.

R=rossberg@chromium.org

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

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

11 years agoFix incremental marking speed accelleration and start incremental marking when old...
hpayer@chromium.org [Mon, 6 May 2013 16:17:49 +0000 (16:17 +0000)]
Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.

BUG=

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

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

11 years agoRevert fix incremental marking speed accelleration and start incremental marking...
hpayer@chromium.org [Mon, 6 May 2013 13:39:54 +0000 (13:39 +0000)]
Revert fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.

BUG=

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

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

11 years agoFix incremental marking speed accelleration and start incremental marking when old...
hpayer@chromium.org [Mon, 6 May 2013 13:07:10 +0000 (13:07 +0000)]
Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.

BUG=

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

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