platform/upstream/v8.git
10 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:52:21 +0000 (08:52 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=15998

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

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

10 years agoPretenure heap number in high promotino mode if a store requires a mutable heap numbe...
hpayer@chromium.org [Thu, 1 Aug 2013 08:49:27 +0000 (08:49 +0000)]
Pretenure heap number in high promotino mode if a store requires a mutable heap number to be allocated.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRevert "Speed-up 'new TypedArray(arrayLike)'."
dslomov@chromium.org [Thu, 1 Aug 2013 08:47:39 +0000 (08:47 +0000)]
Revert "Speed-up 'new TypedArray(arrayLike)'."

This reverts commit r15998 for breaking NaCl build.

TBR=bmeurer@chromium.org

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

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

10 years agoGet rid of HStringLength.
bmeurer@chromium.org [Thu, 1 Aug 2013 08:42:47 +0000 (08:42 +0000)]
Get rid of HStringLength.

Use HLoadNamedField to load the string length field instead.

Depends on: https://codereview.chromium.org/21488002

R=svenpanne@chromium.org

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

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

10 years agoFix printing of Harmony Set and Map instances.
mstarzinger@chromium.org [Thu, 1 Aug 2013 08:36:21 +0000 (08:36 +0000)]
Fix printing of Harmony Set and Map instances.

R=dslomov@chromium.org

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

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

10 years agoCleaning up HAllocate space and double alignment selection.
hpayer@chromium.org [Thu, 1 Aug 2013 08:34:36 +0000 (08:34 +0000)]
Cleaning up HAllocate space and double alignment selection.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix broken HCheckInstanceType::Canonicalize().
bmeurer@chromium.org [Thu, 1 Aug 2013 08:27:46 +0000 (08:27 +0000)]
Fix broken HCheckInstanceType::Canonicalize().

R=svenpanne@chromium.org

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

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

10 years agoSpeed-up 'new TypedArray(arrayLike)'.
dslomov@chromium.org [Thu, 1 Aug 2013 08:19:51 +0000 (08:19 +0000)]
Speed-up 'new TypedArray(arrayLike)'.

Handle specially the cases when the argument is a typed array,
in particular of the same type as the one we create.

Allocate backing store uninitialized in cases when we can guarantee
complete initialization.

R=bmeurer@chromium.org

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

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

10 years agoFix a crash when generating forward jumps to labels at very high assembly offsets
bmeurer@chromium.org [Thu, 1 Aug 2013 08:13:08 +0000 (08:13 +0000)]
Fix a crash when generating forward jumps to labels at very high assembly offsets

The first jump to a specific label was marked as jump to absolute
position -4. This value was stored in the assembly as a branch to a
offset (-4 - (instruction offset + 8)). The offset is only 24 bit
long on ARM. Thus instruction offsets higher than 2^23 - 12 would overflow
the offset.

Fix by denoting the first jump to a label by storing the jump
instruction location as the target. This will result in offset of -8,
which of course always fits in the branch instruction.

BUG=2736
TEST=cctest/test-assembler-arm/17
R=bmeurer@chromium.org, svenpanne@chromium.org

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

Patch from Kimmo Kinnunen <kkinnunen@nvidia.com>.

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

10 years agoPrint HAllocate flags in --trace-hydrogen.
hpayer@chromium.org [Thu, 1 Aug 2013 07:56:36 +0000 (07:56 +0000)]
Print HAllocate flags in --trace-hydrogen.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRemove elements transitions from the transition array.
verwaest@chromium.org [Wed, 31 Jul 2013 17:08:50 +0000 (17:08 +0000)]
Remove elements transitions from the transition array.

This is preparatory work for reordering the transition tree. Since elements transitions will be at the root of the transition tree, runtime access to them is slow since we have to walk the transition tree backwards first. Hence remove the optimization that promoted them to a special field, requiring a pointer (mostly NULL) in every non-simple transition array.

R=titzer@chromium.org

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

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

10 years agoMake sure that bce creates constants of right type
danno@chromium.org [Wed, 31 Jul 2013 16:41:51 +0000 (16:41 +0000)]
Make sure that bce creates constants of right type

R=verwaest@chromium.org

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

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

10 years agoFix overzealous casting that erroneously lead to ASSERTs
danno@chromium.org [Wed, 31 Jul 2013 15:40:24 +0000 (15:40 +0000)]
Fix overzealous casting that erroneously lead to ASSERTs

R=verwaest@chromium.org

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

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

10 years agoImprove instruction creating/adding shorthand in HGraphBuilder
danno@chromium.org [Wed, 31 Jul 2013 14:58:39 +0000 (14:58 +0000)]
Improve instruction creating/adding shorthand in HGraphBuilder

Add multi-argument templates for New, NewUncasted, Add and AddUncasted that
call boilerplate HInstruction::New methods rather than the constructor directly.
This allows for automatic passing of the zone and context for instructions that
need them.

R=verwaest@chromium.org

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

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

10 years agoStores to external references don't need write barriers.
bmeurer@chromium.org [Wed, 31 Jul 2013 13:45:51 +0000 (13:45 +0000)]
Stores to external references don't need write barriers.

This also applies to stores with an external field representation.

Also cleans up the CreateAllocationSiteStub.

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

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

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

10 years agoUpdate V8's dependencies:
jochen@chromium.org [Wed, 31 Jul 2013 13:41:12 +0000 (13:41 +0000)]
Update V8's dependencies:

GYP: Correctly handle GCC_C_LANGUAGE_STANDARD 'ansi'
ICU: Use the correct assembly file when cross compiling from Mac to Android

BUG=none
R=jkummerow@chromium.org

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

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

10 years agoFix SHL when shift amount is zero for arm and mips.
ulan@chromium.org [Wed, 31 Jul 2013 12:46:54 +0000 (12:46 +0000)]
Fix SHL when shift amount is zero for arm and mips.

BUG=v8:2817
R=titzer@chromium.org
TEST=octane

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

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

10 years agoAdd common artifacts to .gitignore.
bmeurer@chromium.org [Wed, 31 Jul 2013 12:38:43 +0000 (12:38 +0000)]
Add common artifacts to .gitignore.

R=jkummerow@chromium.org

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

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

10 years agoReimplement TypedArray.set in Javascript.
dslomov@chromium.org [Wed, 31 Jul 2013 12:10:49 +0000 (12:10 +0000)]
Reimplement TypedArray.set in Javascript.

Implement all cases for TypedArray.set in Javascript, except the case
where memmove is used. This makes it many times faster.

R=bmeurer@chromium.org

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

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

10 years agoAvoid the use of set_type() in instruction constructors.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:56:46 +0000 (10:56 +0000)]
Avoid the use of set_type() in instruction constructors.

R=titzer@chromium.org

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

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

10 years agoGet rid of HLinkObjectInList.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:47:44 +0000 (10:47 +0000)]
Get rid of HLinkObjectInList.

R=mvstanton@chromium.org

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

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

10 years agoRemove special handling of fields in combination with elements transitions in Crankshaft.
verwaest@chromium.org [Wed, 31 Jul 2013 10:08:05 +0000 (10:08 +0000)]
Remove special handling of fields in combination with elements transitions in Crankshaft.

Instead first try to keep ICs monomorphic if elements kinds generalize. If that fails, use standard polymorphic handling. The Try*PolymorphicAsMonomorphic methods will automatically produce code similar to the previous approach using CheckMapsWithTransitions.

BUG=
R=hpayer@chromium.org

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

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

10 years agoCompile fix for older GCCs.
bmeurer@chromium.org [Wed, 31 Jul 2013 10:03:59 +0000 (10:03 +0000)]
Compile fix for older GCCs.

TBR=titzer@chromium.org

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

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

10 years agoFix HType handling for HConstant with external references.
bmeurer@chromium.org [Wed, 31 Jul 2013 09:38:37 +0000 (09:38 +0000)]
Fix HType handling for HConstant with external references.

We cannot use set_type() with HType::None() in the HConstant
constructor, since set_type() asserts that the new type is a
subtype of the previous one, but HType::None() is not a subtype
of HType::Tagged() which is the initial type set by the HValue
constructor.

This patch adds an optional type parameter to the HValue,
HInstruction and HTemplateInstruction constructors.

R=titzer@chromium.org

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

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

10 years agoEagerly set the types of many kinds of hydrogen instructions.
titzer@chromium.org [Wed, 31 Jul 2013 09:29:30 +0000 (09:29 +0000)]
Eagerly set the types of many kinds of hydrogen instructions.

BUG=
R=verwaest@chromium.org

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

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

10 years agoAdd gate keeper logic to presubmit commit check.
machenbach@chromium.org [Wed, 31 Jul 2013 09:16:31 +0000 (09:16 +0000)]
Add gate keeper logic to presubmit commit check.

R=jkummerow@chromium.org

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

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

10 years agoFix stale unhandlified value in JSObject::SetPropertyForResult.
mstarzinger@chromium.org [Wed, 31 Jul 2013 08:51:18 +0000 (08:51 +0000)]
Fix stale unhandlified value in JSObject::SetPropertyForResult.

R=danno@chromium.org
BUG=chromium:265894

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

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

10 years agoRevert the latest set of platform changes.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:51:46 +0000 (07:51 +0000)]
Revert the latest set of platform changes.

Revert "Fix NaCl build."
Revert "Revert target arch detection."
Revert "Fix typo."
Revert "Simplify implementation of Mutex."
Revert "Fix for older clang releases that lack __has_extension."
Revert "Reland initial bits of "Implement correct OS and CC detection.""

TBR=danno@chromium.org,svenpanne@chromium.org

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

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

10 years agomake Intl non-enumerable
dcarney@chromium.org [Wed, 31 Jul 2013 07:17:34 +0000 (07:17 +0000)]
make Intl non-enumerable

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

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

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

10 years agoFree slots buffer entries when tearing down the heap.
hpayer@chromium.org [Wed, 31 Jul 2013 07:17:03 +0000 (07:17 +0000)]
Free slots buffer entries when tearing down the heap.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix NaCl build.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:08:52 +0000 (07:08 +0000)]
Fix NaCl build.

TBR=machenbach@chromium.org,svenpanne@chromium.org

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

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

10 years agoRevert target arch detection.
bmeurer@chromium.org [Wed, 31 Jul 2013 07:04:30 +0000 (07:04 +0000)]
Revert target arch detection.

TBR=svenpanne@chromium.org

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

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

10 years agoAllocation space decisions are precisely made in hydrogen.
hpayer@chromium.org [Wed, 31 Jul 2013 07:03:16 +0000 (07:03 +0000)]
Allocation space decisions are precisely made in hydrogen.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoFix typo.
bmeurer@chromium.org [Wed, 31 Jul 2013 06:56:02 +0000 (06:56 +0000)]
Fix typo.

R=svenpanne@chromium.org

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

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

10 years agoSkip recently added test associated with bug id
machenbach@chromium.org [Wed, 31 Jul 2013 06:36:29 +0000 (06:36 +0000)]
Skip recently added test associated with bug id

BUG=v8:2815
R=mstarzinger@chromium.org

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

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

11 years agoIntroduce StackOperandForReturnAddress operand for X64 to access return address in...
haitao.feng@intel.com [Wed, 31 Jul 2013 00:19:32 +0000 (00:19 +0000)]
Introduce StackOperandForReturnAddress operand for X64 to access return address in the stack

R=danno@chromium.org

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

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

11 years agoIntroduce the SetFp function in StackHandler
haitao.feng@intel.com [Tue, 30 Jul 2013 23:59:55 +0000 (23:59 +0000)]
Introduce the SetFp function in StackHandler

The FP setting is different for X32 than the other platforms as
kFPOnStackSize is double the kPointerSize and we have to clear the
higher 32 bits to 0.

R=danno@chromium.org

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

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

11 years agoMIPS: Fix flaky mjsunit/harmony/generators-iteration test failure.
palfia@homejinni.com [Tue, 30 Jul 2013 22:28:54 +0000 (22:28 +0000)]
MIPS: Fix flaky mjsunit/harmony/generators-iteration test failure.

This fixes the result allocation in EmitCreateIteratorResult,
when a GC is required. The Runtime call returns the allocated
pointer in v0 register, but the rest of the function was
expected it in a0 register. Refactored the function to use v0 for
the result in the whole function.

BUG=

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

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

11 years agoSimplify implementation of Mutex.
bmeurer@chromium.org [Tue, 30 Jul 2013 17:12:49 +0000 (17:12 +0000)]
Simplify implementation of Mutex.

Also moves Mutex to its own file mutex.{cc,h}.

R=svenpanne@chromium.org

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

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

11 years agoPipe a script's CORS status through V8 during compilation.
mstarzinger@chromium.org [Tue, 30 Jul 2013 17:05:50 +0000 (17:05 +0000)]
Pipe a script's CORS status through V8 during compilation.

In order to properly sanitize exception data during a 'window.onerror'
handler, we need to know whether a script was served with proper CORS
headers at the time it was loaded into V8. This patch adds a single bool
to ScriptOrigin, and pipes that through the compiler to land on the
Script object. We can then retrieve the parameter when calling the
embedder's exception callback.

BUG=crbug.com/159566
R=mstarzinger@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

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

11 years agoReland "Compilation type and state allocate an unnecessary Smi on v8::Script" (r15940).
mstarzinger@chromium.org [Tue, 30 Jul 2013 17:00:05 +0000 (17:00 +0000)]
Reland "Compilation type and state allocate an unnecessary Smi on v8::Script" (r15940).

It turns out that this change is not related to the test failures.

TBR=danno@chromium.org

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

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

11 years agoMark maps as unstable if their instances potentially transition away.
verwaest@chromium.org [Tue, 30 Jul 2013 16:33:58 +0000 (16:33 +0000)]
Mark maps as unstable if their instances potentially transition away.
Use this as a prerequisite for adding code dependencies.

R=ulan@chromium.org

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

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

11 years agoAdd new Harmony methods to String.prototype object.
mstarzinger@chromium.org [Tue, 30 Jul 2013 16:33:08 +0000 (16:33 +0000)]
Add new Harmony methods to String.prototype object.

String.prototype.repeat
String.prototype.startsWith
String.prototype.endsWith
String.prototype.contains

http://people.mozilla.org/~jorendorff/es6-draft.html

BUG=v8:2796,v8:2797,v8:2798,v8:2799
TEST=mjsunit/string-repeat,mjsunit/string-startswith,mjsunit/string-endswith,mjsunit/string-contains
R=mstarzinger@chromium.org

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

Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

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

11 years agoFix for older clang releases that lack __has_extension.
bmeurer@chromium.org [Tue, 30 Jul 2013 14:49:44 +0000 (14:49 +0000)]
Fix for older clang releases that lack __has_extension.

R=mstarzinger@chromium.org

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

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

11 years agoDon't generate a shift left by one if can deoptimize on ia32 and arm and mips.
titzer@chromium.org [Tue, 30 Jul 2013 13:30:03 +0000 (13:30 +0000)]
Don't generate a shift left by one if can deoptimize on ia32 and arm and mips.

BUG=
R=verwaest@chromium.org

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

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

11 years agoRevert 15940: "Compilation type and state allocate an unnecessary Smi on v8::Script."
danno@chromium.org [Tue, 30 Jul 2013 11:24:11 +0000 (11:24 +0000)]
Revert 15940: "Compilation type and state allocate an unnecessary Smi on v8::Script."

Due to Mozilla test failures on Win32 debug

TBR=mstarzinger@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.12.
danno@chromium.org [Tue, 30 Jul 2013 11:08:56 +0000 (11:08 +0000)]
Prepare push to trunk.  Now working on version 3.20.12.

R=ulan@chromium.org

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

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

11 years agoReland initial bits of "Implement correct OS and CC detection."
bmeurer@chromium.org [Tue, 30 Jul 2013 10:36:58 +0000 (10:36 +0000)]
Reland initial bits of "Implement correct OS and CC detection."

This adds the OS and CC detection and cleans up the globals.h to
some degree. It also places all of the C++11 feature detection into
globals.h.

R=svenpanne@chromium.org

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

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

11 years agoTurn mark deoptimize on undefined into a proper HPhase.
bmeurer@chromium.org [Tue, 30 Jul 2013 10:25:20 +0000 (10:25 +0000)]
Turn mark deoptimize on undefined into a proper HPhase.

This patch also removes the implicit recursion on phi operands,
using a loop and a worklist instead, to avoid potential stack
overflows.

R=dslomov@chromium.org

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

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

11 years agoFix many tests that try to force an OSR by checking OptimizationStatus() to instead...
titzer@chromium.org [Tue, 30 Jul 2013 09:28:55 +0000 (09:28 +0000)]
Fix many tests that try to force an OSR by checking OptimizationStatus() to instead check OptimizationCount().

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoHasNonSmiUse should ignore tagged uses
verwaest@chromium.org [Tue, 30 Jul 2013 09:06:42 +0000 (09:06 +0000)]
HasNonSmiUse should ignore tagged uses

R=verwaest@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

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

11 years agoRun some skipped tests again after resolved issue.
machenbach@chromium.org [Tue, 30 Jul 2013 08:52:26 +0000 (08:52 +0000)]
Run some skipped tests again after resolved issue.

BUG=2795
R=mvstanton@chromium.org

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

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

11 years agoAdapt test expectations for blink test.
machenbach@chromium.org [Tue, 30 Jul 2013 08:50:59 +0000 (08:50 +0000)]
Adapt test expectations for blink test.

Also after giving it more time, this test times out only on the V8 waterfall under windows. It has an existing expectation for Win Debug, which holds now for all Win.

R=mstarzinger@chromium.org

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

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

11 years agoRe-revert "Flush parallel recompilation queues on context dispose notification" ...
mstarzinger@chromium.org [Tue, 30 Jul 2013 08:35:48 +0000 (08:35 +0000)]
Re-revert "Flush parallel recompilation queues on context dispose notification" (r15883).

R=danno@chromium.org
BUG=

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

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

11 years agoRepair test expectations for webkit test.
machenbach@chromium.org [Tue, 30 Jul 2013 07:15:29 +0000 (07:15 +0000)]
Repair test expectations for webkit test.

When adding the new tests in https://codereview.chromium.org/21070002/ the tabs in .js files were automatically replaced with spaces (for presubmit to work).

This replaces the tabs also in a test expectation file for the output to match again.

R=bmeurer@chromium.org

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

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

11 years agoPrepare some ValueOf renamings.
svenpanne@chromium.org [Tue, 30 Jul 2013 07:05:15 +0000 (07:05 +0000)]
Prepare some ValueOf renamings.

R=mstarzinger@chromium.org

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

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

11 years agoSimplify sampling rate calculation
yurys@chromium.org [Tue, 30 Jul 2013 07:01:16 +0000 (07:01 +0000)]
Simplify sampling rate calculation

Sampling rate is now calculated as total number of samples divided by profiling time in ms. Before the patch the sampling rate was updated once per 100ms which doesn't have any obvious advantage over the simpler method.

Also we are going to get rid of the profile node self and total time calculation in the v8 CPU profiler and only expose profiling start/end time for CpuProfile and number of ticks on each ProfileNode and let clients do all the math should they need it.

BUG=None
R=bmeurer@chromium.org, loislo@chromium.org

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

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

11 years agoMigrate more tests from blink repository.
machenbach@chromium.org [Tue, 30 Jul 2013 06:36:48 +0000 (06:36 +0000)]
Migrate more tests from blink repository.

All these tests had <script> tags with additional JS code. All embedded script code is (automatically) concatenated with existing .js files into one .js test file per test.

R=mstarzinger@chromium.org

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

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

11 years agoThis patch is to support Vtune on Android platform.
haitao.feng@intel.com [Tue, 30 Jul 2013 01:01:04 +0000 (01:01 +0000)]
This patch is to support Vtune on Android platform.

The Vtune API provides the support for Android platform. So we fix the
compilation issue and it works on Android platform.

R=danno@chromium.org

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

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

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

11 years agoRemove unused methods from RuntimeProfiler
yurys@chromium.org [Mon, 29 Jul 2013 19:02:16 +0000 (19:02 +0000)]
Remove unused methods from RuntimeProfiler

Also removed Logger fields that used to be used for writing compressed logs.

BUG=None
R=bmeurer@chromium.org, loislo@chromium.org

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

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

11 years agoCompilation type and state allocate an unnecessary Smi on v8::Script.
mstarzinger@chromium.org [Mon, 29 Jul 2013 17:59:02 +0000 (17:59 +0000)]
Compilation type and state allocate an unnecessary Smi on v8::Script.

This patch combines them into a single field, and adjusts the accessors
and setters to take the enum type directly, rather than converting to and
from a Smi value.

R=mstarzinger@chromium.org

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

Patch from Mike West <mkwst@chromium.org>.

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

11 years agoRevert "Smi-support for HSar."
verwaest@chromium.org [Mon, 29 Jul 2013 17:17:19 +0000 (17:17 +0000)]
Revert "Smi-support for HSar."
Reverting https://chromiumcodereview.appspot.com/21049003

R=mstarzinger@chromium.org

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

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

11 years agoSmi-support for HSar.
verwaest@chromium.org [Mon, 29 Jul 2013 17:07:28 +0000 (17:07 +0000)]
Smi-support for HSar.

BUG=
R=mvstanton@chromium.org

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

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

11 years agoRevamp v8_optimized_debug options
dslomov@chromium.org [Mon, 29 Jul 2013 14:00:06 +0000 (14:00 +0000)]
Revamp v8_optimized_debug options

This patch changes the definition of v8_optimized_debug==1 to match the release-mode compiler optimization settings (generally, going from -O1 to -O3 on Linux, similar switches for Mac/Win). This produces a minor speed up on Linux, but significant speedups on Mac and Win. This may make it much harder to debug, though.

It also adds a v8_optimized_debug==2 that, in addition to the compiler optimizations, undef's DEBUG and defines DEBUG. This leaves V8_ENABLE_CHECKS alone (so that the assertions are still enabled), but otherwise basically matches a release mode build.

Builds with v8_optimized_debug==2 roughly match a Release mode build for speed; the V8_ENABLE_CHECKS checks appear to have minimal performance impact (maybe 5-10%, unlike what was previously thought). In addition, switching from the previous optimization settings makes a significant improvement on Mac and Win (50% or more), and switching from DEBUG to NDEBUG makes a significant improvement (another 50% or more).

Note that using v8_optimized_debug==2 may also cause some v8 tests to fail. This is currently is believed to be acceptable.

R=machenbach@chromium.org
BUG=254188

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

Patch from Dirk Pranke <dpranke@chromium.org>.

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

11 years agoThis adds generic support for ExternalReferences in Hydrogen (and Lithium), as requir...
bmeurer@chromium.org [Mon, 29 Jul 2013 13:56:51 +0000 (13:56 +0000)]
This adds generic support for ExternalReferences in Hydrogen (and Lithium), as required for AddIncrementCounter.

R=danno@chromium.org, titzer@chromium.org

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

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

11 years agoAdded unit tests for the slightly confusing Boolean/BooleanObject API.
svenpanne@chromium.org [Mon, 29 Jul 2013 12:37:55 +0000 (12:37 +0000)]
Added unit tests for the slightly confusing Boolean/BooleanObject API.

Just for documenting the status quo. As discussed offline, we should
probably rename/deprecate a few things:

  NumberObject::NumberValue() => NumberObject::ValueOf()
  BooleanObject::BooleanValue() => BooleanObject::ValueOf()
  StringObject::StringValue => StringObject::ValueOf()

R=mstarzinger@chromium.org

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

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

11 years agoFix IsDeletable() for HStringAdd, HStringCharCodeAt, HStringCharFromCode.
titzer@chromium.org [Mon, 29 Jul 2013 12:35:43 +0000 (12:35 +0000)]
Fix IsDeletable() for HStringAdd, HStringCharCodeAt, HStringCharFromCode.

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

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

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

11 years agoFix: Need to remove function type feedback between stress stages in
mvstanton@chromium.org [Mon, 29 Jul 2013 12:22:34 +0000 (12:22 +0000)]
Fix: Need to remove function type feedback between stress stages in
release build

BUG=
R=verwaest@chromium.org

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

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

11 years agoRevert new OS and CC detection and related changes since r15923.
bmeurer@chromium.org [Mon, 29 Jul 2013 12:12:39 +0000 (12:12 +0000)]
Revert new OS and CC detection and related changes since r15923.

Revert "Attempt to fix leftover test breakage on Mac."
Revert "Fix d8 build error when V8_SHARED is unset on Linux."
Revert "Fix V8_GNUC_PREREQ macro."
Revert "Fix typo."
Revert "Implement correct OS and CC detection."

TBR=svenpanne@chromium.org,danno@chromium.org

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

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

11 years agoFix HasResult method of LTemplateInstruction to properly handle LCheckSmi
danno@chromium.org [Mon, 29 Jul 2013 11:57:42 +0000 (11:57 +0000)]
Fix HasResult method of LTemplateInstruction to properly handle LCheckSmi

LCheckSmi sometimes has a result register and sometimes not, even though its
LTemplateInstruction alwasys has room for one. Debug output use HasResult to
determine whether it was ok to de-ref result(), but HasResult doesn't check for
the case where LTemplateInstruction has a result but it's NULL.

R=svenpanne@chromium.org

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

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

11 years agoMake it easier to get JS stack crawls from gdb
danno@chromium.org [Mon, 29 Jul 2013 11:56:45 +0000 (11:56 +0000)]
Make it easier to get JS stack crawls from gdb

R=bmeurer@chromium.org

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

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

11 years agoFix for V8 issue 2795: Check fails with deopt for mjsunit/array-store-and-grow
mvstanton@chromium.org [Mon, 29 Jul 2013 11:50:39 +0000 (11:50 +0000)]
Fix for V8 issue 2795: Check fails with deopt for mjsunit/array-store-and-grow
(https://code.google.com/p/v8/issues/detail?id=2795)

The reason is when allocating and building arrays in hydrogen we need to ensure
we do any int32-to-smi conversions BEFORE the allocation. These conversions can
at least theoretically deoptimize. If this happens before all the fields of the
newly allocated object are filled in, we will have a corrupted heap.

BUG=
R=verwaest@chromium.org

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

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

11 years agoAttempt to fix leftover test breakage on Mac.
bmeurer@chromium.org [Mon, 29 Jul 2013 11:38:34 +0000 (11:38 +0000)]
Attempt to fix leftover test breakage on Mac.

TBR=svenpanne@chromium.org

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

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

11 years agoFix d8 build error when V8_SHARED is unset on Linux.
bmeurer@chromium.org [Mon, 29 Jul 2013 10:23:07 +0000 (10:23 +0000)]
Fix d8 build error when V8_SHARED is unset on Linux.

TBR=svenpanne@chromium.org

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

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

11 years agoFix V8_GNUC_PREREQ macro.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:56:34 +0000 (09:56 +0000)]
Fix V8_GNUC_PREREQ macro.

TBR=svenpanne@chromium.org

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

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

11 years agoRemove Uninitialized from HType.
titzer@chromium.org [Mon, 29 Jul 2013 09:42:57 +0000 (09:42 +0000)]
Remove Uninitialized from HType.

BUG=
R=verwaest@chromium.org

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

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

11 years agoFix typo.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:29:00 +0000 (09:29 +0000)]
Fix typo.

TBR=svenpanne@chromium.org

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

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

11 years agoImplement correct OS and CC detection.
bmeurer@chromium.org [Mon, 29 Jul 2013 09:19:10 +0000 (09:19 +0000)]
Implement correct OS and CC detection.

R=svenpanne@chromium.org

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

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

11 years agoThe compiled_transitions flag was enabled for quite some time now and seems to work...
bmeurer@chromium.org [Mon, 29 Jul 2013 09:12:16 +0000 (09:12 +0000)]
The compiled_transitions flag was enabled for quite some time now and seems to work out quite well, so time has come to remove the obsolete code paths and remove the unused methods.

R=mvstanton@chromium.org

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

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

11 years agoReally fix break in r15919 now.
bmeurer@chromium.org [Mon, 29 Jul 2013 08:33:57 +0000 (08:33 +0000)]
Really fix break in r15919 now.

TBR=svenpanne@chromium.org

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

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

11 years agoFix break in r15919.
bmeurer@chromium.org [Mon, 29 Jul 2013 08:07:52 +0000 (08:07 +0000)]
Fix break in r15919.

TBR=svenpanne@chromium.org

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

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

11 years agoProperly implement OS::GetRandomMmapAddr() for Win32.
bmeurer@chromium.org [Mon, 29 Jul 2013 07:50:56 +0000 (07:50 +0000)]
Properly implement OS::GetRandomMmapAddr() for Win32.

R=svenpanne@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.11.
danno@chromium.org [Mon, 29 Jul 2013 07:45:01 +0000 (07:45 +0000)]
Prepare push to trunk.  Now working on version 3.20.11.

R=ulan@chromium.org

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

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

11 years agoIgnore all toplevel files starting with an underscore.
bmeurer@chromium.org [Mon, 29 Jul 2013 07:43:32 +0000 (07:43 +0000)]
Ignore all toplevel files starting with an underscore.

R=danno@chromium.org

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

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

11 years agoMIPS: Fix debug mode webkit failures.
palfia@homejinni.com [Sat, 27 Jul 2013 01:07:53 +0000 (01:07 +0000)]
MIPS: Fix debug mode webkit failures.

* Handles SMI case in EmitLoadRegister correctly.
* Fix minor mistake in the assembler.

BUG=v8:2808
TEST=webkit/dfg-dead-min-two-args,webkit/fast/js/excessive-comma-usage

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

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

11 years agoMIPS: Add Smi support to Shl
palfia@homejinni.com [Fri, 26 Jul 2013 23:56:03 +0000 (23:56 +0000)]
MIPS: Add Smi support to Shl

Port r15910 (8e65c434)

BUG=

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

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

11 years agoAdd regression test for recently fixed bug
jkummerow@chromium.org [Fri, 26 Jul 2013 14:58:30 +0000 (14:58 +0000)]
Add regression test for recently fixed bug

BUG=chromium:258519
R=machenbach@chromium.org

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

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

11 years agoLogger: introduce abstract interface for CodeEvent listeners.
loislo@chromium.org [Fri, 26 Jul 2013 13:50:23 +0000 (13:50 +0000)]
Logger: introduce abstract interface for CodeEvent listeners.

New abstract class CodeEventListener was created.

CodeEventLogger which is the base class for Jit, LowLevel
and CodeAddressMap loggers was inherited from CodeEventListener.

CodeAddressMap class was moved to serializer.cc because serializer is the only user for it. Actually it collects code names and pushes them to the standard log as SnapshotCodeNameEvent. So I extracted this code into separate function CodeNameEvent. It happens that this method works only when Serializer serializes an object. So I added direct log call there.

CodeEventLogger class declaration was moved to the header
because CodeAddressMap needs it.
The code for the nested class CodeEventLogger::NameBuffer was left in the cc file.

CpuProfiler now is inherit CodeEventListener but not used
the loggers infrastructure yet due to the complex initialization schema. I'd like to fix that in a separate cl.

BUG=none
TEST=current test set.
R=yangguo@chromium.org, yurys@chromium.org

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

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

11 years agoAdd Smi support to Shl
verwaest@chromium.org [Fri, 26 Jul 2013 13:35:44 +0000 (13:35 +0000)]
Add Smi support to Shl

R=mvstanton@chromium.org

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

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

11 years agoRemove --prof-auto flag
yurys@chromium.org [Fri, 26 Jul 2013 13:18:56 +0000 (13:18 +0000)]
Remove --prof-auto flag

There is already --prof-lazy flag which should be enough.

BUG=None
R=yangguo@chromium.org

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

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

11 years agoDisable mjsunit test when parallel recompilation is not available.
machenbach@chromium.org [Fri, 26 Jul 2013 12:34:46 +0000 (12:34 +0000)]
Disable mjsunit test when parallel recompilation is not available.

R=yangguo@chromium.org

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

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

11 years agoDo not allow external strings in old pointer space.
yangguo@chromium.org [Fri, 26 Jul 2013 12:32:06 +0000 (12:32 +0000)]
Do not allow external strings in old pointer space.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoFix Smi-based MathMinMax on x64, and reenable smi mode.
verwaest@chromium.org [Fri, 26 Jul 2013 12:06:22 +0000 (12:06 +0000)]
Fix Smi-based MathMinMax on x64, and reenable smi mode.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoAdd webkit tests to deopt fuzzer portfolio.
machenbach@chromium.org [Fri, 26 Jul 2013 11:39:58 +0000 (11:39 +0000)]
Add webkit tests to deopt fuzzer portfolio.

Two failing tests are skipped and added to an existing bug report.

R=jkummerow@chromium.org

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

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

11 years agoRegression test for existing bug in String::MakeExternal.
mstarzinger@chromium.org [Fri, 26 Jul 2013 11:37:54 +0000 (11:37 +0000)]
Regression test for existing bug in String::MakeExternal.

R=yangguo@chromium.org

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

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

11 years agoLazy call to custom stack trace formatting using Error.prepareStackTrace.
yangguo@chromium.org [Fri, 26 Jul 2013 11:28:08 +0000 (11:28 +0000)]
Lazy call to custom stack trace formatting using Error.prepareStackTrace.

This enables custom stack trace formatting for stack overflow.
A consequence is that stack trace formatting is now easily observable,
but we already established that the default stack trace formatting can
be observed anyways. It is only triggered by the .stack getter, and
it has to be explicitly called, (e.g. not implicitly after GC).

R=mstarzinger@chromium.org
BUG=v8:2559

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

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

11 years agoRebaseline webkit test with correct assumptions.
machenbach@chromium.org [Fri, 26 Jul 2013 11:22:25 +0000 (11:22 +0000)]
Rebaseline webkit test with correct assumptions.

R=svenpanne@chromium.org

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

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

11 years agoRevert "Check that ExternalString objects get aligned resources" (r15894).
mstarzinger@chromium.org [Fri, 26 Jul 2013 10:40:00 +0000 (10:40 +0000)]
Revert "Check that ExternalString objects get aligned resources" (r15894).

R=jkummerow@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.10.
jkummerow@chromium.org [Fri, 26 Jul 2013 09:22:45 +0000 (09:22 +0000)]
Prepare push to trunk.  Now working on version 3.20.10.

R=yangguo@chromium.org

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

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

11 years agoCheck that ExternalString objects get aligned resources.
mstarzinger@chromium.org [Fri, 26 Jul 2013 09:02:34 +0000 (09:02 +0000)]
Check that ExternalString objects get aligned resources.

R=hpayer@chromium.org

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

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