platform/upstream/v8.git
11 years agoKeep IC monomorphic on transition, even if previously not STANDARD_STORE.
verwaest@chromium.org [Thu, 11 Jul 2013 11:54:43 +0000 (11:54 +0000)]
Keep IC monomorphic on transition, even if previously not STANDARD_STORE.

BUG=
R=danno@chromium.org

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

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

11 years agoIntroduce type Bounds record
rossberg@chromium.org [Thu, 11 Jul 2013 11:47:05 +0000 (11:47 +0000)]
Introduce type Bounds record

Refactoring in anticipation of handling variable bounds.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoAllocation folding integrated into the GVN phase.
hpayer@chromium.org [Thu, 11 Jul 2013 11:41:33 +0000 (11:41 +0000)]
Allocation folding integrated into the GVN phase.

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

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

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

11 years agoCleanup common POSIX functionality.
bmeurer@chromium.org [Thu, 11 Jul 2013 11:37:08 +0000 (11:37 +0000)]
Cleanup common POSIX functionality.

The Mutex implementation is the same for all 6 POSIX platformats, just
like of them use the sched_yield() to implement Thread::YieldCPU().

R=dslomov@chromium.org

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

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

11 years agoRoll ICU to 210659
jochen@chromium.org [Thu, 11 Jul 2013 11:34:46 +0000 (11:34 +0000)]
Roll ICU to 210659

See http://crrev.com/210659 for the actual change.

R=jkummerow@chromium.org

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

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

11 years agoPerform new space evacuation based on marking bits.
hpayer@chromium.org [Thu, 11 Jul 2013 11:24:38 +0000 (11:24 +0000)]
Perform new space evacuation based on marking bits.

BUG=
R=titzer@chromium.org

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

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

11 years agoThis adds the following array iterator methods:
rossberg@chromium.org [Thu, 11 Jul 2013 11:20:54 +0000 (11:20 +0000)]
This adds the following array iterator methods:

Array.prototype.values
Array.prototype.keys
Array.prototype.entries

These all return an Array Iterator object which has a next
method.

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

BUG=v8:2722
R=rossberg@chromium.org

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

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

11 years agoOnly depend on icudata on windows.
jochen@chromium.org [Thu, 11 Jul 2013 11:01:00 +0000 (11:01 +0000)]
Only depend on icudata on windows.

On windows, this triggers the dll to be copied to the correct
locations. On other platforms, icudata is compiled in, and depending on
it results in an invalid linker archive ordering.

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

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

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

11 years agoMove InitializeICU() to the V8 API and use it.
jochen@chromium.org [Thu, 11 Jul 2013 09:58:54 +0000 (09:58 +0000)]
Move InitializeICU() to the V8 API and use it.

I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.

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

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

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

11 years agoA bug in AllocationSite::GetMode(from, to) meant that we didn't update
mvstanton@chromium.org [Thu, 11 Jul 2013 09:39:22 +0000 (09:39 +0000)]
A bug in AllocationSite::GetMode(from, to) meant that we didn't update
boilerplates for SMI to SMI_HOLEY transitions.

BUG=
R=verwaest@chromium.org

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

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

11 years agoImplemented lazy sweeping of new space.
hpayer@chromium.org [Thu, 11 Jul 2013 09:17:03 +0000 (09:17 +0000)]
Implemented lazy sweeping of new space.

BUG=
R=titzer@chromium.org

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

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

11 years agoTurn canonicalization into a proper HPhase.
bmeurer@chromium.org [Thu, 11 Jul 2013 08:21:50 +0000 (08:21 +0000)]
Turn canonicalization into a proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoFix StoreIsUninitialized, and add Soft Deopt if keyed store is uninitialized.
verwaest@chromium.org [Thu, 11 Jul 2013 07:52:57 +0000 (07:52 +0000)]
Fix StoreIsUninitialized, and add Soft Deopt if keyed store is uninitialized.

R=jkummerow@chromium.org

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

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

11 years agoSet mime-type of test log file to text/plain.
yangguo@chromium.org [Thu, 11 Jul 2013 07:39:38 +0000 (07:39 +0000)]
Set mime-type of test log file to text/plain.

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

11 years agoHasRealIndexedProperty doesn't work on JSGlobalProxy
adamk@chromium.org [Wed, 10 Jul 2013 19:03:58 +0000 (19:03 +0000)]
HasRealIndexedProperty doesn't work on JSGlobalProxy

HasRealIndexedProperty didn't unwrap the JSGlobalProxy and therefore always
returned false.

BUG=257748
R=adamk@chromium.org, rossberg@chromium.org

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

Patch from Adam Barth <abarth@chromium.org>.

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

11 years agoTurn merge removable simulates into a proper HPhase.
bmeurer@chromium.org [Wed, 10 Jul 2013 16:34:28 +0000 (16:34 +0000)]
Turn merge removable simulates into a proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoSuppress array bounds check for nacl build.
machenbach@chromium.org [Wed, 10 Jul 2013 16:21:17 +0000 (16:21 +0000)]
Suppress array bounds check for nacl build.

The NaCl and the ARM builder started failing to compile at revision 15593 with spurious array bounds warnings.

The ARM builder will be fixed by updating the cross-compiler version. Since the nacl compiler comes with the nacl toolchain, the warning will be suppressed for that builder.

See also: http://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=array%20subscript%20is%20above%20array%20bounds

R=jkummerow@chromium.org

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

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

11 years agoChange DataView accessors behavior for insufficient args.
dslomov@chromium.org [Wed, 10 Jul 2013 16:18:59 +0000 (16:18 +0000)]
Change DataView accessors behavior for insufficient args.

ES6 spec for DataView is not fully finished, but Blink, WebKit and
Firefox agree in that for DataView use of getters/setters with no
arguments should result in exceptions, while undefined offset argument
is the same as zero.

R=bmeurer@chromium.org, rossberg@chromium.org

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

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

11 years agoFlag rewriting an IC while writing to a global constant property as a failure caused...
verwaest@chromium.org [Wed, 10 Jul 2013 16:06:30 +0000 (16:06 +0000)]
Flag rewriting an IC while writing to a global constant property as a failure caused by the constant property turning mutable.

R=danno@chromium.org

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

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

11 years agoFix unary op type feedback.
olivf@chromium.org [Wed, 10 Jul 2013 16:03:00 +0000 (16:03 +0000)]
Fix unary op type feedback.

BUG=
R=danno@chromium.org

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

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

11 years agoRevert "Allow NORMAL ICs to go polymorphic."
verwaest@chromium.org [Wed, 10 Jul 2013 16:00:48 +0000 (16:00 +0000)]
Revert "Allow NORMAL ICs to go polymorphic."

BUG=
R=danno@chromium.org

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

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

11 years agoUse static_cast instead of reinterpret_cast
olivf@chromium.org [Wed, 10 Jul 2013 16:00:08 +0000 (16:00 +0000)]
Use static_cast instead of reinterpret_cast

BUG=
R=rossberg@chromium.org

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

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

11 years agoARM: Implement memcpy using NEON.
rodolph.perfetta@gmail.com [Wed, 10 Jul 2013 15:32:39 +0000 (15:32 +0000)]
ARM: Implement memcpy using NEON.

Add support for a few NEON and ARM SIMD instructions and use them for various
memcpy operations.

BUG=none
TEST=none

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

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

11 years agoMIPS: Replace custom builtin invocation instructions by a generic version.
palfia@homejinni.com [Wed, 10 Jul 2013 15:26:38 +0000 (15:26 +0000)]
MIPS: Replace custom builtin invocation instructions by a generic version.

Port r15582 (585c121)

BUG=

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

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

11 years agoAllow NORMAL ICs to go polymorphic.
verwaest@chromium.org [Wed, 10 Jul 2013 15:24:15 +0000 (15:24 +0000)]
Allow NORMAL ICs to go polymorphic.

R=danno@chromium.org

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

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

11 years agoEnable debug builds with some optimizations turned on.
machenbach@chromium.org [Wed, 10 Jul 2013 15:21:43 +0000 (15:21 +0000)]
Enable debug builds with some optimizations turned on.

A new gyp variable 'v8_full_debug' can be set to 0 in order to turn on optimization level 1 for debug builds. With the default (=1), it builds in debug mode like before.

The intention is to run some bots on the waterfall with this configuration. Tests have a x5 speed-up like that.

R=jkummerow@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.5.
danno@chromium.org [Wed, 10 Jul 2013 14:49:05 +0000 (14:49 +0000)]
Prepare push to trunk.  Now working on version 3.20.5.

R=yangguo@chromium.org

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

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

11 years agoRefactor compute minus zero checks into a proper HPhase.
bmeurer@chromium.org [Wed, 10 Jul 2013 14:08:19 +0000 (14:08 +0000)]
Refactor compute minus zero checks into a proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoInsert HTrapAllocationMemento only when required for TransitionElementsKindStub.
bmeurer@chromium.org [Wed, 10 Jul 2013 13:24:51 +0000 (13:24 +0000)]
Insert HTrapAllocationMemento only when required for TransitionElementsKindStub.

R=mvstanton@chromium.org

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

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

11 years agoTurn polymorphic calls using the same prototype monomorphic.
verwaest@chromium.org [Wed, 10 Jul 2013 13:05:41 +0000 (13:05 +0000)]
Turn polymorphic calls using the same prototype monomorphic.

R=mvstanton@chromium.org

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

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

11 years agoImprove test-cpu-profiler.cc tests stability
loislo@chromium.org [Wed, 10 Jul 2013 12:56:58 +0000 (12:56 +0000)]
Improve test-cpu-profiler.cc tests stability

The tests sometimes fail on bots as they don't have time to collect enough samples. This change makes them use counter of samples taken when v8 is either in JS or EXTERNAL state and repeat sampling until desired threshold is reached.

BUG=v8:2628
R=loislo@chromium.org, yangguo@chromium.org

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

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

11 years agoHeapProfiler: check that heap snapshot has no unretained entries except root.
loislo@chromium.org [Wed, 10 Jul 2013 12:40:42 +0000 (12:40 +0000)]
HeapProfiler: check that heap snapshot has no unretained entries except root.

TEST=AllocationSitesAreVisible
BUG=
R=mvstanton@chromium.org

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

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

11 years agoRevert "Calls to HCheckFunction can be eliminated if the value is an HConstant"
mvstanton@chromium.org [Wed, 10 Jul 2013 12:19:37 +0000 (12:19 +0000)]
Revert "Calls to HCheckFunction can be eliminated if the value is an HConstant"

This reverts commit 3f96122cc572f7a0b638c30f65328c3cb3666795.

BUG=
R=danno@chromium.org

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

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

11 years agoUse BuildGrowElementsCapacity for the TransitionElementsKind stub.
bmeurer@chromium.org [Wed, 10 Jul 2013 12:19:02 +0000 (12:19 +0000)]
Use BuildGrowElementsCapacity for the TransitionElementsKind stub.

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

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

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

11 years agoUnify Count Operation assignment with other assignments
verwaest@chromium.org [Wed, 10 Jul 2013 12:02:18 +0000 (12:02 +0000)]
Unify Count Operation assignment with other assignments

This relands 15578, disables 1 test in harmony observe re bug v8:2774

R=dslomov@chromium.org

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

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

11 years agoFix missing spaces
olivf@chromium.org [Wed, 10 Jul 2013 12:01:29 +0000 (12:01 +0000)]
Fix missing spaces

BUG=
R=danno@chromium.org

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

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

11 years agoType::GetName(...) for inspecting Types in the debugger
olivf@chromium.org [Wed, 10 Jul 2013 11:20:00 +0000 (11:20 +0000)]
Type::GetName(...) for inspecting Types in the debugger

BUG=
R=rossberg@chromium.org

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

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

11 years agoFactor out toolset definitions in a separate gypi file
jochen@chromium.org [Wed, 10 Jul 2013 11:15:16 +0000 (11:15 +0000)]
Factor out toolset definitions in a separate gypi file

That way, third-party libraries use the correct toolset settings.

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

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

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

11 years agoImport intl test suite from v8-i18n project
jochen@chromium.org [Wed, 10 Jul 2013 10:49:04 +0000 (10:49 +0000)]
Import intl test suite from v8-i18n project

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

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

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

11 years agoMIPS: Adjust default Heap sizes.
palfia@homejinni.com [Wed, 10 Jul 2013 10:01:30 +0000 (10:01 +0000)]
MIPS: Adjust default Heap sizes.

This change decreases the default Heap sizes on MIPS (sets the
same sizes as on Android).

Most MIPS hw has smaller RAM size than 700MB, which can lead
to test failures, if a test does not set the  Heap sizes explicitly
(like cctest/test-mark-compact/MarkCompactCollector).

BUG=

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

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

11 years agoReplace custom builtin invocation instructions by a generic version
olivf@chromium.org [Wed, 10 Jul 2013 09:02:23 +0000 (09:02 +0000)]
Replace custom builtin invocation instructions by a generic version

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoFix plot script.
yangguo@chromium.org [Wed, 10 Jul 2013 07:53:27 +0000 (07:53 +0000)]
Fix plot script.

The script for the time line plot has been broken since r15484, which
changed the format of tick entries in v8.log.

To prevent this from happening in the future, I added a test case.

R=hpayer@chromium.org
BUG=

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

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

11 years agoRevert "Unify the Count Operation assignment with other assignments."
dslomov@chromium.org [Wed, 10 Jul 2013 07:53:16 +0000 (07:53 +0000)]
Revert "Unify the Count Operation assignment with other assignments."

This reverts commit r15578.

This change made mjsunit/harmony/object-observe.js flaky.

TBR=verwaest@chromium.org

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

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

11 years agoAllow parameterless typed array constructors.
dslomov@chromium.org [Tue, 9 Jul 2013 19:34:21 +0000 (19:34 +0000)]
Allow parameterless typed array constructors.

ES6 spec tacitly allows them, and they are allowed in Firefox and in
WebKit/Blink.

R=bmeurer@chromium.org,rossberg@chromium.org

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

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

11 years agoUnify the Count Operation assignment with other assignments.
verwaest@chromium.org [Tue, 9 Jul 2013 17:08:47 +0000 (17:08 +0000)]
Unify the Count Operation assignment with other assignments.
This does not enable inlining of setters (yet).

R=danno@chromium.org

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

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

11 years agoMIPS: Do not omit the write-barrier if the input value is a smi.
palfia@homejinni.com [Tue, 9 Jul 2013 15:58:31 +0000 (15:58 +0000)]
MIPS: Do not omit the write-barrier if the input value is a smi.

Port r15573 (3954d53)

Original commit message:
ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570

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

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

11 years agoMIPS: Implement Polymorphic Store ICs.
palfia@homejinni.com [Tue, 9 Jul 2013 15:54:43 +0000 (15:54 +0000)]
MIPS: Implement Polymorphic Store ICs.

Port r15566 (a76585e)

Original commit message:
- Makes a common superclass for Load and Store stub compiler.
- Splits all non-normal Store ICs into handler and IC.
- Ensures monomorphic store ICs go polymorphic.
- Feeds polymorphic type feedback into count operation.

BUG=

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

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

11 years agoBugfix: AllocationSite objects need to be walkable by the heap snapshot
mvstanton@chromium.org [Tue, 9 Jul 2013 14:16:59 +0000 (14:16 +0000)]
Bugfix: AllocationSite objects need to be walkable by the heap snapshot
generator.

BUG=
R=machenbach@chromium.org

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

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

11 years agoDo not implicitly convert receivers for builtin functions when inspecting frames.
yangguo@chromium.org [Tue, 9 Jul 2013 13:58:11 +0000 (13:58 +0000)]
Do not implicitly convert receivers for builtin functions when inspecting frames.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoARM: Do not omit the write-barrier if the input value is a smi.
verwaest@chromium.org [Tue, 9 Jul 2013 12:31:59 +0000 (12:31 +0000)]
ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570
R=ulan@chromium.org

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

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

11 years agoInitialize ICU data files in d8 and disable i18n for other code samples
jochen@chromium.org [Tue, 9 Jul 2013 12:26:07 +0000 (12:26 +0000)]
Initialize ICU data files in d8 and disable i18n for other code samples

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

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

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

11 years agoUnrevert^2 "Derive synthetic type bounds for expressions""
rossberg@chromium.org [Tue, 9 Jul 2013 11:48:47 +0000 (11:48 +0000)]
Unrevert^2 "Derive synthetic type bounds for expressions""

Reenables https://codereview.chromium.org/17842004 (again).

R=jkummerow@chromium.org
BUG=

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

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

11 years agoFix win build after r15568
jochen@chromium.org [Tue, 9 Jul 2013 10:20:59 +0000 (10:20 +0000)]
Fix win build after r15568

TBR=jkummerow@chromium.org

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

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

11 years agoAdd support to turn polymorphic loads from the same prototype into a monomorphic...
verwaest@chromium.org [Tue, 9 Jul 2013 09:59:23 +0000 (09:59 +0000)]
Add support to turn polymorphic loads from the same prototype into a monomorphic load.

R=yangguo@chromium.org

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

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

11 years agoUpdate standalone configuration for compiling icu on windows
jochen@chromium.org [Tue, 9 Jul 2013 09:55:27 +0000 (09:55 +0000)]
Update standalone configuration for compiling icu on windows

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

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

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

11 years agoDo not iterate the new space on marking deque overflow.
hpayer@chromium.org [Tue, 9 Jul 2013 08:40:34 +0000 (08:40 +0000)]
Do not iterate the new space on marking deque overflow.

BUG=
R=mstarzinger@chromium.org

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

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

11 years ago- Makes a common superclass for Load and Store stub compiler.
verwaest@chromium.org [Tue, 9 Jul 2013 08:22:41 +0000 (08:22 +0000)]
- Makes a common superclass for Load and Store stub compiler.
- Splits all non-normal Store ICs into handler and IC.
- Ensures monomorphic store ICs go polymorphic.
- Feeds polymorphic type feedback into count operation.

R=ulan@chromium.org

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

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

11 years agoDon't use the identifiers TRUE and FALSE
jochen@chromium.org [Tue, 9 Jul 2013 07:19:51 +0000 (07:19 +0000)]
Don't use the identifiers TRUE and FALSE

icu uses the same identifiers, so we can't just #undef them

BUG=v8:2745
R=yangguo@chromium.org

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

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

11 years agoMIPS: Fix debug mode failures introduced by r15561.
palfia@homejinni.com [Tue, 9 Jul 2013 00:00:15 +0000 (00:00 +0000)]
MIPS: Fix debug mode failures introduced by r15561.

The commit r15561 introduced a lot of debug mode test failures
on MIPS. This change solves these failures by making
the FP-saved version of StoreBufferOverflowStub available
at snapshot time. This stub was added to ARM by commit r14359.

BUG=

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

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

11 years agoMIPS: Rename AllocationSite::payload to AllocationSite::transition_info
palfia@homejinni.com [Mon, 8 Jul 2013 18:00:24 +0000 (18:00 +0000)]
MIPS: Rename AllocationSite::payload to AllocationSite::transition_info

Port r15556 (3cd37fff)

BUG=

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

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

11 years agoMIPS: Bugfix: The general array constructor stub did not handle the case properly...
palfia@homejinni.com [Mon, 8 Jul 2013 17:58:03 +0000 (17:58 +0000)]
MIPS: Bugfix: The general array constructor stub did not handle the case properly when it is called with a function pointer in the type cell, instead assuming that an AllocationSite object should be present.

Port r15555 (262c081)

Original commit message:
The case where this can happen is if the cell is uninitialized, then the
first constructor call made is to the Array function of a different
context. In that case, we'll store the function pointer in the cell,
and then go ahead and call the array constructor stub too. The bug is
fixed by checking for the AllocationSite object map. If not found, the
constructor stub goes forward with a default ElementsKind, just as in
several other cases.

A test in allocation-site-info.js was beefed up to make sure the state
chain described above is traversed.

BUG=

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

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

11 years agoMIPS: Create AllocationSite objects, pointed to by AllocationSiteInfo.
palfia@homejinni.com [Mon, 8 Jul 2013 17:01:12 +0000 (17:01 +0000)]
MIPS: Create AllocationSite objects, pointed to by AllocationSiteInfo.

Port r15545 (8cf04c4)

Original commit message:
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.

BUG=

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

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

11 years agoFix stupidity
rossberg@chromium.org [Mon, 8 Jul 2013 15:41:06 +0000 (15:41 +0000)]
Fix stupidity

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRevert^2 "Derive synthetic type bounds for expressions""
rossberg@chromium.org [Mon, 8 Jul 2013 15:38:39 +0000 (15:38 +0000)]
Revert^2 "Derive synthetic type bounds for expressions""

Reverts https://codereview.chromium.org/17842004 (again), due to SS regression.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRevert "Introduce a handle zapping setting, and enable it by default for release...
verwaest@chromium.org [Mon, 8 Jul 2013 15:28:25 +0000 (15:28 +0000)]
Revert "Introduce a handle zapping setting, and enable it by default for release and debug" due to performance impact.

R=jochen@chromium.org

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

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

11 years agoFix an implicit cast from int64 to double in the i18n extension
jochen@chromium.org [Mon, 8 Jul 2013 15:22:12 +0000 (15:22 +0000)]
Fix an implicit cast from int64 to double in the i18n extension

On MSVS, this throws an error

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

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

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

11 years agoRename AllocationSite::payload to AllocationSite::transition_info
mvstanton@chromium.org [Mon, 8 Jul 2013 15:00:12 +0000 (15:00 +0000)]
Rename AllocationSite::payload to AllocationSite::transition_info

BUG=
R=hpayer@chromium.org

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

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

11 years agoBugfix: The general array constructor stub did not handle the case
mvstanton@chromium.org [Mon, 8 Jul 2013 14:41:54 +0000 (14:41 +0000)]
Bugfix: The general array constructor stub did not handle the case
properly when it is called with a function pointer in the type cell,
instead assuming that an AllocationSite object should be present. The
case where this can happen is if the cell is uninitialized, then the
first constructor call made is to the Array function of a different
context. In that case, we'll store the function pointer in the cell,
and then go ahead and call the array constructor stub too. The bug is
fixed by checking for the AllocationSite object map. If not found, the
constructor stub goes forward with a default ElementsKind, just as in
several other cases.

A test in allocation-site-info.js was beefed up to make sure the state
chain described above is traversed.

BUG=
R=hpayer@chromium.org, hpayer@google.com

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

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

11 years agoFix estimation of released pages when collecting evacuation candidates.
ulan@chromium.org [Mon, 8 Jul 2013 14:41:33 +0000 (14:41 +0000)]
Fix estimation of released pages when collecting evacuation candidates.

Do at least two GCs in LowMemoryNotification.

R=mstarzinger@chromium.org

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

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

11 years agoAdd a test case for Phi representations
jkummerow@chromium.org [Mon, 8 Jul 2013 13:43:43 +0000 (13:43 +0000)]
Add a test case for Phi representations

BUG=chromium:167394
R=verwaest@chromium.org

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

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

11 years agoUnrevert "Derive synthetic type bounds for expressions"
rossberg@chromium.org [Mon, 8 Jul 2013 13:19:58 +0000 (13:19 +0000)]
Unrevert "Derive synthetic type bounds for expressions"

Reenables https://codereview.chromium.org/17842004

R=jkummerow@chromium.org
BUG=

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

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

11 years agoAdd Type::cast
rossberg@chromium.org [Mon, 8 Jul 2013 13:07:41 +0000 (13:07 +0000)]
Add Type::cast

R=danno@chromium.org
BUG=

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

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

11 years agoFix early exit condition for LowMemoryNotification.
ulan@chromium.org [Mon, 8 Jul 2013 11:51:34 +0000 (11:51 +0000)]
Fix early exit condition for LowMemoryNotification.

When computing next_gc_likely_to_collect_more do not take into account already
free nodes in PostGarbageCollectionProcessing.

This reduces the number of full GC in LowMemoryNotification from 7 to ~2.

R=mstarzinger@chromium.org

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

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

11 years agoWiden existing blink test expectations for Windows debug.
machenbach@chromium.org [Mon, 8 Jul 2013 11:33:25 +0000 (11:33 +0000)]
Widen existing blink test expectations for Windows debug.

All three tests have existing timing issues on the blink waterfall and receive a timeout on the V8 waterfall in Windows debug.

See http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations

R=jkummerow@chromium.org

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

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

11 years agoIntroduce a handle zapping setting, and enable it by default for release and debug
jochen@chromium.org [Mon, 8 Jul 2013 11:29:55 +0000 (11:29 +0000)]
Introduce a handle zapping setting, and enable it by default for release and debug

The checks are split out from "extra checks" which are too expensive to
turn on by default.

R=danno@chromium.org

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

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

11 years agoCollect garbage at the beginning of cctest/test-cpu-profiler/FunctionCallSample
jochen@chromium.org [Mon, 8 Jul 2013 11:26:15 +0000 (11:26 +0000)]
Collect garbage at the beginning of cctest/test-cpu-profiler/FunctionCallSample

That way, we don't end up collecting all samples in the garbage
collector when the i18n extension is loaded.

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

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

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

11 years agoFix and cleanup can_be_minus_zero computation
jkummerow@chromium.org [Mon, 8 Jul 2013 11:15:24 +0000 (11:15 +0000)]
Fix and cleanup can_be_minus_zero computation

R=rossberg@chromium.org

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

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

11 years agoCreate AllocationSite objects, pointed to by AllocationSiteInfo.
mvstanton@chromium.org [Mon, 8 Jul 2013 10:02:16 +0000 (10:02 +0000)]
Create AllocationSite objects, pointed to by AllocationSiteInfo.
This creates a platform where we can do additional things with allocation sites,
other than just aid in reducing array transitions.

BUG=
R=hpayer@chromium.org

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

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

11 years agoRemove bogus assertion in parallel recompilation.
yangguo@chromium.org [Mon, 8 Jul 2013 09:29:49 +0000 (09:29 +0000)]
Remove bogus assertion in parallel recompilation.

Functions that are optimized by the parallel thread and ready for installing
are not necessarily marked as in-recompilation-queue. For example, OSR could
have replaced the code by optimized code.

R=hpayer@chromium.org
BUG=

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

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

11 years agoAllocation-site-info test, removed TODOs.
mvstanton@chromium.org [Mon, 8 Jul 2013 09:11:56 +0000 (09:11 +0000)]
Allocation-site-info test, removed TODOs.

Some code was commented out earlier as a todo. Now the code can be reenabled,
because allocation site feedback is working there again.

BUG=
R=hpayer@chromium.org

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

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

11 years agoMake test-heap/TestInternalWeakLists pass with the i18n extension loaded
mstarzinger@chromium.org [Mon, 8 Jul 2013 09:07:57 +0000 (09:07 +0000)]
Make test-heap/TestInternalWeakLists pass with the i18n extension loaded

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

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

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

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

11 years agoTurn the representation changes into a proper HPhase.
bmeurer@chromium.org [Mon, 8 Jul 2013 09:02:09 +0000 (09:02 +0000)]
Turn the representation changes into a proper HPhase.

R=mvstanton@chromium.org

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

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

11 years agoCalls to HCheckFunction can be eliminated if the value is an HConstant
mvstanton@chromium.org [Mon, 8 Jul 2013 09:00:59 +0000 (09:00 +0000)]
Calls to HCheckFunction can be eliminated if the value is an HConstant
function, and that function handle matches the target handle.

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

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

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

11 years agoTurn redundant bounds checks elimination into a proper HPhase.
bmeurer@chromium.org [Mon, 8 Jul 2013 08:36:28 +0000 (08:36 +0000)]
Turn redundant bounds checks elimination into a proper HPhase.

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

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.4.
mstarzinger@chromium.org [Mon, 8 Jul 2013 08:35:11 +0000 (08:35 +0000)]
Prepare push to trunk.  Now working on version 3.20.4.

R=jkummerow@chromium.org

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

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

11 years agoTurn infer types into proper HPhase.
bmeurer@chromium.org [Mon, 8 Jul 2013 08:33:03 +0000 (08:33 +0000)]
Turn infer types into proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoSync test expectations with blink expectation file.
machenbach@chromium.org [Mon, 8 Jul 2013 08:24:11 +0000 (08:24 +0000)]
Sync test expectations with blink expectation file.

Remove some expectations from our blacklist, because they are  part of blink's expectations now:

http://src.chromium.org/viewvc/blink?view=revision&revision=153636

Blink revision 153636 is now included in DEPS revision 153656.

R=jkummerow@chromium.org

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

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

11 years agoTurn redundant phi elimination into proper HPhase.
bmeurer@chromium.org [Mon, 8 Jul 2013 08:18:29 +0000 (08:18 +0000)]
Turn redundant phi elimination into proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoRefactor MacroAssembler::Allocate a little bit for X64
hpayer@chromium.org [Mon, 8 Jul 2013 08:10:12 +0000 (08:10 +0000)]
Refactor MacroAssembler::Allocate a little bit for X64

R=hpayer@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoTurn stack check elimination into proper HPhase.
bmeurer@chromium.org [Mon, 8 Jul 2013 07:03:57 +0000 (07:03 +0000)]
Turn stack check elimination into proper HPhase.

R=hpayer@chromium.org

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

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

11 years agoCPUProfiler: Improve line numbers support in profiler.
loislo@chromium.org [Sun, 7 Jul 2013 11:42:30 +0000 (11:42 +0000)]
CPUProfiler: Improve line numbers support in profiler.

1) report line number even if a script has no resource_name (evals);
  a) do that for already compiled functions in log.cc;
  b) do that for fresh evals in compiler.cc;

2) Implement the test for LineNumbers and make it fast and stable, otherwise we have to wait for tick samples;
  a) move processor_->Join() call into new Processor::StopSynchronously method;
  b) Process all the CodeEvents even if we are stopping Processor thread;
  c) make getters for generator and processor;

3) Fix the test for Jit that didn't expect line numbers;

4) Minor refactoring:
  a) in ProcessTicks;
  b) rename enqueue_order_ to last_code_event_id_ for better readability;
  c) rename dequeue_order_ to last_processed_code_event_id_ and make it a member for better readability;

BUG=
TEST=test-profile-generator/LineNumber
R=jkummerow@chromium.org, yurys@chromium.org

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

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

11 years agoTurn dead code elimination into a proper HPhase.
bmeurer@chromium.org [Sun, 7 Jul 2013 06:00:15 +0000 (06:00 +0000)]
Turn dead code elimination into a proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoDelete deprecated CPU profiler code that supports filtering by security token
yurys@chromium.org [Sat, 6 Jul 2013 09:12:09 +0000 (09:12 +0000)]
Delete deprecated CPU profiler code that supports filtering by security token

The methods that allow to filter CPU profile by security token were introduced to support console.profiles in WebKit. Now that console.profiles is removed and corresponding V8 API methods have been deprecated in 3.19 branch(https://code.google.com/p/v8/source/browse/branches/3.19/include/v8-profiler.h) it is safe to remove all that code.

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

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

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

11 years agoMIPS: Refactoring and cleanup of control instructions.
palfia@homejinni.com [Fri, 5 Jul 2013 16:13:32 +0000 (16:13 +0000)]
MIPS: Refactoring and cleanup of control instructions.

Port r15513 (6f50861)

BUG=

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

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

11 years agoAdd temporary expectations for compiler output change.
machenbach@chromium.org [Fri, 5 Jul 2013 15:16:58 +0000 (15:16 +0000)]
Add temporary expectations for compiler output change.

See also crbug.com/257613

R=mstarzinger@chromium.org

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

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

11 years agoMIPS: Generate StoreGlobal stubs with Hydrogen.
palfia@homejinni.com [Fri, 5 Jul 2013 14:51:57 +0000 (14:51 +0000)]
MIPS: Generate StoreGlobal stubs with Hydrogen.

Port r15512 (bdf9918)

Original commit message:
- Constants globals are inlined into Hydrogen code using code dependencies that invalidate the Crankshafted code when global PropertyCells or the global object change.
- The more general case generates code that is just as good as the hand-written assembly stubs on all platforms.

BUG=

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

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

11 years agoMIPS: Convert UnaryOpStub to a HydrogenCodeStub.
palfia@homejinni.com [Fri, 5 Jul 2013 14:48:50 +0000 (14:48 +0000)]
MIPS: Convert UnaryOpStub to a HydrogenCodeStub.

Port r15506 (d0ea1f6)

BUG=

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

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

11 years agoMake cctest/test-debug pass with extensions installed
yangguo@chromium.org [Fri, 5 Jul 2013 13:33:20 +0000 (13:33 +0000)]
Make cctest/test-debug pass with extensions installed

Compiling extensions during context creation triggers debug events.
Work around this by installing the event listener after creating
the context

BUG=v8:2745
R=yangguo@chromium.org

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

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

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

11 years agoRefactored code a bit to improve StringReplace performance
yangguo@chromium.org [Fri, 5 Jul 2013 12:57:38 +0000 (12:57 +0000)]
Refactored code a bit to improve StringReplace performance

1. Use inline macro to mitigate the side effect emulation overhead
2. Refactor Zone::DeleteAll() to merge two loops together

R=bmeurer@chromium.org, yangguo@chromium.org

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

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

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

11 years agoUnload debugger on isolate deinit.
yangguo@chromium.org [Fri, 5 Jul 2013 12:52:20 +0000 (12:52 +0000)]
Unload debugger on isolate deinit.

R=hpayer@chromium.org
BUG=

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

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