platform/upstream/v8.git
11 years agoMIPS: Additional work to get array literal allocation tracking working, even with...
mvstanton@chromium.org [Mon, 21 Jan 2013 08:30:11 +0000 (08:30 +0000)]
MIPS: Additional work to get array literal allocation tracking working, even with --always-opt

Port r13406 (796a9f11)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12026002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.16.7.
yangguo@chromium.org [Fri, 18 Jan 2013 16:28:45 +0000 (16:28 +0000)]
Prepare push to trunk.  Now working on version 3.16.7.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDe-dupe test/mozilla/mozilla.status
jkummerow@chromium.org [Fri, 18 Jan 2013 15:01:53 +0000 (15:01 +0000)]
De-dupe test/mozilla/mozilla.status

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

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

11 years agotools/run-tests.py: Fixes for Windows
jkummerow@chromium.org [Fri, 18 Jan 2013 14:55:23 +0000 (14:55 +0000)]
tools/run-tests.py: Fixes for Windows

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

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

11 years agoTemporarily disable deferred stack trace formatting.
yangguo@chromium.org [Fri, 18 Jan 2013 13:05:03 +0000 (13:05 +0000)]
Temporarily disable deferred stack trace formatting.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agotools/runtests.py: Fix cctests on Windows; properly return error code when there...
jkummerow@chromium.org [Fri, 18 Jan 2013 12:44:36 +0000 (12:44 +0000)]
tools/runtests.py: Fix cctests on Windows; properly return error code when there were Python exceptions

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

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

11 years agoRemove redundant check in LCodeGen::DoBoundsCheck
ulan@chromium.org [Fri, 18 Jan 2013 12:38:42 +0000 (12:38 +0000)]
Remove redundant check in LCodeGen::DoBoundsCheck

R=verwaest@chromium.org

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

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

11 years agoFix test harness to accept camel-case modes.
mstarzinger@chromium.org [Fri, 18 Jan 2013 12:20:59 +0000 (12:20 +0000)]
Fix test harness to accept camel-case modes.

R=jkummerow@chromium.org

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

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

11 years agoMIPS: Fix wrong asserts in SeqStringSetCharGenerator.
yangguo@chromium.org [Fri, 18 Jan 2013 10:54:24 +0000 (10:54 +0000)]
MIPS: Fix wrong asserts in SeqStringSetCharGenerator.

This commit fixes wrong asserts in commit r13230 (1929bb68).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11943003
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize
jkummerow@chromium.org [Fri, 18 Jan 2013 10:10:36 +0000 (10:10 +0000)]
MIPS: Don't emit code for instructions that are hiding behind an HSoftDeoptimize

Port r13412 (36df819b)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12022005
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoDon't insert HDummyUses for control instructions
jkummerow@chromium.org [Fri, 18 Jan 2013 09:19:11 +0000 (09:19 +0000)]
Don't insert HDummyUses for control instructions

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

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

11 years agoMIPS: Fix if condition in DoTransitionElementsKind.
danno@chromium.org [Fri, 18 Jan 2013 08:53:11 +0000 (08:53 +0000)]
MIPS: Fix if condition in DoTransitionElementsKind.

This commit fixes a couple of mjsunit test failures in debug mode,
which were introduced by commit r11636 (fe0c6bbe).

BUG=
TEST=

Review URL: https://codereview.chromium.org/11941004
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMake the Isolate parameter mandatory in Locker and Unlocker classes.
svenpanne@chromium.org [Fri, 18 Jan 2013 07:20:17 +0000 (07:20 +0000)]
Make the Isolate parameter mandatory in Locker and Unlocker classes.

Note that leaving out the Isolate parameter previously had a very special
meaning, namely "use the *default* Isolate", i.e. the one magically created at
program initialization time. All other API entries use the meaning "current
Isolate", which is different in a multi-threaded setting and confusing.

Temporarily disabled deprecations until Chrome is ready.

BUG=v8:2487

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

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

11 years agoRevert r13409 ("Make the array bounds check elimination phase optional (and set the...
mmassi@chromium.org [Thu, 17 Jan 2013 16:09:08 +0000 (16:09 +0000)]
Revert r13409 ("Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).") because of a crash in octane/mandreel.

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

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

11 years agoAdd a percentage to each metric in the V8 timeline plot
yangguo@chromium.org [Thu, 17 Jan 2013 15:29:36 +0000 (15:29 +0000)]
Add a percentage to each metric in the V8 timeline plot

With the percentage, we can easily figure out how much execution time is spent in what metric.

c.f. https://docs.google.com/a/google.com/file/d/0B7GPzKNdEGeQU04ySy1qOWNuLWs/edit

BUG=

Review URL: https://chromiumcodereview.appspot.com/11975045
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoFix the xrange calculation of the V8 timeline plot
yangguo@chromium.org [Thu, 17 Jan 2013 14:45:58 +0000 (14:45 +0000)]
Fix the xrange calculation of the V8 timeline plot

Currently an xrange is calculated by V8.Execution. This would be fine for JavaScript benchmarks in which everything happens inside of V8.Execution. On the other hand, in Chrome profiling, events can happen outside of V8.Execution. To visualize such outside events, we need to calculate an xrange so that the xrange covers all events.

BUG=

Review URL: https://chromiumcodereview.appspot.com/11973028
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoRemove some unnecessary use of templates.
yangguo@chromium.org [Thu, 17 Jan 2013 14:31:03 +0000 (14:31 +0000)]
Remove some unnecessary use of templates.

R=dcarney@chromium.org
BUG=

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

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

11 years agoDon't emit code for instructions that are hiding behind an HSoftDeoptimize
jkummerow@chromium.org [Thu, 17 Jan 2013 14:07:47 +0000 (14:07 +0000)]
Don't emit code for instructions that are hiding behind an HSoftDeoptimize

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

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

11 years agoRecently I tried to debug CPU profiling on Chrome.
jkummerow@chromium.org [Thu, 17 Jan 2013 13:48:27 +0000 (13:48 +0000)]
Recently I tried to debug CPU profiling on Chrome.

I've found that profiling is not working in Debug version.
The actual problem is that sandbox/playgroung configuration is wrong and tgkill syscalls are disallowed.

This patch will make such cases more clear.

Review URL: https://codereview.chromium.org/11961037
Patch from Eugene Klyuchnikov <eustas@chromium.org>.

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

11 years agoOptimize the emitted instruction of random function for X64
jkummerow@chromium.org [Thu, 17 Jan 2013 13:38:08 +0000 (13:38 +0000)]
Optimize the emitted instruction of random function for X64

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

Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

11 years agoMake the array bounds check elimination phase optional (and set the foundation for...
mmassi@chromium.org [Thu, 17 Jan 2013 12:39:16 +0000 (12:39 +0000)]
Make the array bounds check elimination phase optional (and set the foundation for introducing SSI in a simple way).

BUG=

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

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

11 years agoAllow miss in GENERIC keyed load/store.
verwaest@chromium.org [Thu, 17 Jan 2013 12:28:37 +0000 (12:28 +0000)]
Allow miss in GENERIC keyed load/store.

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

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

11 years agoRemove unused methods about Node::class_id_
mstarzinger@chromium.org [Thu, 17 Jan 2013 10:42:17 +0000 (10:42 +0000)]
Remove unused methods about Node::class_id_

BUG=

Review URL: https://codereview.chromium.org/11983002
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoAdditional work to get array literal allocation tracking working, even with --always-opt
mvstanton@chromium.org [Thu, 17 Jan 2013 08:41:27 +0000 (08:41 +0000)]
Additional work to get array literal allocation tracking working, even with --always-opt

BUG=

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

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

11 years agoInline SetWrapperClassId() and WrapperClassId()
mstarzinger@chromium.org [Wed, 16 Jan 2013 16:33:09 +0000 (16:33 +0000)]
Inline SetWrapperClassId() and WrapperClassId()

BUG=
TEST=test-api.cc (WrapperClassId)

Review URL: https://codereview.chromium.org/11961014
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoRemove support for Live Object List and inspector module.
yangguo@chromium.org [Wed, 16 Jan 2013 15:44:26 +0000 (15:44 +0000)]
Remove support for Live Object List and inspector module.

These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while.  Test cases do not exist.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoAdd missing VMState(EXTERNAL) for DOM GC callbacks
yangguo@chromium.org [Wed, 16 Jan 2013 15:16:31 +0000 (15:16 +0000)]
Add missing VMState(EXTERNAL) for DOM GC callbacks

BUG=

Review URL: https://chromiumcodereview.appspot.com/11958011
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoSeparate MEGAMORPHIC and GENERIC ic states
verwaest@chromium.org [Wed, 16 Jan 2013 15:02:58 +0000 (15:02 +0000)]
Separate MEGAMORPHIC and GENERIC ic states

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

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

11 years agoCheck that FPU TOP register is zero and clear all exceptions instead of using fninit,
ulan@chromium.org [Wed, 16 Jan 2013 14:54:19 +0000 (14:54 +0000)]
Check that FPU TOP register is zero and clear all exceptions instead of using fninit,
which causes performance regression on Windows.

BUG=168370
R=danno@chromium.org

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

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

11 years agoCleanup latin-1 conversion check in regexp engine
yangguo@chromium.org [Wed, 16 Jan 2013 13:04:07 +0000 (13:04 +0000)]
Cleanup latin-1 conversion check in regexp engine

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11880045
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemove some ascii checks in advance of latin-1 release
yangguo@chromium.org [Wed, 16 Jan 2013 12:52:27 +0000 (12:52 +0000)]
Remove some ascii checks in advance of latin-1 release

BUG=

Review URL: https://chromiumcodereview.appspot.com/11880017
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoAvoid pointer underflow in CopyCharsUnsigned.
yangguo@chromium.org [Wed, 16 Jan 2013 12:27:38 +0000 (12:27 +0000)]
Avoid pointer underflow in CopyCharsUnsigned.

R=dcarney@chromium.org
BUG=v8:2493

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

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

11 years agoImplement Context::GetIsolate()
svenpanne@chromium.org [Wed, 16 Jan 2013 12:11:43 +0000 (12:11 +0000)]
Implement Context::GetIsolate()

BUG=
TEST=test-api.cc (IsolateOfContext)

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

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

11 years agoRevert "Optimize the emitted instruction of random function for X64"
jkummerow@chromium.org [Wed, 16 Jan 2013 11:45:08 +0000 (11:45 +0000)]
Revert "Optimize the emitted instruction of random function for X64"

This reverts r13393.

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

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

11 years agoMIPS: Some more instrumentation to narrow down Failure leaks.
jkummerow@chromium.org [Wed, 16 Jan 2013 10:50:01 +0000 (10:50 +0000)]
MIPS: Some more instrumentation to narrow down Failure leaks.

Port r13341 (673c3243)

Original commit message:
The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11972002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoRecord vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on...
jkummerow@chromium.org [Wed, 16 Jan 2013 10:46:34 +0000 (10:46 +0000)]
Record vdso and vsyscall as shared libraries in OS::LogSharedLibraryAddresses on Linux

Review URL: https://codereview.chromium.org/11879036
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoOptimize the emitted instruction of random function for X64
jkummerow@chromium.org [Wed, 16 Jan 2013 10:35:24 +0000 (10:35 +0000)]
Optimize the emitted instruction of random function for X64

Review URL: https://codereview.chromium.org/11852007
Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

11 years agoGenerate shim headers when using system v8.
jkummerow@chromium.org [Wed, 16 Jan 2013 10:16:46 +0000 (10:16 +0000)]
Generate shim headers when using system v8.

BUG=chromium:165264

Review URL: https://codereview.chromium.org/11642006
Patch from PaweÅ‚ Hajdan Jr. <phajdan.jr@chromium.org>.

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

11 years agoInline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()
mstarzinger@chromium.org [Wed, 16 Jan 2013 10:10:53 +0000 (10:10 +0000)]
Inline MarkIndependent(), MarkPartiallyDependent(), IsIndependent()

TEST=test-api.cc (IndependentWeakHandle, ApiObjectGroupsCycleForScavenger)

Review URL: https://codereview.chromium.org/11879044
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoMIPS: Remove move ascii data hint for one byte strings
yangguo@chromium.org [Wed, 16 Jan 2013 10:05:15 +0000 (10:05 +0000)]
MIPS: Remove move ascii data hint for one byte strings

Port r13375 (198859e8)

Original commit message:
This is mostly a rollback of r12966 [Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11969004
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
yangguo@chromium.org [Wed, 16 Jan 2013 10:00:31 +0000 (10:00 +0000)]
MIPS: Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.

Port r13344 (e5638dd9)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11971003
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoFix arguments materialization for inlined apply().
mstarzinger@chromium.org [Wed, 16 Jan 2013 09:25:45 +0000 (09:25 +0000)]
Fix arguments materialization for inlined apply().

This fixes materialization of the arguments object in case the constant
function check if TryCallApply() inside an inlined frame fails.

R=svenpanne@chromium.org
BUG=v8:2489
TEST=mjsunit/regress/regress-2489

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

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

11 years agoAdd some runtime checks to MayNamedAccess
svenpanne@chromium.org [Wed, 16 Jan 2013 08:54:04 +0000 (08:54 +0000)]
Add some runtime checks to MayNamedAccess

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11877027
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoPack GlobalHandles::Node::state_ and three flags into uint8_t
mstarzinger@chromium.org [Tue, 15 Jan 2013 10:26:48 +0000 (10:26 +0000)]
Pack GlobalHandles::Node::state_ and three flags into uint8_t

TEST=test-api.cc (ApiObjectGroupsCycle, ApiObjectGroupsCycleForScavenger, IndependentWeakHandle)

Review URL: https://codereview.chromium.org/11875015
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoSync laziness between BuildFunctionInfo and MakeFunctionInfo.
yangguo@chromium.org [Tue, 15 Jan 2013 10:16:52 +0000 (10:16 +0000)]
Sync laziness between BuildFunctionInfo and MakeFunctionInfo.

BuildFunctionInfo compiles the function eagerly when there are debug
break points. However, the AST may have been parsed lazily since
MakeFunctionInfo does not check for debug break points.

This fixes a regression introduced in r11866.

BUG=147497

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

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

11 years agoFix windows build wrt symbol export.
yangguo@chromium.org [Tue, 15 Jan 2013 10:04:18 +0000 (10:04 +0000)]
Fix windows build wrt symbol export.

R=dcarney@chromium.org
BUG=

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

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

11 years agoAdd sanity check to CodeFlusher::AddCandidate.
mstarzinger@chromium.org [Tue, 15 Jan 2013 10:00:48 +0000 (10:00 +0000)]
Add sanity check to CodeFlusher::AddCandidate.

R=hpayer@chromium.org
BUG=chromium:169209

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.6.
yangguo@chromium.org [Tue, 15 Jan 2013 09:30:04 +0000 (09:30 +0000)]
Prepare push to trunk.  Now working on version 3.16.6.

R=ulan@chromium.org
BUG=

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

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

11 years agoAdd back ascii fast path for toupper/tolower
yangguo@chromium.org [Tue, 15 Jan 2013 09:22:14 +0000 (09:22 +0000)]
Add back ascii fast path for toupper/tolower

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11889007
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemove move ascii data hint for one byte strings
yangguo@chromium.org [Mon, 14 Jan 2013 15:17:56 +0000 (15:17 +0000)]
Remove move ascii data hint for one byte strings

This is mostly a rollback of r12966
[Make kAsciiDataHintTag have correct semantics for all both 1 and 2 byte string types.]

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11857015
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoRemoved deprecated functions from v8's external API.
svenpanne@chromium.org [Mon, 14 Jan 2013 13:41:08 +0000 (13:41 +0000)]
Removed deprecated functions from v8's external API.

Removed the following deprecated functions:

   * Object::GetPointerFromInternalField
   * Object::SetPointerInInternalField
   * External::Wrap
   * External::Unwrap
   * Context::GetData
   * Context::SetData

They have been deprecated in the 3.15 branch and are not used by Chrome anymore.
Furthermore, judging from bug reports and email threads, embedders like node.js
and others are already using 3.15, too. All removed API entries can be emulated
by a one-liner, so adapting should not be hard for anybody.

We want to introduce more deprecations soon, but to keep things simple and avoid
having old and not-so-old deprecations in v8.h, the 3.15 deprecations are now
removed.

In general, the strategy of keeping deprecated things for one stable release and
then removing them seems to be a good compromise between a maintenance nightmare
and annoying external embedders. :-)

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

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

11 years agoReland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).
yangguo@chromium.org [Mon, 14 Jan 2013 13:19:27 +0000 (13:19 +0000)]
Reland r13188, r13194, r13256 (Deferred formatting of error stack trace during GC).

BUG=

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

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

11 years agoThe time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured...
mstarzinger@chromium.org [Mon, 14 Jan 2013 12:59:41 +0000 (12:59 +0000)]
The time spent in GCPrologue callbacks and GCEpilogue callbacks should be measured as EXTERNAL time

BUG=

Review URL: https://codereview.chromium.org/11817044
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoPrepare API for webkit use of Latin-1
yangguo@chromium.org [Mon, 14 Jan 2013 11:22:05 +0000 (11:22 +0000)]
Prepare API for webkit use of Latin-1

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11852019
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoFix problem with NULL handle in r13367.
mstarzinger@chromium.org [Mon, 14 Jan 2013 10:59:00 +0000 (10:59 +0000)]
Fix problem with NULL handle in r13367.

R=svenpanne@chromium.org
BUG=chromium:169723

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

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

11 years agoFix unhandlified value in GetOwnProperty function.
mstarzinger@chromium.org [Mon, 14 Jan 2013 10:21:22 +0000 (10:21 +0000)]
Fix unhandlified value in GetOwnProperty function.

R=svenpanne@chromium.org
BUG=chromium:169723

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

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

11 years agoWe can't print the AST or the source for stubs.
svenpanne@chromium.org [Mon, 14 Jan 2013 08:36:38 +0000 (08:36 +0000)]
We can't print the AST or the source for stubs.

BUG=v8:2486

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

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

11 years agoConsistently use V8EXPORT on all classes and not on individual methods.
svenpanne@chromium.org [Mon, 14 Jan 2013 07:30:13 +0000 (07:30 +0000)]
Consistently use V8EXPORT on all classes and not on individual methods.

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.5.
yangguo@chromium.org [Fri, 11 Jan 2013 14:49:30 +0000 (14:49 +0000)]
Prepare push to trunk.  Now working on version 3.16.5.

R=ulan@chromium.org
BUG=

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

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

11 years agoFix shared function info code replacement.
mstarzinger@chromium.org [Fri, 11 Jan 2013 13:13:11 +0000 (13:13 +0000)]
Fix shared function info code replacement.

This fixes a corner case when the unoptimized code for a shared function
info is replaced while the function is enqueued as a flushing candidate.
Since the link field is stored within the code object, the candidates
list got destroyed.

R=hpayer@chromium.org
BUG=v8:169209
TEST=cctest/test-heap/Regress169209

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

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

11 years agoMake v8 handle OOM during Heap construction more gracefully.
svenpanne@chromium.org [Thu, 10 Jan 2013 15:53:11 +0000 (15:53 +0000)]
Make v8 handle OOM during Heap construction more gracefully.

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

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

11 years agoBetter --trace-ic output for UnaryOpICs, matching other IC types
jkummerow@chromium.org [Thu, 10 Jan 2013 14:35:06 +0000 (14:35 +0000)]
Better --trace-ic output for UnaryOpICs, matching other IC types

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

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

11 years agoAdd non-ASCII support to d8's read() function
jkummerow@chromium.org [Thu, 10 Jan 2013 14:27:45 +0000 (14:27 +0000)]
Add non-ASCII support to d8's read() function

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

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

11 years agoMake recent regression test resilient against GC stress.
mstarzinger@chromium.org [Thu, 10 Jan 2013 14:21:27 +0000 (14:21 +0000)]
Make recent regression test resilient against GC stress.

R=danno@chromium.org
TEST=mjsunit/regress/regress-165637

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

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

11 years agoCombine DEBUG_BREAK and DEBUG_PREPARE_STEP_IN into one IC stub kind DEBUG_STUB, encod...
verwaest@chromium.org [Thu, 10 Jan 2013 14:15:12 +0000 (14:15 +0000)]
Combine DEBUG_BREAK and DEBUG_PREPARE_STEP_IN into one IC stub kind DEBUG_STUB, encoding DEBUG_BREAK and DEBUG_PREPARE_STEP_IN as extra ic state.

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

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

11 years agoFix missing exception check in typed array constructor (2).
mstarzinger@chromium.org [Thu, 10 Jan 2013 11:45:29 +0000 (11:45 +0000)]
Fix missing exception check in typed array constructor (2).

This fixes another crash when the the typed array constructor accesses
an array that has a throwing accessor defined on one of it's elements.

R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js

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

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

11 years agoFix objectprint=on build.
yangguo@chromium.org [Wed, 9 Jan 2013 16:34:45 +0000 (16:34 +0000)]
Fix objectprint=on build.

R=dcarney@chromium.org
BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.4.
jkummerow@chromium.org [Wed, 9 Jan 2013 16:13:05 +0000 (16:13 +0000)]
Prepare push to trunk.  Now working on version 3.16.4.

R=yangguo@chromium.org

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

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

11 years agoContinues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.
yangguo@chromium.org [Wed, 9 Jan 2013 15:47:53 +0000 (15:47 +0000)]
Continues Latin-1 support. All tests pass with ENABLE_LATIN_1 flag.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11818025
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoFilter old space and large object space to new space references when moving parts...
hpayer@chromium.org [Wed, 9 Jan 2013 14:01:39 +0000 (14:01 +0000)]
Filter old space and large object space to new space references when moving parts of a FixedArray.

BUG=v8:2452

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

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

11 years agoMIPS: Emit madd.d for multiply-add on MIPS.
yangguo@chromium.org [Wed, 9 Jan 2013 12:31:34 +0000 (12:31 +0000)]
MIPS: Emit madd.d for multiply-add on MIPS.

Based on commit r12958 (04586adf).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11783049
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoSome more instrumentation to narrow down Failure leaks.
jkummerow@chromium.org [Wed, 9 Jan 2013 12:29:06 +0000 (12:29 +0000)]
Some more instrumentation to narrow down Failure leaks.

The basic idea is to tag OOM-Failure objects with an ID indicating where they were created. This requires changes to equality comparisons.

Note to MIPS folks: I'm planning to revert this CL in a couple of days, so feel free to skip porting the platform-specific changes.

BUG=chromium:156010

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

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

11 years agoIntroduce ENABLE_LATIN_1 compile flag
yangguo@chromium.org [Wed, 9 Jan 2013 10:30:54 +0000 (10:30 +0000)]
Introduce ENABLE_LATIN_1 compile flag

Mostly a bunch of renaming when flag is disabled.

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11759008
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoMIPS: Adapt Danno's Track Allocation Info idea to fast literals.
mvstanton@chromium.org [Wed, 9 Jan 2013 10:12:56 +0000 (10:12 +0000)]
MIPS: Adapt Danno's Track Allocation Info idea to fast literals.

Port r13330 (6d9ce8a8)

Original commit message:
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array, we store an AllocationSiteInfo object right after the JSArray, with a pointer to the boilerplate object. Later, if the array transitions we check for the continued existence of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to transition the boilerplate array as well.

Danno's original changeset: https://codereview.chromium.org/10615002/

BUG=
TEST=

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

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

11 years agoMIPS: Fix typo in commit r13326 (f8c9bf84).
yangguo@chromium.org [Wed, 9 Jan 2013 09:40:00 +0000 (09:40 +0000)]
MIPS: Fix typo in commit r13326 (f8c9bf84).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11824015
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoAdded %FlattenString and use it to speed up a regression test.
svenpanne@chromium.org [Wed, 9 Jan 2013 09:32:12 +0000 (09:32 +0000)]
Added %FlattenString and use it to speed up a regression test.

Flattening strings is relatively costly and by doing it after every duplication
we avoid combinatorial explosion.

Note that flattening could have been done by e.g. using a regular expression,
too, but this is just another implementation detail and %FlattenString seems
general enough to be useful in other tests, too.

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

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

11 years agoMIPS: Generalize calling to C++ on stub deopt
danno@chromium.org [Wed, 9 Jan 2013 08:43:36 +0000 (08:43 +0000)]
MIPS: Generalize calling to C++ on stub deopt

Port r13320 (916d70a6)

Original commit message:
Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11783046
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoFix nosse2 crash introduced by r13320
danno@chromium.org [Tue, 8 Jan 2013 16:21:39 +0000 (16:21 +0000)]
Fix nosse2 crash introduced by r13320

R=jkummerow@chromium.org

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

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

11 years agoOnly enable MinGW-w64 pow() workaround if needed
yangguo@chromium.org [Tue, 8 Jan 2013 15:32:40 +0000 (15:32 +0000)]
Only enable MinGW-w64 pow() workaround if needed

The pow() workaround is no longer needed in the latest version of
MinGW-w64.

Contributed by net147@gmail.com

BUGS=
TEST=mjsunit/math-pow,mjsunit/math-sqrt

Review URL: https://chromiumcodereview.appspot.com/11748033
Patch from Jonathan Liu <net147@gmail.com>.

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

11 years agoEnable readline on d8 while building a shared lib.
yangguo@chromium.org [Tue, 8 Jan 2013 15:24:17 +0000 (15:24 +0000)]
Enable readline on d8 while building a shared lib.

This patch enables readline on d8 except for completion support.
It sould be useful enough for history and line editing.

This is related to V8's issue 1781 (http://code.google.com/p/v8/issues/detail?id=1781), not chromium's.

BUG=1781

Review URL: https://chromiumcodereview.appspot.com/11776017
Patch from Luis Reis <luis.m.reis@gmail.com>.

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

11 years agoUse POLYMORPHIC for polymorphic Keyed(Load|Store)IC
verwaest@chromium.org [Tue, 8 Jan 2013 12:01:51 +0000 (12:01 +0000)]
Use POLYMORPHIC for polymorphic Keyed(Load|Store)IC

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

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

11 years agoTest fix: missing check for JSArray.
mvstanton@chromium.org [Tue, 8 Jan 2013 10:22:12 +0000 (10:22 +0000)]
Test fix: missing check for JSArray.

BUG=

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

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

11 years agoAdapt Danno's Track Allocation Info idea to fast literals. When allocating a literal...
mvstanton@chromium.org [Tue, 8 Jan 2013 09:03:16 +0000 (09:03 +0000)]
Adapt Danno's Track Allocation Info idea to fast literals. When allocating a literal array,
we store an AllocationSiteInfo object right after the JSArray, with a pointer to the
boilerplate object. Later, if the array transitions we check for the continued existence
of the temporary AllocationSiteInfo object (has no roots). If found, we'll use it to
transition the boilerplate array as well.

Danno's original changeset: https://codereview.chromium.org/10615002/

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

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

11 years agoIntroduce POLYMORPHIC
verwaest@chromium.org [Mon, 7 Jan 2013 15:36:26 +0000 (15:36 +0000)]
Introduce POLYMORPHIC

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

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

11 years agoSlight cleanup of UpdateCache code.
verwaest@chromium.org [Mon, 7 Jan 2013 15:35:00 +0000 (15:35 +0000)]
Slight cleanup of UpdateCache code.

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

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

11 years agoEnvironment bookkeping has linear time complexity now, not a quadratic one.
svenpanne@chromium.org [Mon, 7 Jan 2013 15:28:20 +0000 (15:28 +0000)]
Environment bookkeping has linear time complexity now, not a quadratic one.

This reduces the time take for mjsunit/limit-locals from 56.8s to 15.1s in debug
mode and from 12.0s to 1.6s in release mode.

Note that GrowableBitVector and BitVector should really be merged, and probably
have their allocation strategy parmeterized. The current state of affairs
involving tons of checks and delegation is extremely ugly, and it is far from
clear if all that special casing is a clear win. STL FTW! :-P

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

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

11 years agoUse C++ style type casts.
yangguo@chromium.org [Mon, 7 Jan 2013 15:02:56 +0000 (15:02 +0000)]
Use C++ style type casts.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoFix missing exception check in typed array constructor.
mstarzinger@chromium.org [Mon, 7 Jan 2013 14:01:04 +0000 (14:01 +0000)]
Fix missing exception check in typed array constructor.

The typed array constructor might fail if the first argument is an
object with a length property. Accessing the property can cause an
exception to be thrown and an explicit check needs to be performed.

R=verwaest@chromium.org
BUG=chromium:168545
TEST=mjsunit/regress/regress-crbug-168545.js

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

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

11 years agoCheck interceptor before optimizing load/store
verwaest@chromium.org [Mon, 7 Jan 2013 12:14:36 +0000 (12:14 +0000)]
Check interceptor before optimizing load/store

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

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

11 years agoMIPS: Elide unnecessary context reload in generated stubs.
danno@chromium.org [Mon, 7 Jan 2013 10:23:30 +0000 (10:23 +0000)]
MIPS: Elide unnecessary context reload in generated stubs.

Port r13290 (6970ca83)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11773013
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Re-land Crankshaft-generated KeyedLoad stubs.
danno@chromium.org [Mon, 7 Jan 2013 10:18:25 +0000 (10:18 +0000)]
MIPS: Re-land Crankshaft-generated KeyedLoad stubs.

Port r13236 (cd9236c5)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11801002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of...
danno@chromium.org [Mon, 7 Jan 2013 10:10:38 +0000 (10:10 +0000)]
MIPS: Remove redundant loads in DoCheckMaps Hoist the loop-invariant load out of the loop and call the other CheckMap function

Port r13253 (5af29105)

BUG=
TEST=

Review URL: https://codereview.chromium.org/11784014
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoGeneralize calling to C++ on stub deopt
danno@chromium.org [Mon, 7 Jan 2013 10:06:11 +0000 (10:06 +0000)]
Generalize calling to C++ on stub deopt

Remove code specific to KeyedLoadICs in DoCompiledStubFrame on all platforms, driving stub frame translation by the register parameter information found in a stub's CodeStubInterfaceDescriptor.

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

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

11 years agoAdd ARM support to tools/grokdump.py
ulan@chromium.org [Mon, 7 Jan 2013 09:48:04 +0000 (09:48 +0000)]
Add ARM support to tools/grokdump.py

R=svenpanne@chromium.org

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

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

11 years agoARM: generate integer zero in a uniform manner.
ulan@chromium.org [Mon, 7 Jan 2013 09:43:12 +0000 (09:43 +0000)]
ARM: generate integer zero in a uniform manner.

ARM generated integer zero as either Operand(0, RelocInfo::NONE32), or
Operand(0), or Operand::Zero(). My change makes it use only
Operand::Zero().

This has no functional impact, it's pure cleanup.

R= ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11745030
Patch from JF Bastien <jfb@chromium.org>.

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

11 years agoUse RelocInfo::IsNone in a few more places.
ulan@chromium.org [Mon, 7 Jan 2013 09:15:25 +0000 (09:15 +0000)]
Use RelocInfo::IsNone in a few more places.

I had missed some earlier.

Followup to:
https://chromiumcodereview.appspot.com/11695006/

There are now NONE and NONE64 RelocInfo types, but only ARM uses them
both at the same time. They were added in:
https://chromiumcodereview.appspot.com/11191029/

R= ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/11742045
Patch from JF Bastien <jfb@chromium.org>.

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

11 years agoMIPS: Fix ARM code for DoModI.
yangguo@chromium.org [Mon, 7 Jan 2013 08:58:52 +0000 (08:58 +0000)]
MIPS: Fix ARM code for DoModI.

Port r13247 (4dda8131)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11782009
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Enable type feedback for branch statement and function call
ulan@chromium.org [Mon, 7 Jan 2013 08:49:52 +0000 (08:49 +0000)]
MIPS: Enable type feedback for branch statement and function call

Port r13288 (5fa2c889)

Original commit message:
This change associates TypeFeedbackIds with ToBoolean stubs in
full-compiled code on ARM, allowing their information to be used in
Crankshaft. This eliminates unnecessary checks, especially in
DoBranch.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/11801003
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoUse enum instead of bool for force_generic (MISS / MISS_FORCE_GENERIC)
verwaest@chromium.org [Fri, 4 Jan 2013 15:37:59 +0000 (15:37 +0000)]
Use enum instead of bool for force_generic (MISS / MISS_FORCE_GENERIC)

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

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

11 years agoCheck for read-only-ness when preparing for array sort.
yangguo@chromium.org [Fri, 4 Jan 2013 15:24:47 +0000 (15:24 +0000)]
Check for read-only-ness when preparing for array sort.

R=verwaest@chromium.org
BUG=v8:2419

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

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