platform/upstream/v8.git
11 years agoMIPS: Generators can resume
palfia@homejinni.com [Wed, 24 Apr 2013 23:11:48 +0000 (23:11 +0000)]
MIPS: Generators can resume

Port r14415 (d358defa) and r14424 (7b549ce7)

Original commit message:
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame.  In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.

BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration

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

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

11 years agoMIPS: Add monomorphic CompareNilICs and Crankshaft support
palfia@homejinni.com [Wed, 24 Apr 2013 23:10:53 +0000 (23:10 +0000)]
MIPS: Add monomorphic CompareNilICs and Crankshaft support

Port r14407 (cae6596b)

BUG=

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

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

11 years agoMIPS: Fix NaN handling for start index in ArraySplice.
plind44@gmail.com [Wed, 24 Apr 2013 19:10:02 +0000 (19:10 +0000)]
MIPS: Fix NaN handling for start index in ArraySplice.

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

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

BUG=

Review URL: https://codereview.chromium.org/14257006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoRemove bogus forward declaration of ObjectGroup.
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:51:00 +0000 (16:51 +0000)]
Remove bogus forward declaration of ObjectGroup.

R=jkummerow@chromium.org

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

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

11 years agoFix generator suspend and resume on ARM
mstarzinger@chromium.org [Wed, 24 Apr 2013 16:07:44 +0000 (16:07 +0000)]
Fix generator suspend and resume on ARM

This CL fixes a number of rookie mistakes in
FullCodeGenerator::VisitYield and
FullCodeGenerator::EmitGeneratorResume, and re-enables the
generators-iteration test on ARM.

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

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoNew GC APIs, try 2.
mstarzinger@chromium.org [Wed, 24 Apr 2013 15:59:23 +0000 (15:59 +0000)]
New GC APIs, try 2.

With these APIs, the embedder doesn't need to copy Persistent handles around.

BUG=

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

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

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

11 years agoFixed HUnaryMathOperation regarding its possible operations.
svenpanne@chromium.org [Wed, 24 Apr 2013 14:51:14 +0000 (14:51 +0000)]
Fixed HUnaryMathOperation regarding its possible operations.

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

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

11 years agoClean up VMState a little bit.
yangguo@chromium.org [Wed, 24 Apr 2013 14:44:08 +0000 (14:44 +0000)]
Clean up VMState a little bit.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoChange cctest/test-lockers to not copy persistent handles around.
dcarney@chromium.org [Wed, 24 Apr 2013 14:23:46 +0000 (14:23 +0000)]
Change cctest/test-lockers to not copy persistent handles around.

Instead, create Local handles to pass them around. This also means that the
code needs to be shifted around a bit such that a handle scope exists when
creating threads.

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoFix windows build.
yangguo@chromium.org [Wed, 24 Apr 2013 14:05:37 +0000 (14:05 +0000)]
Fix windows build.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoRemove Isolate::Current() from histograms.
yangguo@chromium.org [Wed, 24 Apr 2013 13:52:26 +0000 (13:52 +0000)]
Remove Isolate::Current() from histograms.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoGenerators can resume
mstarzinger@chromium.org [Wed, 24 Apr 2013 13:00:16 +0000 (13:00 +0000)]
Generators can resume

The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame.  In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.

BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoMathSqrt and MathPowHalf do not cause any promotion.
svenpanne@chromium.org [Wed, 24 Apr 2013 12:43:33 +0000 (12:43 +0000)]
MathSqrt and MathPowHalf do not cause any promotion.

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

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

11 years agoProperly consider Double inputs for representation inference when they are not marked...
jkummerow@chromium.org [Wed, 24 Apr 2013 12:39:30 +0000 (12:39 +0000)]
Properly consider Double inputs for representation inference when they are not marked as kFlexibleRepresentation

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

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

11 years agoFix segmentation fault in CodeMap::Print
yurys@chromium.org [Wed, 24 Apr 2013 12:09:04 +0000 (12:09 +0000)]
Fix segmentation fault in CodeMap::Print

CodeEntry* is always NULL for SharedFunctionInfo entries in the CodeMap. Take this into account when printing the map.

Drive-by: removed CodeEntry::shared_id() which is never called.
BUG=None

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

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

11 years agoSimplify some code related to x64 calling convention.
yangguo@chromium.org [Wed, 24 Apr 2013 12:01:08 +0000 (12:01 +0000)]
Simplify some code related to x64 calling convention.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoFix clang build for x64.
yangguo@chromium.org [Wed, 24 Apr 2013 11:44:39 +0000 (11:44 +0000)]
Fix clang build for x64.

R=ulan@chromium.org
BUG=

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

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

11 years agoAdd monomorphic CompareNilICs and Crankshaft support
danno@chromium.org [Wed, 24 Apr 2013 11:32:17 +0000 (11:32 +0000)]
Add monomorphic CompareNilICs and Crankshaft support

R=mvstanton@chromium.org

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

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

11 years agoReplace qsort with std::sort.
danno@chromium.org [Wed, 24 Apr 2013 11:20:16 +0000 (11:20 +0000)]
Replace qsort with std::sort.

std::sort is a template, so it can be inlined more aggressively. Also, it's
O(n log n), while libc's qsort is O(n^2)

BUG=2639

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.18.4.
ulan@chromium.org [Wed, 24 Apr 2013 10:57:15 +0000 (10:57 +0000)]
Prepare push to trunk.  Now working on version 3.18.4.

R=yangguo@chromium.org

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

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

11 years agoRemoved unbalanced brackets when printing an LEnvironment.
svenpanne@chromium.org [Wed, 24 Apr 2013 09:31:55 +0000 (09:31 +0000)]
Removed unbalanced brackets when printing an LEnvironment.

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

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

11 years agoIf the input to an HChange is of type smi, then no need to mark gvn flag changes...
mvstanton@chromium.org [Wed, 24 Apr 2013 09:14:56 +0000 (09:14 +0000)]
If the input to an HChange is of type smi, then no need to mark gvn flag changes new space promotion.

BUG=

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

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

11 years agoRefactor ExternalReference::isolate_address() to not rely on Isolate::Current().
yangguo@chromium.org [Wed, 24 Apr 2013 07:39:35 +0000 (07:39 +0000)]
Refactor ExternalReference::isolate_address() to not rely on Isolate::Current().

R=svenpanne@chromium.org
BUG=

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

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

11 years agoMIPS: Disallow dereferencing deferred handles when generating optimized code.
palfia@homejinni.com [Wed, 24 Apr 2013 00:58:48 +0000 (00:58 +0000)]
MIPS: Disallow dereferencing deferred handles when generating optimized code.

Port r14388 (6843e0c9), r14389 (331ea32d) and r14390 (c8528d1c)

BUG=

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

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

11 years agoAdds EXTERNAL_DOUBLE_ARRAY to a list of instance types
dslomov@chromium.org [Tue, 23 Apr 2013 17:02:09 +0000 (17:02 +0000)]
Adds EXTERNAL_DOUBLE_ARRAY to a list of instance types

BUG=v8:2646

Patch by Andrei Kashcha <anvaka@gmail.com>

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

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

11 years agoExpose the GC under a name that is less collision prone than window.gc.
mstarzinger@chromium.org [Tue, 23 Apr 2013 16:30:51 +0000 (16:30 +0000)]
Expose the GC under a name that is less collision prone than window.gc.

This also keeps backwards compatibility (window.gc() still works).

BUG=2641

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

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

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

11 years agoDo not emit Simulates in HandlePolymorphicElementAccess.
ulan@chromium.org [Tue, 23 Apr 2013 15:28:44 +0000 (15:28 +0000)]
Do not emit Simulates in HandlePolymorphicElementAccess.

BUG=v8:2653
R=jkummerow@chromium.org
TEST=mjsunit/regress/regress-2653.js

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

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

11 years agoAdd a flag to deoptimize all functions every n garbage collections.
ulan@chromium.org [Tue, 23 Apr 2013 15:21:11 +0000 (15:21 +0000)]
Add a flag to deoptimize all functions every n garbage collections.

R=mstarzinger@chromium.org

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

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

11 years agoDo not emit double values at their use sites.
svenpanne@chromium.org [Tue, 23 Apr 2013 13:08:10 +0000 (13:08 +0000)]
Do not emit double values at their use sites.

Revert part of r14179. From the regression test's comment:

Currently, the gap resolver doesn't handle moves from a ConstantOperand to a
DoubleRegister, but these kind of moves appeared when HConstant::EmitAtUses
was changed to allow special double values (-0, NaN, hole). So we should
either enhance the gap resolver or make sure that such moves don't happen.

BUG=chrome:234101

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

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

11 years agoMake it clear that GCMole depends on Clang 2.9 currently.
mstarzinger@chromium.org [Tue, 23 Apr 2013 12:48:59 +0000 (12:48 +0000)]
Make it clear that GCMole depends on Clang 2.9 currently.

R=jkummerow@chromium.org

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

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

11 years agoFix ugly typo in r14391.
mstarzinger@chromium.org [Tue, 23 Apr 2013 10:52:40 +0000 (10:52 +0000)]
Fix ugly typo in r14391.

R=jkummerow@chromium.org

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

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

11 years agoSwitch GYP script to not use utils.py anymore.
mstarzinger@chromium.org [Tue, 23 Apr 2013 10:41:55 +0000 (10:41 +0000)]
Switch GYP script to not use utils.py anymore.

R=jkummerow@chromium.org

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

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

11 years agoFix typo.
yangguo@chromium.org [Tue, 23 Apr 2013 10:40:52 +0000 (10:40 +0000)]
Fix typo.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoFix clang build.
yangguo@chromium.org [Tue, 23 Apr 2013 09:40:49 +0000 (09:40 +0000)]
Fix clang build.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoDisallow dereferencing deferred handles when generating optimized code.
yangguo@chromium.org [Tue, 23 Apr 2013 09:23:07 +0000 (09:23 +0000)]
Disallow dereferencing deferred handles when generating optimized code.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoChange deprecated comments that still talk about SCons.
mstarzinger@chromium.org [Tue, 23 Apr 2013 08:58:23 +0000 (08:58 +0000)]
Change deprecated comments that still talk about SCons.

R=jkummerow@chromium.org

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

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

11 years agoPrint ProfileNode id when dumping CPU profile to console
yurys@chromium.org [Tue, 23 Apr 2013 07:26:30 +0000 (07:26 +0000)]
Print ProfileNode id when dumping CPU profile to console

Node ids are monotonically increasing and looking at them we can
say e.g. when the node was added before another one. We need this
to diagnose sporadic failures of cctest/test-cpu-profiler/CollectCpuProfile

BUG=v8:2628

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

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

11 years agoRemove the executable bit from scanner.cc file.
svenpanne@chromium.org [Tue, 23 Apr 2013 07:24:08 +0000 (07:24 +0000)]
Remove the executable bit from scanner.cc file.

Patch from Thiago Farina <tfarina@chromium.org>.

TBR=yangguo@chromium.org

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

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

11 years agoMIPS: ARM: Fix erroneous detection of Double result type in Integer32 BinaryOpStubs
palfia@homejinni.com [Mon, 22 Apr 2013 22:46:51 +0000 (22:46 +0000)]
MIPS: ARM: Fix erroneous detection of Double result type in Integer32 BinaryOpStubs

Port r14371 (b5c4a990)

BUG=

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

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

11 years agoMIPS: Improvements in lithium code generation. Recognizing if some operands are const...
palfia@homejinni.com [Mon, 22 Apr 2013 22:45:34 +0000 (22:45 +0000)]
MIPS: Improvements in lithium code generation. Recognizing if some operands are constants, we can often save on registers and instructions.

Port r14364 (2819e5ee)

BUG=

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

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

11 years agoARM: VFP cleanup now that VFP2 is the baseline.
rodolph.perfetta@gmail.com [Mon, 22 Apr 2013 21:30:57 +0000 (21:30 +0000)]
ARM: VFP cleanup now that VFP2 is the baseline.

BUG=none
TEST=none

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

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

11 years agoIgnore observed Double output in binary operations when all uses are truncating to...
jkummerow@chromium.org [Mon, 22 Apr 2013 16:31:16 +0000 (16:31 +0000)]
Ignore observed Double output in binary operations when all uses are truncating to Integer32

BUG=v8:2424

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

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

11 years agoFixed issue in StoreNamedField codegen where integer32 constants were not converted...
mvstanton@chromium.org [Mon, 22 Apr 2013 15:35:23 +0000 (15:35 +0000)]
Fixed issue in StoreNamedField codegen where integer32 constants were not converted to a smi.

BUG=

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

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

11 years agocreate uniform string api
yangguo@chromium.org [Mon, 22 Apr 2013 15:20:28 +0000 (15:20 +0000)]
create uniform string api

R=yangguo@chromium.org
BUG=

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

Patch from Dan Carney <dcarney@chromium.org>.

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

11 years agoAdd methods to allow resuming execution after calling TerminateExecution().
yangguo@chromium.org [Mon, 22 Apr 2013 15:01:45 +0000 (15:01 +0000)]
Add methods to allow resuming execution after calling TerminateExecution().

R=mvstanton@chromium.org
BUG=v8:2361

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

Patch from Andrew Paprocki <andrew@ishiboo.com>.

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

11 years agoEnsure callbacks transitions are actually followed.
verwaest@chromium.org [Mon, 22 Apr 2013 14:46:55 +0000 (14:46 +0000)]
Ensure callbacks transitions are actually followed.

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

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

11 years agoDisable ParserSync test in GC stress mode for now.
mstarzinger@chromium.org [Mon, 22 Apr 2013 14:38:07 +0000 (14:38 +0000)]
Disable ParserSync test in GC stress mode for now.

R=jkummerow@chromium.org
TEST=cctest/test-parsing/ParserSync

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

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

11 years agoFix outdated build/README.txt
jkummerow@chromium.org [Mon, 22 Apr 2013 13:32:40 +0000 (13:32 +0000)]
Fix outdated build/README.txt

BUG=v8:2649

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

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

11 years agoMake Clang plugins directory configurable for GCMole.
mstarzinger@chromium.org [Mon, 22 Apr 2013 12:49:08 +0000 (12:49 +0000)]
Make Clang plugins directory configurable for GCMole.

R=jkummerow@chromium.org

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

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

11 years agoAdd d8 functionality for switching between realms (a.k.a. contexts), 2nd try
rossberg@chromium.org [Mon, 22 Apr 2013 11:29:52 +0000 (11:29 +0000)]
Add d8 functionality for switching between realms (a.k.a. contexts), 2nd try

The only difference to the previous implementation (https://codereview.chromium.org/14295011/) is in patch set 2.

R=yangguo@chromium.org
BUG=

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

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

11 years agoReplace CheckBuilder with IfBuilder everywhere.
mstarzinger@chromium.org [Mon, 22 Apr 2013 11:15:43 +0000 (11:15 +0000)]
Replace CheckBuilder with IfBuilder everywhere.

This deprecates and removes the CheckBuilder which is less powerful
than the generic IfBuilder which can deopt as well by now.

R=jkummerow@chromium.org

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

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

11 years agoARM: Fix erroneous detection of Double result type in Integer32 BinaryOpStubs
jkummerow@chromium.org [Mon, 22 Apr 2013 10:56:37 +0000 (10:56 +0000)]
ARM: Fix erroneous detection of Double result type in Integer32 BinaryOpStubs

BUG=v8:2648

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

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

11 years agoVarious improvements regarding the way we print code code comments.
svenpanne@chromium.org [Mon, 22 Apr 2013 09:48:35 +0000 (09:48 +0000)]
Various improvements regarding the way we print code code comments.

* All Lithium instructions have an associated Hydrogen instruction now,
  simplifying things.

* Consistently print <Lithium instruction number,Hydrogen value id> prefixes.

* Do not print uninteresting Lithium instructions like empty gaps, jumps to the
  next instruction, etc.

* Removed special handling of HChange-like instructions, it is totally unclear
  why they had this special treatment. If we really want to print more
  information about Lithium instructions, we should do it in a totally way,
  anyway (e.g. by unifying things with the generation of hydrogen*.cfg files).

* Made deferred code and the jump table stand out a little bit more.

* Print info about special blocks like loop headers and OSR entries.

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.3.
ulan@chromium.org [Mon, 22 Apr 2013 09:42:45 +0000 (09:42 +0000)]
Prepare push to trunk.  Now working on version 3.18.3.

R=jkummerow@chromium.org

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

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

11 years agoSkip one generators test because of no-snap failures.
mstarzinger@chromium.org [Mon, 22 Apr 2013 08:46:02 +0000 (08:46 +0000)]
Skip one generators test because of no-snap failures.

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

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

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

11 years agoInfer smi-range for smi-typed values.
verwaest@chromium.org [Mon, 22 Apr 2013 08:00:28 +0000 (08:00 +0000)]
Infer smi-range for smi-typed values.

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

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

11 years agoImprovements in lithium code generation. Recognizing if some operands are constants...
mvstanton@chromium.org [Mon, 22 Apr 2013 07:47:25 +0000 (07:47 +0000)]
Improvements in lithium code generation. Recognizing if some operands are constants, we can often save on registers and instructions.

BUG=

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

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

11 years agoMIPS: Generator objects can suspend
palfia@homejinni.com [Fri, 19 Apr 2013 19:23:03 +0000 (19:23 +0000)]
MIPS: Generator objects can suspend

Port r14353 (f4bb81d1)

Original commit message:
* src/ast.h:
* src/parser.cc: Differentiate between the different kinds of yields, in
  anticipation of boxing return values.  Parse `return' into `yield' in
  a generator.

* src/runtime.h:
* src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible
  runtime function: saves continuation, context, and operands into the
  generator object.

* src/arm/full-codegen-arm.cc (VisitYield):
* src/ia32/full-codegen-ia32.cc (VisitYield):
* src/x64/full-codegen-x64.cc (VisitYield): Arrange to call
  SuspendJSGeneratorObject.  If the call returns the hole, we suspend.
  Otherwise we resume.

BUG=v8:2355
TEST=These codepaths are tested when the generator is first invoked, and so
are covered by mjsunit/harmony/generators-objects.js.

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

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

11 years agoRefactor HCheckMaps to have a private constructor, removing duplicated code and simpl...
titzer@chromium.org [Fri, 19 Apr 2013 16:46:13 +0000 (16:46 +0000)]
Refactor HCheckMaps to have a private constructor, removing duplicated code and simplifying calls in clients.
Ignore bsuite directory.

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

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

11 years agoOS::MemMove/OS::MemCopy: Don't call through to generated code when size == 0 to avoid...
jkummerow@chromium.org [Fri, 19 Apr 2013 16:38:19 +0000 (16:38 +0000)]
OS::MemMove/OS::MemCopy: Don't call through to generated code when size == 0 to avoid prefetching invalid memory

BUG=chromium:233500

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

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

11 years agoSwitch elements access to use IfBuilder instead of CheckBuilder.
mstarzinger@chromium.org [Fri, 19 Apr 2013 16:21:09 +0000 (16:21 +0000)]
Switch elements access to use IfBuilder instead of CheckBuilder.

R=danno@chromium.org

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

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

11 years agoRecordWriteStubs on ARM need to save FP registers
mvstanton@chromium.org [Fri, 19 Apr 2013 16:01:57 +0000 (16:01 +0000)]
RecordWriteStubs on ARM need to save FP registers

A previous change erroneously stopped saving fp registers for write stubs in
snapshotted code. This CL restores correct behavior, and makes sure code that
saves fp registers checks at runtime for 16 or 32 fp registers. Also fix a bug
in the arm simulator debugger.

BUG=

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

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

11 years agoPropagate OOM exception instead of crashing in CALL_HEAP_FUNCTION_PASS_EXCEPTION...
ulan@chromium.org [Fri, 19 Apr 2013 15:55:34 +0000 (15:55 +0000)]
Propagate OOM exception instead of crashing in CALL_HEAP_FUNCTION_PASS_EXCEPTION macro.

R=jkummerow@chromium.org
BUG=webkit/fast/js/concat-large-strings-crash.html

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

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

11 years agoFix build failures on Win64 since r14354.
mstarzinger@chromium.org [Fri, 19 Apr 2013 15:50:01 +0000 (15:50 +0000)]
Fix build failures on Win64 since r14354.

R=ulan@chromium.org

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

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

11 years agoRemove heap snapshot size limit.
alph@chromium.org [Fri, 19 Apr 2013 15:42:52 +0000 (15:42 +0000)]
Remove heap snapshot size limit.

As long as frontend now stores snapshots in external arrays
it doesn't make sense to check the collected snapshot size on the
backend side. In other words if backend has managed to fit the
collected snapshot into its memory, it should also fit into the
frontend's memory.

R=yurys@chromium.org
BUG=chromium:232305

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

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

11 years agoUpdate arm and mips simulator to also use cmath
danno@chromium.org [Fri, 19 Apr 2013 14:22:38 +0000 (14:22 +0000)]
Update arm and mips simulator to also use cmath

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoUpdate tests to use std::isnan instead of isnan
danno@chromium.org [Fri, 19 Apr 2013 14:20:36 +0000 (14:20 +0000)]
Update tests to use std::isnan instead of isnan

Should fix compilation breakage after r14352

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoGenerator objects can suspend
mstarzinger@chromium.org [Fri, 19 Apr 2013 14:11:23 +0000 (14:11 +0000)]
Generator objects can suspend

* src/ast.h:
* src/parser.cc: Differentiate between the different kinds of yields, in
  anticipation of boxing return values.  Parse `return' into `yield' in
  a generator.

* src/runtime.h:
* src/runtime.cc (Runtime_SuspendJSGeneratorObject): New horrible
  runtime function: saves continuation, context, and operands into the
  generator object.

* src/arm/full-codegen-arm.cc (VisitYield):
* src/ia32/full-codegen-ia32.cc (VisitYield):
* src/x64/full-codegen-x64.cc (VisitYield): Arrange to call
  SuspendJSGeneratorObject.  If the call returns the hole, we suspend.
  Otherwise we resume.

BUG=v8:2355
TEST=These codepaths are tested when the generator is first invoked, and so
are covered by mjsunit/harmony/generators-objects.js.

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

Patch from Andy Wingo <wingo@igalia.com>.

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

11 years agoReplace math.h with cmath
danno@chromium.org [Fri, 19 Apr 2013 13:26:47 +0000 (13:26 +0000)]
Replace math.h with cmath

This will make it easier to use other STL headers in the future

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

Patch from Jochen Eisinger <jochen@chromium.org>.

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

11 years agoRemove unused member variables in IfBuilder
danno@chromium.org [Fri, 19 Apr 2013 13:20:45 +0000 (13:20 +0000)]
Remove unused member variables in IfBuilder

R=jkummerow@chromium.org

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

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

11 years agoSwitch GCMole to use GYP build file instead of SCons.
mstarzinger@chromium.org [Fri, 19 Apr 2013 12:46:32 +0000 (12:46 +0000)]
Switch GCMole to use GYP build file instead of SCons.

R=jkummerow@chromium.org

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

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

11 years agoSimplified LCodeGen::GetNextEmittedBlock and LCodeGen::EmitGoto a bit.
svenpanne@chromium.org [Fri, 19 Apr 2013 12:02:12 +0000 (12:02 +0000)]
Simplified LCodeGen::GetNextEmittedBlock and LCodeGen::EmitGoto a bit.

GetNextEmittedBlock is always called with the same argument (an instance
variable), so let's remove it. In EmitGoto, avoid assignment to an argument.

This CL is split off another CL for easier reviewing.

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

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

11 years agoRevert r14252 as it broke --prof for some cases
yurys@chromium.org [Fri, 19 Apr 2013 11:55:01 +0000 (11:55 +0000)]
Revert r14252 as it broke --prof for some cases

R=jkummerow
BUG=v8:2642

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

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

11 years agoHandle retry-after-gc failures within LoadIC::Load and StoreIC::Store.
ulan@chromium.org [Fri, 19 Apr 2013 08:30:49 +0000 (08:30 +0000)]
Handle retry-after-gc failures within LoadIC::Load and StoreIC::Store.

Follow-up for r14321, makes the remaining unsafe calls to runtime functions during ic computation safe.

R=verwaest@chromium.org
BUG=222301

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

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

11 years agoRemoved redundant instruction in VerifyX87StackDepth()
mvstanton@chromium.org [Fri, 19 Apr 2013 07:23:09 +0000 (07:23 +0000)]
Removed redundant instruction in VerifyX87StackDepth()

BUG=

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

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

11 years agoMIPS: Add infrastructure to automatucally generate IC miss stubs
palfia@homejinni.com [Thu, 18 Apr 2013 23:48:42 +0000 (23:48 +0000)]
MIPS: Add infrastructure to automatucally generate IC miss stubs

Port r14342 (24df6264)

BUG=

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

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

11 years agoMIPS: HArgument instructions currently require a frame. In Lithium we can ensure...
palfia@homejinni.com [Thu, 18 Apr 2013 23:47:40 +0000 (23:47 +0000)]
MIPS: HArgument instructions currently require a frame. In Lithium we can ensure a frame is created for these instructions via a compile info flag.

Port r14339 (7d544be1)

BUG=

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

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

11 years agoMIPS: Fix bugs in IfBuilder and improve functionality
palfia@homejinni.com [Thu, 18 Apr 2013 23:46:37 +0000 (23:46 +0000)]
MIPS: Fix bugs in IfBuilder and improve functionality

Port r14327 (21310b91)

BUG=

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

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

11 years agoAdd infrastructure to automatucally generate IC miss stubs
danno@chromium.org [Thu, 18 Apr 2013 20:37:27 +0000 (20:37 +0000)]
Add infrastructure to automatucally generate IC miss stubs

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

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

11 years agoHArgument instructions currently require a frame. In Lithium we can ensure a frame
mvstanton@chromium.org [Thu, 18 Apr 2013 15:44:38 +0000 (15:44 +0000)]
HArgument instructions currently require a frame. In Lithium we can ensure a frame
is created for these instructions via a compile info flag.

BUG=

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

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

11 years agoSaving Hydrogen code stubs in the snapshot requires us to respect the availability...
mvstanton@chromium.org [Thu, 18 Apr 2013 15:09:48 +0000 (15:09 +0000)]
Saving Hydrogen code stubs in the snapshot requires us to respect the availability of VFP32DREGS.

BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.18.2.
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:56:30 +0000 (14:56 +0000)]
Prepare push to trunk.  Now working on version 3.18.2.

R=jkummerow@chromium.org

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

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

11 years agoRevert r14310 due to isolate tests failure.
yangguo@chromium.org [Thu, 18 Apr 2013 14:41:24 +0000 (14:41 +0000)]
Revert r14310 due to isolate tests failure.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoDo not choose parallel recompilation when bootstrapping.
yangguo@chromium.org [Thu, 18 Apr 2013 14:34:34 +0000 (14:34 +0000)]
Do not choose parallel recompilation when bootstrapping.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoFix missing Smi check in grow mode keyed stores.
mstarzinger@chromium.org [Thu, 18 Apr 2013 14:18:27 +0000 (14:18 +0000)]
Fix missing Smi check in grow mode keyed stores.

R=danno@chromium.org
TEST=mjsunit/regress/regress-grow-store-smi-check

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

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

11 years agoCleaned up and fixed code comment handling a bit.
svenpanne@chromium.org [Thu, 18 Apr 2013 13:45:19 +0000 (13:45 +0000)]
Cleaned up and fixed code comment handling a bit.

* Let GCC check the arguments of LCodeGen::Coment.
* Fixed a few call sites.
* Made basic blocks a little bit more visible in the code output.
* Sorted #includes.

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

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

11 years agoFix debug print and wrong handle dereference in es6 typed array.
yangguo@chromium.org [Thu, 18 Apr 2013 12:46:38 +0000 (12:46 +0000)]
Fix debug print and wrong handle dereference in es6 typed array.

R=dslomov@chromium.org
BUG=

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

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

11 years agoInline isUint32() method from HConstant, which was only used in one place.
titzer@chromium.org [Thu, 18 Apr 2013 11:22:29 +0000 (11:22 +0000)]
Inline isUint32() method from HConstant, which was only used in one place.
Add utility method for checking whether an HValue is a given int32_t constant.

BUG=

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

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

11 years agoRemove SCons related files
jkummerow@chromium.org [Thu, 18 Apr 2013 11:01:14 +0000 (11:01 +0000)]
Remove SCons related files

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

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

11 years agoFix bugs in IfBuilder and improve functionality
danno@chromium.org [Thu, 18 Apr 2013 10:51:24 +0000 (10:51 +0000)]
Fix bugs in IfBuilder and improve functionality

R=mstarzinger@chromium.org

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

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

11 years agoRemove deprecated test suite configurations.
mstarzinger@chromium.org [Thu, 18 Apr 2013 10:48:27 +0000 (10:48 +0000)]
Remove deprecated test suite configurations.

R=jkummerow@chromium.org

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

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

11 years agoARM: clean up code now that ARMv6 is the baseline.
rodolph.perfetta@gmail.com [Thu, 18 Apr 2013 10:32:18 +0000 (10:32 +0000)]
ARM: clean up code now that ARMv6 is the baseline.

BUG=none
TEST=none

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

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

11 years agoImprove generated code for HDoCompareObjectEqAndBranch on ia32/x64
danno@chromium.org [Thu, 18 Apr 2013 09:53:49 +0000 (09:53 +0000)]
Improve generated code for HDoCompareObjectEqAndBranch on ia32/x64

R=mvstanton@chromium.org

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

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

11 years agoMake it possible to Crankshaft all kinds of stubs.
danno@chromium.org [Thu, 18 Apr 2013 09:50:46 +0000 (09:50 +0000)]
Make it possible to Crankshaft all kinds of stubs.

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

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

11 years agoUnify canonicalization of HAdd/HSub/HMul a bit.
svenpanne@chromium.org [Thu, 18 Apr 2013 09:24:29 +0000 (09:24 +0000)]
Unify canonicalization of HAdd/HSub/HMul a bit.

HDiv/HMul are a slightly different story and will be handled in a separate CL.

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

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

11 years agoHandle retry-after-gc failures within KeyedLoadIC::Load and KeyedStoreIC::Store.
ulan@chromium.org [Thu, 18 Apr 2013 08:14:59 +0000 (08:14 +0000)]
Handle retry-after-gc failures within KeyedLoadIC::Load and KeyedStoreIC::Store.

Returning retry-after-gc failure from these functions causes them to be
re-executed after ic state change, which breaks stub computation assumptions.

R=verwaest@chromium.org
BUG=222301
TEST=mjsunit/array-bounds-check-removal.js --gc_interval=10 in x64.debug

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

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

11 years agoDisable the test due to Win64 build problems.
dslomov@chromium.org [Wed, 17 Apr 2013 18:13:44 +0000 (18:13 +0000)]
Disable the test due to Win64 build problems.

The large allocation actually succeeds on Win64, but it looks like
subsequent memory adjustment fails. Disabling the test for now, will
investigate further.

TBR=rossberg

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

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

11 years agoFix building cctests with component=shared_library snapshot=off
jkummerow@chromium.org [Wed, 17 Apr 2013 17:02:35 +0000 (17:02 +0000)]
Fix building cctests with component=shared_library snapshot=off

BUG=v8:2634

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

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

11 years agoFix bad typo in xmm register saves.
dslomov@chromium.org [Wed, 17 Apr 2013 16:41:02 +0000 (16:41 +0000)]
Fix bad typo in xmm register saves.

R=mstarzinger@chromium.org,jkummerow@chromium.org

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

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

11 years agoInline String.fromCharCode in hydrogen.
yangguo@chromium.org [Wed, 17 Apr 2013 16:37:11 +0000 (16:37 +0000)]
Inline String.fromCharCode in hydrogen.

BUG=

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

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