platform/upstream/v8.git
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

11 years agoUpdate limits in test-mark-compact
danno@chromium.org [Fri, 5 Jul 2013 12:24:30 +0000 (12:24 +0000)]
Update limits in test-mark-compact

R=yangguo@chromium.org

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

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

11 years agoRefactoring and cleanup of control instructions
danno@chromium.org [Fri, 5 Jul 2013 10:40:14 +0000 (10:40 +0000)]
Refactoring and cleanup of control instructions

R=mstarzinger@chromium.org

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

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

11 years agoGenerate StoreGlobal stubs with Hydrogen
danno@chromium.org [Fri, 5 Jul 2013 10:34:02 +0000 (10:34 +0000)]
Generate StoreGlobal stubs with Hydrogen

- 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.

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

Committed: http://code.google.com/p/v8/source/detail?r=15419

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

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

11 years agoAdd internal fields to JSArrayBufferViews (JSTypedArray and JSDataView)
dslomov@chromium.org [Fri, 5 Jul 2013 10:12:36 +0000 (10:12 +0000)]
Add internal fields to JSArrayBufferViews (JSTypedArray and JSDataView)

In Blink, JSTypedArray and JSDataView objects act as "wrappers" for C++
objects. Wrapping protocol in Blink requires all wrapper JavaScript objects
to have a certain amount of internal fields that Blink uses for
book-keeping (essentially a pointer to C++ object and some type
information). This change adds those internal fields to JSTypedArray and
JSDataView, in a similiar way to how it is done for JSArrayBuffer.

R=titzer@chromium.org

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

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

11 years agoKeep two empty lines between declarations for cpp files
yangguo@chromium.org [Fri, 5 Jul 2013 09:52:11 +0000 (09:52 +0000)]
Keep two empty lines between declarations for cpp files

R=yangguo@chromium.org

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

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

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

11 years agoSwitch to RETURN_IF_EMPTY_HANDLE for empty handle checks.
mstarzinger@chromium.org [Fri, 5 Jul 2013 09:49:53 +0000 (09:49 +0000)]
Switch to RETURN_IF_EMPTY_HANDLE for empty handle checks.

This makes sure that every place where we assume an empty handle is
indicating a pending exception gets asserted accordingly.

R=machenbach@chromium.org

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

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

11 years agoHandlify GlobalObject::EnsurePropertyCell method.
mstarzinger@chromium.org [Fri, 5 Jul 2013 09:38:29 +0000 (09:38 +0000)]
Handlify GlobalObject::EnsurePropertyCell method.

R=rossberg@chromium.org

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

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

11 years agoAdd trampoline to enable pointer -> handle code calls
danno@chromium.org [Fri, 5 Jul 2013 09:36:11 +0000 (09:36 +0000)]
Add trampoline to enable pointer -> handle code calls

R=mstarzinger@chromium.org

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

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

11 years agoConvert UnaryOpStub to a HydrogenCodeStub
olivf@chromium.org [Fri, 5 Jul 2013 09:26:22 +0000 (09:26 +0000)]
Convert UnaryOpStub to a HydrogenCodeStub

BUG=
R=danno@chromium.org

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

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

11 years agoUnrevert "Remove BinaryOp::result_type""
rossberg@chromium.org [Fri, 5 Jul 2013 08:49:37 +0000 (08:49 +0000)]
Unrevert "Remove BinaryOp::result_type""

Reenables https://code.google.com/p/v8/source/detail?r=15265

R=jkummerow@chromium.org
BUG=

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

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

11 years agoTweak error message
rossberg@chromium.org [Fri, 5 Jul 2013 08:34:31 +0000 (08:34 +0000)]
Tweak error message

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

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

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

11 years agoFix stack alignment corruption for MinGW32 build
jkummerow@chromium.org [Fri, 5 Jul 2013 08:34:17 +0000 (08:34 +0000)]
Fix stack alignment corruption for MinGW32 build

Contributed by Peter Varga <pvarga@inf.u-szeged.hu>

BUG=
TEST=cctest/test-assembler-ia32/StackAlignmentForSSE2,cctest/test-assembler-x64/StackAlignmentForSSE2,cctest/test-platform/StackAlignment
R=jkummerow@chromium.org

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

Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

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

11 years agoSet GVN ChangesNewSpacePromotion for OSR Entry.
hpayer@chromium.org [Fri, 5 Jul 2013 08:17:30 +0000 (08:17 +0000)]
Set GVN ChangesNewSpacePromotion for OSR Entry.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoMerge two lines into one for V8_TARGET_ARCH_${arch} and V8_HOST_ARCH_${arch}
jkummerow@chromium.org [Fri, 5 Jul 2013 08:15:32 +0000 (08:15 +0000)]
Merge two lines into one for V8_TARGET_ARCH_${arch} and V8_HOST_ARCH_${arch}

R=jkummerow@chromium.org

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

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

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

11 years agoPrepare push to trunk. Now working on version 3.20.3.
machenbach@chromium.org [Fri, 5 Jul 2013 07:05:12 +0000 (07:05 +0000)]
Prepare push to trunk.  Now working on version 3.20.3.

R=hpayer@chromium.org
BUG=

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

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

11 years agoTurn range analysis into proper HPhase.
bmeurer@chromium.org [Thu, 4 Jul 2013 19:25:16 +0000 (19:25 +0000)]
Turn range analysis into proper HPhase.

R=dslomov@chromium.org

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

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

11 years agoMIPS: Skip cctest/test-serialize tests.
palfia@homejinni.com [Thu, 4 Jul 2013 18:47:13 +0000 (18:47 +0000)]
MIPS: Skip cctest/test-serialize tests.

BUG=
TEST=test-serialize/Deserialize,
test-serialize/DeserializeFromSecondSerializationAndRunScript2,
test-serialize/DeserializeAndRunScript2,
test-serialize/DeserializeFromSecondSerialization

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

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

11 years agoSet 5M memory for OutOfMemory and OutOfMemoryNested test cases.
palfia@homejinni.com [Thu, 4 Jul 2013 18:45:03 +0000 (18:45 +0000)]
Set 5M memory for OutOfMemory and OutOfMemoryNested test cases.

BUG=
TEST=cctest/test-api/OutOfMemory
     cctest/test-api/OutOfMemoryNested

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

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

11 years agoRemove deprecated heap profiler methods from V8 public API
yurys@chromium.org [Thu, 4 Jul 2013 16:34:07 +0000 (16:34 +0000)]
Remove deprecated heap profiler methods from V8 public API

v8::HeapProfiler::FindHeapSnapshot was already deprecated when 3.19 branch was created (https://code.google.com/p/v8/source/browse/branches/3.19/include/v8-profiler.h).

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

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

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

11 years agoChange the type of system root nodes in heap snapshot to kSynthetic
alph@chromium.org [Thu, 4 Jul 2013 16:32:18 +0000 (16:32 +0000)]
Change the type of system root nodes in heap snapshot to kSynthetic

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

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

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

11 years agoRemove #include "heap-snapshot-generator-inl.h" from v8.h
yurys@chromium.org [Thu, 4 Jul 2013 16:32:12 +0000 (16:32 +0000)]
Remove #include "heap-snapshot-generator-inl.h" from v8.h

This reduces number of dependent .cc files to 9 (was whole v8).

BUG=None
R=loislo@chromium.org

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

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

11 years agoPlug some memory leaks in parser tests.
dslomov@chromium.org [Thu, 4 Jul 2013 15:57:43 +0000 (15:57 +0000)]
Plug some memory leaks in parser tests.

BUG=v8:2763
R=dslomov@chromium.org

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

Patch from Sergey Matveev <earthdok@chromium.org>.

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

11 years agoMIPS: Fix bug in StringConstructCode builtin.
palfia@homejinni.com [Thu, 4 Jul 2013 15:19:03 +0000 (15:19 +0000)]
MIPS: Fix bug in StringConstructCode builtin.

BUG=

TEST=webkit/dfg-to-string-bad-toString, webkit/dfg-to-string-bad-valueOf,
webkit/dfg-to-string-int-or-string, webkit/dfg-to-string-side-effect,
webkit/dfg-to-string-bad-toString, webkit/dfg-to-string-bad-valueOf,
webkit/dfg-to-string-toString-in-string, webkit/dfg-to-string-int,
webkit/dfg-to-string-valueOf-in-string

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

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

11 years agoFactor out OSR-related graph-building functionality from hydrogen.cc.
titzer@chromium.org [Thu, 4 Jul 2013 09:20:07 +0000 (09:20 +0000)]
Factor out OSR-related graph-building functionality from hydrogen.cc.

BUG=

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

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

11 years agoUpdate performance baseline to newest chromium LKGR.
machenbach@chromium.org [Thu, 4 Jul 2013 07:32:57 +0000 (07:32 +0000)]
Update performance baseline to newest chromium LKGR.

R=mvstanton@chromium.org

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

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

11 years agoRevert "Convert UnaryOpStub to a HydrogenCodeStub"
olivf@chromium.org [Wed, 3 Jul 2013 19:57:25 +0000 (19:57 +0000)]
Revert "Convert UnaryOpStub to a HydrogenCodeStub"

The problem is the HCallConstantFunction which is not context sensitive, so we leak the builtin. We first need a Hydrogen version of __ IvokeBuiltin.

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

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

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

11 years agoFix Mac compilation after r15484
yurys@chromium.org [Wed, 3 Jul 2013 17:26:01 +0000 (17:26 +0000)]
Fix Mac compilation after r15484

BUG=None
R=jkummerow@chromium.org

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

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

11 years agoDo not store fp and sp values in TickSample
yurys@chromium.org [Wed, 3 Jul 2013 16:20:59 +0000 (16:20 +0000)]
Do not store fp and sp values in TickSample

Their values are not used neither by the tick processor nor by CpuProfiler so it is just a waste of space.

TickSample used to be a transport for grabbed register values to TickSample::Trace, now they are passed in a special structure RegisterState which is allocated on the stack for the sampling period.

Some common pieces were moved from platform-dependent code into Sampler::SampleStack and TickSample::Init.

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

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

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

11 years agoRevert "Fix stack alignment corruption for MinGW32 build"
jkummerow@chromium.org [Wed, 3 Jul 2013 15:45:57 +0000 (15:45 +0000)]
Revert "Fix stack alignment corruption for MinGW32 build"

due to compile failures.

This reverts r15480.

R=dslomov@chromium.org

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

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

11 years agoRemove #include "cpu-profiler-inl.h" from v8.h
yurys@chromium.org [Wed, 3 Jul 2013 15:39:18 +0000 (15:39 +0000)]
Remove #include "cpu-profiler-inl.h" from v8.h

This significantly reduces amount of files to be recompiled after changes in cpu-profiler.h and its dependencies.

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

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

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

11 years agoFormat stack layout comments for X64
jkummerow@chromium.org [Wed, 3 Jul 2013 15:36:49 +0000 (15:36 +0000)]
Format stack layout comments for X64

R=jkummerow@chromium.org

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

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

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

11 years agoFix stack alignment corruption for MinGW32 build
jkummerow@chromium.org [Wed, 3 Jul 2013 15:34:50 +0000 (15:34 +0000)]
Fix stack alignment corruption for MinGW32 build

Contributed by Peter Varga <pvarga@inf.u-szeged.hu>

BUG=
TEST=cctest/test-assembler-ia32/StackAlignmentForSSE2,cctest/test-assembler-x64/StackAlignmentForSSE2,cctest/test-platform/StackAlignment
R=jkummerow@chromium.org

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

Patch from Peter Varga <pvarga@inf.u-szeged.hu>.

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

11 years agoChange mjsunit tests to work with and without the i18n extension
jkummerow@chromium.org [Wed, 3 Jul 2013 15:33:11 +0000 (15:33 +0000)]
Change mjsunit tests to work with and without the i18n extension

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

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

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

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

11 years agoMark i18n functions as native and set proper names
jkummerow@chromium.org [Wed, 3 Jul 2013 15:30:27 +0000 (15:30 +0000)]
Mark i18n functions as native and set proper names

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

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

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

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

11 years agoGDBJIT: Remove codes when they are garbage collected.
mstarzinger@chromium.org [Wed, 3 Jul 2013 15:29:59 +0000 (15:29 +0000)]
GDBJIT: Remove codes when they are garbage collected.

R=mstarzinger@chromium.org

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

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

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

11 years agoSort the i18n extension sources correctly.
jkummerow@chromium.org [Wed, 3 Jul 2013 15:28:59 +0000 (15:28 +0000)]
Sort the i18n extension sources correctly.

It's important that e.g. the header comes first, and the footer last

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

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

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

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

11 years agoFix typo in api.cc
jkummerow@chromium.org [Wed, 3 Jul 2013 15:27:47 +0000 (15:27 +0000)]
Fix typo in api.cc

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

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

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

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

11 years agoFix GDBJIT compilation on Mac after r15467.
mstarzinger@chromium.org [Wed, 3 Jul 2013 14:58:27 +0000 (14:58 +0000)]
Fix GDBJIT compilation on Mac after r15467.

R=machenbach@chromium.org

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

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

11 years agoConvert UnaryOpStub to a HydrogenCodeStub
olivf@chromium.org [Wed, 3 Jul 2013 14:56:53 +0000 (14:56 +0000)]
Convert UnaryOpStub to a HydrogenCodeStub

BUG=
R=danno@chromium.org

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

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

11 years agoAdd 4K more memory for HugeConsStringOutOfMemory test case
yangguo@chromium.org [Wed, 3 Jul 2013 14:56:18 +0000 (14:56 +0000)]
Add 4K more memory for HugeConsStringOutOfMemory test case

R=yangguo@chromium.org

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

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

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

11 years agoFix test-cpu-profiler/FunctionCallSample flakiness under GC stress testing
yurys@chromium.org [Wed, 3 Jul 2013 14:26:38 +0000 (14:26 +0000)]
Fix test-cpu-profiler/FunctionCallSample flakiness under GC stress testing

The test flakes on "V8 GC Stress" bots and the sample looks like this:
[Top down]:
   90     0   (root) [-1] #0 1
    1     1    (program) [-1] #0 2
   89    89    (garbage collector) [-1] #0 3
which means that almost all samples are inside GC and we have no |start| node in the collected profile.

Running the test with different combinations of --gc-interval=500 and --stress-compaction flags gives the results quoted below. They don't give a ground to require |start| node presense in the profile when doing GC stress testing. So this change makes the |start| node optional in the collected profile if GC stress testing is on.

$ ./out/ia32.debug/cctest --gc-interval=500 --stress-compaction --trace-gc  test-cpu-profiler/FunctionCallSample
[10291]       76 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 49.5 ms (+ 0.2 ms in 1 steps since start of marking, biggest step 0.2 ms) [StackGuard GC request] [GC in old space requested].
[10291]      110 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 25.3 ms [Logger::LogCompiledFunctions] [GC in old space requested].
[10291]      135 ms: Mark-sweep 0.4 (17.8) -> 0.4 (17.8) MB, 22.8 ms [Logger::LogAccessorCallbacks] [GC in old space requested].
[10291]      179 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 39.9 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [Runtime::PerformGC] [GC in old space forced by flags].
[10291]      209 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 29.1 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [Runtime::PerformGC] [GC in old space forced by flags].
[10291]      240 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 29.1 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [Runtime::PerformGC] [GC in old space forced by flags].
[Top down]:
   99     0   (root) [-1] #0 1
    4     4    start [-1] #16 3
   93    93    (garbage collector) [-1] #0 4
    2     2    (program) [-1] #0 2

$ ./out/ia32.debug/cctest --gc-interval=500  --trace-gc  test-cpu-profiler/FunctionCallSample
[10328]       46 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 14.9 ms [Logger::LogCompiledFunctions] [GC in old space requested].
[10328]       61 ms: Mark-sweep 0.4 (17.8) -> 0.4 (17.8) MB, 12.9 ms [Logger::LogAccessorCallbacks] [GC in old space requested].
[10328]       65 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]       67 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]       69 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       70 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       72 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       73 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       75 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       77 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       78 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       80 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       81 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       83 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       85 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       86 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       88 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       89 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       91 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       93 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       94 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]       96 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       97 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]       99 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      101 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      102 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      104 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      105 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      107 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      109 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      110 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      112 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      113 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]      115 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      117 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      118 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      120 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      121 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      123 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      125 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      126 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      128 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      129 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      131 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      133 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      134 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      136 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      137 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      139 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      141 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      142 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      144 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]      145 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      147 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      149 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      150 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      152 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      153 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.3 ms [Runtime::PerformGC].
[10328]      155 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      157 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      158 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      160 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      162 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[10328]      163 ms: Scavenge 0.5 (17.8) -> 0.4 (17.8) MB, 1.2 ms [Runtime::PerformGC].
[Top down]:
   95     0   (root) [-1] #0 1
   12    11    start [-1] #16 3
    1     1      bar [-1] #16 4
   81    81    (garbage collector) [-1] #0 5
    2     2    (program) [-1] #0 2

$ ./out/ia32.debug/cctest --stress-compaction --trace-gc  test-cpu-profiler/FunctionCallSample
[10355]       76 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 49.9 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [StackGuard GC request] [GC in old space requested].
[10355]      110 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 25.5 ms [Logger::LogCompiledFunctions] [GC in old space requested].
[10355]      135 ms: Mark-sweep 0.4 (17.8) -> 0.4 (17.8) MB, 22.9 ms [Logger::LogAccessorCallbacks] [GC in old space requested].
[10355]      189 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 49.8 ms (+ 0.2 ms in 1 steps since start of marking, biggest step 0.2 ms) [StackGuard GC request] [GC in old space requested].
[10355]      234 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 42.5 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [StackGuard GC request] [GC in old space requested].
[10355]      278 ms: Mark-sweep 0.5 (17.8) -> 0.4 (17.8) MB, 42.5 ms (+ 0.1 ms in 1 steps since start of marking, biggest step 0.1 ms) [StackGuard GC request] [GC in old space requested].
[Top down]:
  135     0   (root) [-1] #0 1
    6     6    start [-1] #16 3
  127   127    (garbage collector) [-1] #0 4
    2     2    (program) [-1] #0 2

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

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

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

11 years agoRelax test expectations for test-cpu-profiler/FunctionApplySample
yurys@chromium.org [Wed, 3 Jul 2013 14:23:34 +0000 (14:23 +0000)]
Relax test expectations for test-cpu-profiler/FunctionApplySample

The profile may look a bit different on the bots (see below). We expected this only under GC stress testing, the change makes regular expectations the same.

[Top down]:
   68     0   (root) [-1] #0 1
    1     1    (program) [-1] #0 2
   67    65    start [-1] #16 3
    2     0      (unresolved function) [-1] #0 4
    2     2        apply [-1] #0 5

BUG=None
TBR=jkummerow@chromium.org

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

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

11 years agoFix compilation on x64 after r15466
mstarzinger@chromium.org [Wed, 3 Jul 2013 14:21:21 +0000 (14:21 +0000)]
Fix compilation on x64 after r15466

R=mstarzinger@chromium.org

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

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

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

11 years agoCorrectly report stack trace when current function is FunctionApply builtin
yurys@chromium.org [Wed, 3 Jul 2013 14:04:37 +0000 (14:04 +0000)]
Correctly report stack trace when current function is FunctionApply builtin

When pc is inside FunctionApply builtin function the top frame may be either
2) Internal stack frame created by FunctionApply itself.
In this case we know its caller's pc and can correctly resolve calling function.
1) Frame of the calling JavaScript function that invoked .apply(). In this case we have no practical reliable way to find out the caller's pc so we mark the caller's frame as 'unresolved'.

All this logic is implemented in ProfileGenerator. SafeStackFrameIterator is extended to provide type of the current top stack frame (iteration actually starts from the caller's frame as we know top function from pc).

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

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

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

11 years agoEnable GDBJIT interface for standalone by default.
mstarzinger@chromium.org [Wed, 3 Jul 2013 12:00:40 +0000 (12:00 +0000)]
Enable GDBJIT interface for standalone by default.

R=jkummerow@chromium.org

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

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

11 years agoFix GDBJIT for Linux after r15460.
mstarzinger@chromium.org [Wed, 3 Jul 2013 11:57:38 +0000 (11:57 +0000)]
Fix GDBJIT for Linux after r15460.

R=danno@chromium.org

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

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

11 years agoReintroduce runtime zone to Isolate.
bmeurer@chromium.org [Wed, 3 Jul 2013 11:40:30 +0000 (11:40 +0000)]
Reintroduce runtime zone to Isolate.

In case tcmalloc is not being used, the malloc()/free() overhead
can be significant for several runtime functions like StringReplace.
Therefore we reintroduce the runtime_zone into Isolate and reenable
the segment caching functionality of Zone.

There's now also a simpler version of ZoneScope w/o nesting capabilities.

BUG=v8:2759
R=danno@chromium.org, yangguo@chromium.org

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

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

11 years agoImport the v8-i18n extension into v8
jkummerow@chromium.org [Wed, 3 Jul 2013 11:22:29 +0000 (11:22 +0000)]
Import the v8-i18n extension into v8

This adds the gyp flag v8_enable_i18n_support (off by default), and the
v8 flag FLAG_enable_i18n (on by default, but without effect if
v8_enable_i18n_support is off).

BUG=v8:2745
R=cira@chromium.org, danno@chromium.org, jkummerow@chromium.org

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

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

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

11 years agoFix small mistake in d8.js.
yangguo@chromium.org [Wed, 3 Jul 2013 10:38:20 +0000 (10:38 +0000)]
Fix small mistake in d8.js.

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

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

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

11 years agoLog deopts with --log-timer-events.
yangguo@chromium.org [Wed, 3 Jul 2013 10:10:27 +0000 (10:10 +0000)]
Log deopts with --log-timer-events.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDon't return frame by reference in ProcessTopOptimizedFrame.
mstarzinger@chromium.org [Wed, 3 Jul 2013 09:47:22 +0000 (09:47 +0000)]
Don't return frame by reference in ProcessTopOptimizedFrame.

R=ulan@chromium.org

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

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

11 years agoMake MachO gdbjit support compile again
danno@chromium.org [Wed, 3 Jul 2013 08:29:46 +0000 (08:29 +0000)]
Make MachO gdbjit support compile again

R=mstarzinger@chromium.org

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

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

11 years agoFix default type feedback returned from the oracle
jkummerow@chromium.org [Tue, 2 Jul 2013 16:31:39 +0000 (16:31 +0000)]
Fix default type feedback returned from the oracle

R=rossberg@chromium.org

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

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

11 years agoHandlify JSObject::DefineAccessor method.
mstarzinger@chromium.org [Tue, 2 Jul 2013 16:24:23 +0000 (16:24 +0000)]
Handlify JSObject::DefineAccessor method.

R=rossberg@chromium.org

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

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

11 years agoUse stored Isolate pointer instead of Isolate::Current()
yurys@chromium.org [Tue, 2 Jul 2013 15:44:30 +0000 (15:44 +0000)]
Use stored Isolate pointer instead of Isolate::Current()

Fixed a couple of places where stored pointer to the isolate can be used instead of reading from thread local storage.

BUG=None
R=jkummerow@chromium.org

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

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

11 years agoInclude statistical profile into profviz.
yangguo@chromium.org [Tue, 2 Jul 2013 15:34:28 +0000 (15:34 +0000)]
Include statistical profile into profviz.

R=jkummerow@chromium.org

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

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

11 years agoHandlify JSObject::SetPrototype method.
mstarzinger@chromium.org [Tue, 2 Jul 2013 15:32:46 +0000 (15:32 +0000)]
Handlify JSObject::SetPrototype method.

R=rossberg@chromium.org

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

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