platform/upstream/v8.git
11 years agoGet rid of Isolate::safe_stack_iterator_counter
yurys@chromium.org [Tue, 25 Jun 2013 10:09:19 +0000 (10:09 +0000)]
Get rid of Isolate::safe_stack_iterator_counter

This change removes per-isolate counter of active SafeStackFrameIterators. The counter is used by stack frames implementations to avoid accessing pointers to heap objects when traversing stack for CPU profiler (so called "safe" mode). Each StackFrame instance is owned by single iterator and has a pointer to it so we can simply mark the iterator as "safe" or not and read the field in the stack frames instead of going into the isolate.

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

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

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

11 years agoFix GCC error about comma at end of enumerator list.
bmeurer@chromium.org [Tue, 25 Jun 2013 09:34:22 +0000 (09:34 +0000)]
Fix GCC error about comma at end of enumerator list.

TBR=svenpanne@chromium.org
BUG=

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

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

11 years agoFix compilation error introduced with r15287.
bmeurer@chromium.org [Tue, 25 Jun 2013 09:09:25 +0000 (09:09 +0000)]
Fix compilation error introduced with r15287.

REGEXP was added to Code::Kind after TO_BOOLEAN_IC, but NUMBER_OF_KINDS,
which is used as array size for table[] in ReportCodeKindStatistics, was
still TO_BOOLEAN_IC + 1 (indirectly via LAST_IC_KIND).

BUG=
R=svenpanne@chromium.org

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

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

11 years agoCleanup Code::Kind2String().
bmeurer@chromium.org [Tue, 25 Jun 2013 08:51:49 +0000 (08:51 +0000)]
Cleanup Code::Kind2String().

Use CODE_KIND_LIST() to automatically generate the case statements for
Code::Kind2String().

BUG=
R=svenpanne@chromium.org

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

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

11 years agoReland "Remove IsInitialized checks from inlined API functions."
mstarzinger@chromium.org [Tue, 25 Jun 2013 08:11:50 +0000 (08:11 +0000)]
Reland "Remove IsInitialized checks from inlined API functions."

The initialization sequence in Blink has been adapted to use explicit
isolate initialization instead of through calling v8::Null() as the
first API call.

R=svenpanne@chromium.org

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

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

11 years agoAdded pretenuring support for fast literal allocation in old data space.
hpayer@chromium.org [Tue, 25 Jun 2013 07:47:53 +0000 (07:47 +0000)]
Added pretenuring support for fast literal allocation in old data space.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoMerge SafeStackTraceFrameIterator into SafeStackFrameIterator
yurys@chromium.org [Tue, 25 Jun 2013 07:14:06 +0000 (07:14 +0000)]
Merge SafeStackTraceFrameIterator into SafeStackFrameIterator

SafeStackFrameIterator was used solely to implement SafeStackTraceFrameIterator. This CL simply merges them and updates usage of SafeStackTraceFrameIterator to use SafeStackFrameIterator (a bit shorter name).

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

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

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

11 years agoMIPS: Fix mjsunit/regress/regress-2653.
palfia@homejinni.com [Tue, 25 Jun 2013 00:09:32 +0000 (00:09 +0000)]
MIPS: Fix mjsunit/regress/regress-2653.

Insert proper padding after lazy deoptimization points. This change
makes sure, that patching does not overwrite the code after the
lazy deoptimization point.

TEST=mjsunit/regress/regress-2653

BUG=

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

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

11 years agoMIPS: Fix Kraken gaussian blur test regression.
palfia@homejinni.com [Mon, 24 Jun 2013 18:33:42 +0000 (18:33 +0000)]
MIPS: Fix Kraken gaussian blur test regression.

The regression was introduced in r13848 by accidental removal of one
additional line.

TEST=
BUG=

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

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

11 years agoMIPS: Rename Literal::handle to Literal::value
palfia@homejinni.com [Mon, 24 Jun 2013 18:28:06 +0000 (18:28 +0000)]
MIPS: Rename Literal::handle to Literal::value

Port r15280 (1a287b2)

Original commit message:
Just a completely mechanical change...

BUG=

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

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

11 years agoFix ugly typo in HValue::UpdateRepresentation.
mstarzinger@chromium.org [Mon, 24 Jun 2013 14:34:07 +0000 (14:34 +0000)]
Fix ugly typo in HValue::UpdateRepresentation.

R=jkummerow@chromium.org
TEST=mjsunit/math-min-max --extra-flags="--gc-interval=500"

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

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

11 years agoRemoved some useless/dead code regarding CompileTimeValues.
svenpanne@chromium.org [Mon, 24 Jun 2013 14:26:32 +0000 (14:26 +0000)]
Removed some useless/dead code regarding CompileTimeValues.

R=mstarzinger@chromium.org

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

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

11 years agoIn revision 15142, the V8_USE_UNSAFE_HANDLES define is removed.
danno@chromium.org [Mon, 24 Jun 2013 14:21:14 +0000 (14:21 +0000)]
In revision 15142, the V8_USE_UNSAFE_HANDLES define is removed.

So in the vtune support code ( in vtune-jit.cc file)v8::Handle<T* value> consturctor cannot be invoked directly.
We use "->ToString()" to create the Handle<String> object  to fix the compilation error.

R=danno@chromium.org

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

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

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

11 years agoUpdate typed arrays behavior to match ES6 rev 15. Remove TO_POSITIVE_INTEGER and...
dslomov@chromium.org [Mon, 24 Jun 2013 13:58:52 +0000 (13:58 +0000)]
Update typed arrays behavior to match ES6 rev 15. Remove TO_POSITIVE_INTEGER and throw on negative length arguments.

R=rossberg@chromium.org

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

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

11 years agoCorrecting mime type of tools/profviz/profviz.css.
yangguo@chromium.org [Mon, 24 Jun 2013 13:55:36 +0000 (13:55 +0000)]
Correcting mime type of tools/profviz/profviz.css.

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

11 years agoChanging mime type of tools/profviz/profviz.css.
yangguo@chromium.org [Mon, 24 Jun 2013 13:53:17 +0000 (13:53 +0000)]
Changing mime type of tools/profviz/profviz.css.

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

11 years agoChanging mime type of tools/profviz/profviz.html.
yangguo@chromium.org [Mon, 24 Jun 2013 13:52:09 +0000 (13:52 +0000)]
Changing mime type of tools/profviz/profviz.html.

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

11 years agoAdd phase zone to CompilationInfo and use it in GVN pass.
bmeurer@chromium.org [Mon, 24 Jun 2013 13:37:46 +0000 (13:37 +0000)]
Add phase zone to CompilationInfo and use it in GVN pass.

The phase_zone of CompilationInfo is intended for local allocations that
are freed at the end of the phase.

R=danno@chromium.org
BUG=

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

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

11 years agoMove ExitFrame::ComputeStackPointer from frames-<arch>.cc to frames.cc
yurys@chromium.org [Mon, 24 Jun 2013 13:27:48 +0000 (13:27 +0000)]
Move ExitFrame::ComputeStackPointer from frames-<arch>.cc to frames.cc

The method has identical implementation for all architectures. Moved it into frames.cc

Drive-by: deleted SafeStackFrameIterator::is_working_iterator_, SafeStackFrameIterator::iteration_done_ is used instead.
BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

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

11 years agoAdd v8.log visualizer page.
yangguo@chromium.org [Mon, 24 Jun 2013 13:25:58 +0000 (13:25 +0000)]
Add v8.log visualizer page.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDrop (mis)use of HPhase in full code gen.
bmeurer@chromium.org [Mon, 24 Jun 2013 13:25:44 +0000 (13:25 +0000)]
Drop (mis)use of HPhase in full code gen.

The full code generator is not a proper Hydrogen phase. The full code
gen ticks are tracked in a special member of HStatistics, so HPhase is
most probably misused at this point.

R=danno@chromium.org
BUG=

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

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

11 years agoDo not use deprecated MakeWeak in d8.
yangguo@chromium.org [Mon, 24 Jun 2013 13:15:07 +0000 (13:15 +0000)]
Do not use deprecated MakeWeak in d8.

R=svenpanne@chromium.org
BUG=

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

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

11 years agoFix HStatistics::Print() output to fit into 80 columns.
bmeurer@chromium.org [Mon, 24 Jun 2013 13:07:20 +0000 (13:07 +0000)]
Fix HStatistics::Print() output to fit into 80 columns.

BUG=
R=danno@chromium.org

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

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

11 years agoCPUProfiler: fix for test.
loislo@chromium.org [Mon, 24 Jun 2013 13:03:19 +0000 (13:03 +0000)]
CPUProfiler: fix for test.

TBR= yangguo@chromium.org

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

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

11 years agoCPUProfiler: Simplify logging part of CreateCodeEvent functions.
loislo@chromium.org [Mon, 24 Jun 2013 12:55:19 +0000 (12:55 +0000)]
CPUProfiler: Simplify logging part of CreateCodeEvent functions.

We have 5 overloaded functions with name CreateCodeEvent.
All these functions have many common parts. I'd like to eliminate the difference between them.

TEST=existing tests
R=yangguo@chromium.org, yurys@chromium.org

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

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

11 years agoDeprecate one virtual marking visitor for mark-compact GC.
mstarzinger@chromium.org [Mon, 24 Jun 2013 12:39:02 +0000 (12:39 +0000)]
Deprecate one virtual marking visitor for mark-compact GC.

R=hpayer@google.com

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

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

11 years agoAPI for DataView.
dslomov@chromium.org [Mon, 24 Jun 2013 11:23:50 +0000 (11:23 +0000)]
API for DataView.

R=svenpanne@chromium.org

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

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

11 years agoRevert "Remove IsInitialized checks from inlined API functions."
mstarzinger@chromium.org [Mon, 24 Jun 2013 11:10:40 +0000 (11:10 +0000)]
Revert "Remove IsInitialized checks from inlined API functions."

This reverts r15277 due to failures in layout tests. Apparently Blink
still initializes the Isolate by calling v8::Null() as the first API
function on some paths.

TBR=svenpanne@chromium.org
TEST=webkit:crypto/worker-random-values-concurrent.html

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

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

11 years agoRename Literal::handle to Literal::value
rossberg@chromium.org [Mon, 24 Jun 2013 10:37:59 +0000 (10:37 +0000)]
Rename Literal::handle to Literal::value

Just a completely mechanical change...

R=svenpanne@chromium.org
BUG=

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

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

11 years agoUpdate the TSan-specific atomics implementation to match the current API.
yurys@chromium.org [Mon, 24 Jun 2013 09:35:30 +0000 (09:35 +0000)]
Update the TSan-specific atomics implementation to match the current API.

BUG=128314

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

Patch from Alexander Potapenko <glider@chromium.org>.

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

11 years agoMake a Persistent ctor take const Persistent& instead of Persistent&.
mstarzinger@chromium.org [Mon, 24 Jun 2013 09:34:56 +0000 (09:34 +0000)]
Make a Persistent ctor take const Persistent& instead of Persistent&.

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

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

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

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

11 years agoRemove IsInitialized checks from inlined API functions.
mstarzinger@chromium.org [Mon, 24 Jun 2013 08:58:01 +0000 (08:58 +0000)]
Remove IsInitialized checks from inlined API functions.

R=marja@chromium.org, svenpanne@chromium.org
TEST=cctest/test-api

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

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

11 years agoCPUProfiler: remove copy&paste from CodeCreateEvent.
loislo@chromium.org [Mon, 24 Jun 2013 08:40:38 +0000 (08:40 +0000)]
CPUProfiler: remove copy&paste from CodeCreateEvent.

This is the next patch on the way of simplifying profiler API.
It is extracting the common parts of the serialization process.

TEST=current test set
R=svenpanne@chromium.org

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

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

11 years agoSimplify stack iterators implementation
yurys@chromium.org [Mon, 24 Jun 2013 08:38:37 +0000 (08:38 +0000)]
Simplify stack iterators implementation

In order to fix https://code.google.com/p/chromium/issues/detail?id=252097 I
need to change SafeStackTraceFrameIterator. Stack iterators hierarchy looks
excessively complicated and I'd like to flatten it a bit by removing some
intermediate classes. In particular there are two hierarchies sharing
JavaScriptFrameIteratorTemp<T> template for no good reason.

This change extracts some of JavaScriptFrameIteratorTemp functionality directly
into SafeStackTraceFrameIterator. This made it obvious that a few checks were
performed twice.

The rest of JavaScriptFrameIteratorTemp<T> is merged with
JavaScriptFrameIterator. Now that the class is not a template some of its
implementation is moved from frames-inl.h into frames.cc

So in this change I removed JavaScriptFrameIterator and
SafeJavaScriptFrameIterator. As the next step I'm going to merge
SafeStackFrameIterator into SafeStackTraceFrameIterator.

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

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

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

11 years agoUpdate boot-up memory use limit after adding DataView.
dslomov@chromium.org [Mon, 24 Jun 2013 07:02:53 +0000 (07:02 +0000)]
Update boot-up memory use limit after adding DataView.

R=danno@chromium.org

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

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

11 years agoMIPS: Use AST's type field and merge types for unary, binary & compare ICs.
palfia@homejinni.com [Fri, 21 Jun 2013 20:31:06 +0000 (20:31 +0000)]
MIPS: Use AST's type field and merge types for unary, binary & compare ICs.

Port r15264 (d4c3767)

Missing fixed_right_arg().has_value cases added also.

BUG=

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

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

11 years agoUse kPointerSize to compute the size of StubCache::Entry for X64
jkummerow@chromium.org [Fri, 21 Jun 2013 16:19:51 +0000 (16:19 +0000)]
Use kPointerSize to compute the size of StubCache::Entry for X64

R=jkummerow@chromium.org

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

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

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

11 years agoDataView implementation.
dslomov@chromium.org [Fri, 21 Jun 2013 13:02:38 +0000 (13:02 +0000)]
DataView implementation.

R=rossberg@chromium.org

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

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

11 years agoDistinguish times_8 and times_pointer_size for X64
jkummerow@chromium.org [Fri, 21 Jun 2013 12:57:19 +0000 (12:57 +0000)]
Distinguish times_8 and times_pointer_size for X64

R=jkummerow@chromium.org

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

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

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

11 years agoHBoundsCheck shouldn't ignore Tagged input representations unconditionally
jkummerow@chromium.org [Fri, 21 Jun 2013 12:50:02 +0000 (12:50 +0000)]
HBoundsCheck shouldn't ignore Tagged input representations unconditionally

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

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

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

11 years agoV8 API: Add a missing NULL check into Isolate::GetCurrentContext().
yurys@chromium.org [Fri, 21 Jun 2013 12:34:47 +0000 (12:34 +0000)]
V8 API: Add a missing NULL check into Isolate::GetCurrentContext().

There is a missing NULL check for: "internal_isolate->context() != NULL".
Right now before calling this method one should call v8::Context::InContext()
first to perform this check, otherwise we may crash. But this static method
will do this check on the current isolate, which may not be the same as a given one.

BUG=249655
R=yurys@chromium.org,mvstanton@chromium.org

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

Patch from Andrey Adaykin <aandrey@chromium.org>.

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

11 years agoRemove BinaryOp::result_type
rossberg@chromium.org [Fri, 21 Jun 2013 12:16:14 +0000 (12:16 +0000)]
Remove BinaryOp::result_type

R=jkummerow@chromium.org
BUG=

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

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

11 years agoUse AST's type field and merge types for unary, binary & compare ICs
rossberg@chromium.org [Fri, 21 Jun 2013 11:10:06 +0000 (11:10 +0000)]
Use AST's type field and merge types for unary, binary & compare ICs

R=jkummerow@chromium.org
BUG=

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

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

11 years agoShort-circuit embedded cons strings.
yangguo@chromium.org [Fri, 21 Jun 2013 09:24:30 +0000 (09:24 +0000)]
Short-circuit embedded cons strings.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoUse mutex instead of busy wait when installing optimized function.
yangguo@chromium.org [Fri, 21 Jun 2013 08:38:12 +0000 (08:38 +0000)]
Use mutex instead of busy wait when installing optimized function.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoClean up queued compilation tasks when quitting.
yangguo@chromium.org [Fri, 21 Jun 2013 08:37:05 +0000 (08:37 +0000)]
Clean up queued compilation tasks when quitting.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDelete deprecated methods from v8-profiler.h
yurys@chromium.org [Fri, 21 Jun 2013 07:56:22 +0000 (07:56 +0000)]
Delete deprecated methods from v8-profiler.h

All these methods were already marked as V8_DEPRECATED in V8 Version 3.18.0 (see https://code.google.com/p/v8/source/browse/trunk/include/v8-profiler.h?r=14304) so it is time to delete them.

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

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

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

11 years agoMIPS: Let NaN flow as double into HBranch + some minor improvements
plind44@gmail.com [Fri, 21 Jun 2013 02:43:13 +0000 (02:43 +0000)]
MIPS: Let NaN flow as double into HBranch + some minor improvements

Port r15246 (cb18dce2)

BUG=
R=plind44@gmail.com

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

Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Generators: Avoid calling into runtime if operand stack is empty
palfia@homejinni.com [Thu, 20 Jun 2013 23:43:10 +0000 (23:43 +0000)]
MIPS: Generators: Avoid calling into runtime if operand stack is empty

Port r15240 (909f716e)

Original commit message:
This patch makes yield sites save the resume continuation and context
inline.  If the operand stack is empty, we can avoid a call into the
runtime.  This also makes the SuspendJSGeneratorObject runtime function
less magical: it just has to save the operand stack and stack handlers.

This speeds up the following case by a factor of 3 or so:

  function* until(n) {
    for (var i = 0; i < n; i++)
      yield i;
  }

  function sum(iter) {
    var sum = 0;
    for (var x of iter) sum += x;
    return sum;
  }

  for (var i = 0; i < 10000; i++) sum(until(1000))

Also, there is no more sentinel value as the generators will resume in
the right place already, allowing me to remove the hack added to the
--debug-code check in r14437.

BUG=

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

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

11 years agoMIPS: Lithium codegen should not pass around block_ids.
palfia@homejinni.com [Thu, 20 Jun 2013 20:18:58 +0000 (20:18 +0000)]
MIPS: Lithium codegen should not pass around block_ids.

Port r15235 (95a844b)

Original commit message:
Rather encapsulate the basic block to assembly label mapping in the LInstruction.

BUG=

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

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

11 years agoHandle MONOMORPIC loads where type feedback is code stub
danno@chromium.org [Thu, 20 Jun 2013 16:54:09 +0000 (16:54 +0000)]
Handle MONOMORPIC loads where type feedback is code stub

R=jkummerow@chromium.org

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

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

11 years agoAdd counters for requested/inserted/executed soft deopts
jkummerow@chromium.org [Thu, 20 Jun 2013 16:53:22 +0000 (16:53 +0000)]
Add counters for requested/inserted/executed soft deopts

R=rossberg@chromium.org

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

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

11 years agoMIPS: Fix stack frame reconstruction for generators with formal arguments.
palfia@homejinni.com [Thu, 20 Jun 2013 15:29:22 +0000 (15:29 +0000)]
MIPS: Fix stack frame reconstruction for generators with formal arguments.

Port r15230 (e2bbe01)

Original commit message:
The formal parameter count was always being treated as an untagged
integer, but it is actually a Smi on ia32 and arm.

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

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

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

11 years agoMake sure ExternalCallbackScope is always created when VM state changes to EXTERNAL
yurys@chromium.org [Thu, 20 Jun 2013 14:47:35 +0000 (14:47 +0000)]
Make sure ExternalCallbackScope is always created when VM state changes to EXTERNAL

ExternalCallbackScope is used to let CPU profiler know which API callback is being executed. Whenever such callback is called we should create VMState<ETERNAL> and ExternalCallbackScope. This patch fixes several places where VMState<ETERNAL> went without ExternalCallbackScope.

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

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

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

11 years agoAlso apply InferControlFlowRange to smi-based tests.
verwaest@chromium.org [Thu, 20 Jun 2013 14:20:15 +0000 (14:20 +0000)]
Also apply InferControlFlowRange to smi-based tests.

R=jkummerow@chromium.org

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

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

11 years agoImprove range analysis for smi phi
verwaest@chromium.org [Thu, 20 Jun 2013 14:11:52 +0000 (14:11 +0000)]
Improve range analysis for smi phi

R=jkummerow@chromium.org

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

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

11 years agoLet NaN flow as double into HBranch + some minor improvements
olivf@chromium.org [Thu, 20 Jun 2013 13:51:03 +0000 (13:51 +0000)]
Let NaN flow as double into HBranch + some minor improvements

BUG=
R=verwaest@chromium.org

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

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

11 years agoProperly assign heapobject to constant functions.
verwaest@chromium.org [Thu, 20 Jun 2013 13:46:29 +0000 (13:46 +0000)]
Properly assign heapobject to constant functions.

R=jkummerow@chromium.org

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

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

11 years agoFlexible representation for BuildIncrement, but CannotBeTagged.
verwaest@chromium.org [Thu, 20 Jun 2013 13:22:46 +0000 (13:22 +0000)]
Flexible representation for BuildIncrement, but CannotBeTagged.

R=jkummerow@chromium.org

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

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

11 years agoAdd soft-deopt for uninitialized assignment
verwaest@chromium.org [Thu, 20 Jun 2013 13:09:43 +0000 (13:09 +0000)]
Add soft-deopt for uninitialized assignment

R=hpayer@google.com

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

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

11 years agoGenerators: Avoid calling into runtime if operand stack is empty
wingo@igalia.com [Thu, 20 Jun 2013 12:59:45 +0000 (12:59 +0000)]
Generators: Avoid calling into runtime if operand stack is empty

This patch makes yield sites save the resume continuation and context
inline.  If the operand stack is empty, we can avoid a call into the
runtime.  This also makes the SuspendJSGeneratorObject runtime function
less magical: it just has to save the operand stack and stack handlers.

This speeds up the following case by a factor of 3 or so:

  function* until(n) {
    for (var i = 0; i < n; i++)
      yield i;
  }

  function sum(iter) {
    var sum = 0;
    for (var x of iter) sum += x;
    return sum;
  }

  for (var i = 0; i < 10000; i++) sum(until(1000))

Also, there is no more sentinel value as the generators will resume in
the right place already, allowing me to remove the hack added to the
--debug-code check in r14437.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agodeprecate old style callbacks
dcarney@chromium.org [Thu, 20 Jun 2013 12:53:19 +0000 (12:53 +0000)]
deprecate old style callbacks

R=svenpanne@chromium.org
BUG=

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

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

11 years agoUse +kCallerSPOffset instead of -kMarkerOffset to compute the args pointer
mstarzinger@chromium.org [Thu, 20 Jun 2013 12:51:36 +0000 (12:51 +0000)]
Use +kCallerSPOffset instead of -kMarkerOffset to compute the args pointer

R=mstarzinger@chromium.org

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

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

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

11 years agoremove all old style callbacks - patch 3
dcarney@chromium.org [Thu, 20 Jun 2013 12:28:27 +0000 (12:28 +0000)]
remove all old style callbacks - patch 3

TBR=svenpanne@chromium.org
BUG=

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

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

11 years agoFix the flags used to probe the megamorphic code cache.
verwaest@chromium.org [Thu, 20 Jun 2013 12:07:56 +0000 (12:07 +0000)]
Fix the flags used to probe the megamorphic code cache.

R=jkummerow@chromium.org

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

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

11 years agoLithium codegen should not pass around block_ids. Rather encapsulate the basic block...
olivf@chromium.org [Thu, 20 Jun 2013 11:50:50 +0000 (11:50 +0000)]
Lithium codegen should not pass around block_ids. Rather encapsulate the basic block to assembly label mapping in the LInstruction.

BUG=
R=jkummerow@chromium.org

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

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

11 years agoReport store buffer overflows to v8 counters.
hpayer@chromium.org [Thu, 20 Jun 2013 11:47:58 +0000 (11:47 +0000)]
Report store buffer overflows to v8 counters.

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

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

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

11 years agoDon't let the GC clear the cache between cache invocations to pass test.
hpayer@chromium.org [Thu, 20 Jun 2013 11:23:34 +0000 (11:23 +0000)]
Don't let the GC clear the cache between cache invocations to pass test.

BUG=
R=yangguo@chromium.org

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

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

11 years agowindows test fix for 15221
dcarney@chromium.org [Thu, 20 Jun 2013 11:03:04 +0000 (11:03 +0000)]
windows test fix for 15221

TBR=svenpanne@chromium.org
BUG=

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

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

11 years agoSkip parallel recompilation tests if parallel recompilation is disabled.
yangguo@chromium.org [Thu, 20 Jun 2013 11:01:33 +0000 (11:01 +0000)]
Skip parallel recompilation tests if parallel recompilation is disabled.

Parallel recompilation is usually disabled on single-core systems.

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

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

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

11 years agoFix stack frame reconstruction for generators with formal arguments
wingo@igalia.com [Thu, 20 Jun 2013 10:48:34 +0000 (10:48 +0000)]
Fix stack frame reconstruction for generators with formal arguments

The formal parameter count was always being treated as an untagged
integer, but it is actually a Smi on ia32 and arm.

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

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

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

11 years agoRevert r14930 and r14935 temporarily.
mstarzinger@chromium.org [Thu, 20 Jun 2013 10:48:14 +0000 (10:48 +0000)]
Revert r14930 and r14935 temporarily.

This is a temporary revert to track down a potential perf regression
introduced in r14930. The following two changes were reverted:
- "Deprecate HAllocateObject in favor of HAllocate."
- "Added pretenuring support for call new."

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

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

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

11 years agoMake isolate id getter public.
hpayer@chromium.org [Thu, 20 Jun 2013 10:05:33 +0000 (10:05 +0000)]
Make isolate id getter public.

BUG=
R=svenpanne@chromium.org

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

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

11 years agoAbort incremental marking in stress gc tests whenever we expect a full collection...
hpayer@chromium.org [Thu, 20 Jun 2013 10:04:53 +0000 (10:04 +0000)]
Abort incremental marking in stress gc tests whenever we expect a full collection after executing CollectAllGarbage.

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoMerge assignment handling for Assignment and CompoundAssignment
verwaest@chromium.org [Thu, 20 Jun 2013 09:19:19 +0000 (09:19 +0000)]
Merge assignment handling for Assignment and CompoundAssignment

R=danno@chromium.org

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

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

11 years agosymbols should be in the startup snapshot
dcarney@chromium.org [Thu, 20 Jun 2013 09:10:19 +0000 (09:10 +0000)]
symbols should be in the startup snapshot

R=svenpanne@chromium.org
BUG=

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

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

11 years agoIntroduce Type::Intersect function
rossberg@chromium.org [Thu, 20 Jun 2013 09:10:10 +0000 (09:10 +0000)]
Introduce Type::Intersect function

Also, fix bugs in Type::Union and Type::Maybe.

(This subsumes the in-flight fix for Union in https://codereview.chromium.org/16925008/, including test cases).

R=svenpanne@chromium.org
BUG=

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

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

11 years agoDirectly use C++ builtin of ArrayPush for String.prototype.split.
yangguo@chromium.org [Thu, 20 Jun 2013 08:13:21 +0000 (08:13 +0000)]
Directly use C++ builtin of ArrayPush for String.prototype.split.

R=svenpanne@chromium.org
BUG=v8:2737

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

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

11 years agoremove all old style callbacks - patch 1 of many
dcarney@chromium.org [Thu, 20 Jun 2013 08:12:59 +0000 (08:12 +0000)]
remove all old style callbacks - patch 1 of many

R=svenpanne@chromium.org
BUG=

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

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

11 years agoremove all old style callbacks - patch 2
dcarney@chromium.org [Thu, 20 Jun 2013 08:07:45 +0000 (08:07 +0000)]
remove all old style callbacks - patch 2

R=svenpanne@chromium.org
BUG=

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

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

11 years agoIntroduce THREADED_PROFILED_TEST macro
yurys@chromium.org [Thu, 20 Jun 2013 06:46:56 +0000 (06:46 +0000)]
Introduce THREADED_PROFILED_TEST macro

A bunch of tests in test-api.cc need to be executed two times: with CPU profiler on and off to check different code paths. There are only two such tests at the moment but I'm going to add more and having this logic duplicated in all these tests look awkward. The tests are executed as part of Threading* tests and there is no much sense in running CPU profiler in that case. This change addresses both problems by introducing THREADED_PROFILED_TEST macro which mosly resembles THREADED_TEST except that when such test is executed as a standalone test (not part of a test-api/Threading*) it will first run the test normally and the start CPU profiler and run the test again.

BUG=244580
R=svenpanne@chromium.org

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

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

11 years agoFix data race in v8::internal::UnboundQueue
yurys@chromium.org [Thu, 20 Jun 2013 06:23:34 +0000 (06:23 +0000)]
Fix data race in v8::internal::UnboundQueue

This change modifies memory accesses to ensure proper load/store ordering.

BUG=249750
R=dvyukov@google.com, jkummerow@chromium.org

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

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

11 years agoNuke OS::ReleaseStore, use Release_Store instead
yurys@chromium.org [Thu, 20 Jun 2013 06:16:24 +0000 (06:16 +0000)]
Nuke OS::ReleaseStore, use Release_Store instead

The operation is already implemented in atomicops.h No need to duplicate the code.

BUG=None
R=svenpanne@chromium.org

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

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

11 years agoFix typo in #undef parameter
yurys@chromium.org [Thu, 20 Jun 2013 06:13:03 +0000 (06:13 +0000)]
Fix typo in #undef parameter

BUG=None
R=svenpanne@chromium.org

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

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

11 years agoFix using monomorphic store instruction for polymorphic stores.
verwaest@chromium.org [Wed, 19 Jun 2013 18:07:35 +0000 (18:07 +0000)]
Fix using monomorphic store instruction for polymorphic stores.

R=jkummerow@chromium.org

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

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

11 years agoMIPS: Fix test-cpu-profiler/SampleWhenFrameIsNotSetup flakiness on MIPS simulator.
plind44@gmail.com [Wed, 19 Jun 2013 17:20:25 +0000 (17:20 +0000)]
MIPS: Fix test-cpu-profiler/SampleWhenFrameIsNotSetup flakiness on MIPS simulator.

BUG=v8:2628

TEST=cctest/test-cpu-profiler/SampleWhenFrameIsNotSetup
R=jkummerow@chromium.org, yurys@chromium.org

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

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

11 years agoMIPS: Fix cctest/test-assembler-mips on MIPS32R1 architecture.
plind44@gmail.com [Wed, 19 Jun 2013 17:15:21 +0000 (17:15 +0000)]
MIPS: Fix cctest/test-assembler-mips on MIPS32R1 architecture.

TEST=cctest/test-assembler-mips/MIPS3

BUG=
R=jkummerow@chromium.org

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Use type feedback for Array (non-constructor) call sites.
plind44@gmail.com [Wed, 19 Jun 2013 17:08:46 +0000 (17:08 +0000)]
MIPS: Use type feedback for Array (non-constructor) call sites.

Port r15201 (8c56d50)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoLower limit for external allocation and improve tracing.
mstarzinger@chromium.org [Wed, 19 Jun 2013 17:01:43 +0000 (17:01 +0000)]
Lower limit for external allocation and improve tracing.

R=hpayer@chromium.org

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

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

11 years agoDeprecate old code aging mechanism.
mstarzinger@chromium.org [Wed, 19 Jun 2013 17:00:01 +0000 (17:00 +0000)]
Deprecate old code aging mechanism.

The old code aging mechanism is too agressive with flushing as it leads
to many functions being flushed and recompiled over and over again. By
now the new code aging mechanism has stabilized enough to deprecate the
old fallback mechanism.

R=danno@chromium.org

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

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

11 years agoRemove unused counters
jkummerow@chromium.org [Wed, 19 Jun 2013 16:50:38 +0000 (16:50 +0000)]
Remove unused counters

R=mstarzinger@chromium.org

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

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

11 years agoBugfix in hydrogen array literal code generation.
mvstanton@chromium.org [Wed, 19 Jun 2013 13:48:50 +0000 (13:48 +0000)]
Bugfix in hydrogen array literal code generation.

If an array literal contains some non-constant elements, is of type SMI, and
then the boilerplate transitions to double or fast sometime after we've
crankshafted the code, then we could incorrectly store smis in double arrays.

BUG=
R=yangguo@chromium.org

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

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

11 years agoAvoid relying on monkey-patchable things in String.prototype.split.
svenpanne@chromium.org [Wed, 19 Jun 2013 12:25:40 +0000 (12:25 +0000)]
Avoid relying on monkey-patchable things in String.prototype.split.

R=yangguo@chromium.org

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

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

11 years agoDo not use weak handles for ArrayBuffers.
dslomov@chromium.org [Wed, 19 Jun 2013 11:53:30 +0000 (11:53 +0000)]
Do not use weak handles for ArrayBuffers.
Instead of allocating weak handles to free ArrayBuffer backing store, dispose of memory while walking the weak list of ArrayBuffers on GC.

Also, free all array buffers on isolate tear-down.

R=mstarzinger@chromium.org

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

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

11 years agoAlways reset allowed OSR nesting level when reverting interrupt code patches.
jkummerow@chromium.org [Wed, 19 Jun 2013 09:38:28 +0000 (09:38 +0000)]
Always reset allowed OSR nesting level when reverting interrupt code patches.

Also, --trap-on-deopt should only affect optimized functions, not hydrogen stubs.

R=yangguo@chromium.org

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

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

11 years agox64: LAddI must use LEAL, not LEAQ
jkummerow@chromium.org [Wed, 19 Jun 2013 09:36:38 +0000 (09:36 +0000)]
x64: LAddI must use LEAL, not LEAQ

R=danno@chromium.org

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

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

11 years agoFix test for bots that force --parallel-recompilation as shell flag.
yangguo@chromium.org [Wed, 19 Jun 2013 09:32:05 +0000 (09:32 +0000)]
Fix test for bots that force --parallel-recompilation as shell flag.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoUse type feedback for Array (non-constructor) call sites.
mvstanton@chromium.org [Wed, 19 Jun 2013 09:25:24 +0000 (09:25 +0000)]
Use type feedback for Array (non-constructor) call sites.

BUG=
R=verwaest@chromium.org

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

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

11 years agoRemoved ReplaceResultBuilder.
svenpanne@chromium.org [Wed, 19 Jun 2013 08:59:56 +0000 (08:59 +0000)]
Removed ReplaceResultBuilder.

Most of its code was dead, and the remaining part was a simple
one-liner, which is now inlined at its single call-site.

R=yangguo@chromium.org

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

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

11 years agoDisable stress_compaction flag in several GC tests to meet test
hpayer@chromium.org [Wed, 19 Jun 2013 08:58:09 +0000 (08:58 +0000)]
Disable stress_compaction flag in several GC tests to meet test
expectations.

BUG=
R=mstarzinger@chromium.org

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

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