platform/upstream/v8.git
11 years agoWin32 build fix
dslomov@chromium.org [Thu, 28 Mar 2013 13:24:02 +0000 (13:24 +0000)]
Win32 build fix

TBR=rossberg@chromium.org

BUG=

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

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

11 years agoRelease buold fix
dslomov@chromium.org [Thu, 28 Mar 2013 13:07:41 +0000 (13:07 +0000)]
Release buold fix

TBR=rossberg@chromium.org

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

11 years agoFirst steps towards implementing ArrayBuffer &co in V8
dslomov@chromium.org [Thu, 28 Mar 2013 12:50:18 +0000 (12:50 +0000)]
First steps towards implementing ArrayBuffer &co in V8

BUG=

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

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

11 years agoReplace ICStub for array.length with hydrogen stub
dslomov@chromium.org [Thu, 28 Mar 2013 12:43:19 +0000 (12:43 +0000)]
Replace ICStub for array.length with hydrogen stub

BUG=

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

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

11 years agoES6 symbols: symbol properties should not cause going into slow mode.
rossberg@chromium.org [Thu, 28 Mar 2013 12:01:46 +0000 (12:01 +0000)]
ES6 symbols: symbol properties should not cause going into slow mode.

R=yangguo@chromium.org
BUG=

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

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

11 years agoImprove SeqString::Truncate for latest allocated strings.
yangguo@chromium.org [Thu, 28 Mar 2013 11:19:38 +0000 (11:19 +0000)]
Improve SeqString::Truncate for latest allocated strings.

R=hpayer@chromium.org
BUG=

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

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

11 years agoStack trace API: poison stack frames below the first strict mode frame.
yangguo@chromium.org [Thu, 28 Mar 2013 10:40:07 +0000 (10:40 +0000)]
Stack trace API: poison stack frames below the first strict mode frame.

Function and receiver objects are not accessible for poisoned frames.

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

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

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

11 years agoMIPS: Small refactoring of r14058.
palfia@homejinni.com [Wed, 27 Mar 2013 22:48:49 +0000 (22:48 +0000)]
MIPS: Small refactoring of r14058.

BUG=

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

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

11 years agoMake Isolate::GetHeapStatistics robust against half-initialized isolates.
hpayer@chromium.org [Wed, 27 Mar 2013 10:33:25 +0000 (10:33 +0000)]
Make Isolate::GetHeapStatistics robust against half-initialized isolates.

The (deprecated) non-Isolate GetHeapStatistics contains the same check.

BUG=2591

Review URL: https://codereview.chromium.org/12965013
Patch from Marja Hölttä <marja@chromium.org>.

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

11 years agoAdd test case for missing deopt sequence after forced deopt.
yangguo@chromium.org [Wed, 27 Mar 2013 09:58:32 +0000 (09:58 +0000)]
Add test case for missing deopt sequence after forced deopt.

R=danno@chromium.org
BUG=217858

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

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

11 years agoOnly copy with, block and catch scopes in DebugEvaluate.
yangguo@chromium.org [Tue, 26 Mar 2013 17:46:16 +0000 (17:46 +0000)]
Only copy with, block and catch scopes in DebugEvaluate.

R=ulan@chromium.org
BUG=171715

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

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

11 years agoARM: fix dictionary negative lookup.
ulan@chromium.org [Tue, 26 Mar 2013 09:28:26 +0000 (09:28 +0000)]
ARM: fix dictionary negative lookup.

Do not skip the last inlined probe.

BUG=171975

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

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

11 years agoMIPS: Generalizing remaining Allocate functions in the macro assemblers used in prete...
plind44@gmail.com [Mon, 25 Mar 2013 19:01:36 +0000 (19:01 +0000)]
MIPS: Generalizing remaining Allocate functions in the macro assemblers used in pretenuring.

Port r14065 (f09e7e38)

BUG=

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

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

11 years agoRemove bogus test flags
danno@chromium.org [Mon, 25 Mar 2013 17:59:15 +0000 (17:59 +0000)]
Remove bogus test flags

R=verwaest@chromium.org

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

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

11 years agoUse code_range()->exists() to determine the size of the first code page when code...
danno@chromium.org [Mon, 25 Mar 2013 17:27:54 +0000 (17:27 +0000)]
Use code_range()->exists() to determine the size of the first code page when code range is used.

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

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

11 years agoMIPS: Change LookupForWrite to always do a full lookup and check the result.
palfia@homejinni.com [Mon, 25 Mar 2013 17:12:50 +0000 (17:12 +0000)]
MIPS: Change LookupForWrite to always do a full lookup and check the result.

Port r14061 (df49702a)

Original commit message:
If we find a property in the prototype-chain that we can overwrite, and
we have a transition, keep the holder in the lookup-result as the actual
holder. We will need it for the consistency-check in GenerateStoreField.

By directly checking the entire chain we avoid having to lazily bail out
to a copy of the miss stub while generating the Field Store IC.

Currently this CL disallows a normal non-receiver holder, given that
that would require a positive lookup + details verification to ensure
the property did not become read-only. This fixes the regressions in the
attached tests.

BUG=

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

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

11 years agoCreate a new HandleScope for each JSON-parsed object to avoid excessive growth
verwaest@chromium.org [Mon, 25 Mar 2013 17:10:33 +0000 (17:10 +0000)]
Create a new HandleScope for each JSON-parsed object to avoid excessive growth

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

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

11 years agoAdd AssertNoAllocation to ensure TransitionArray* transitions is safe.
verwaest@chromium.org [Mon, 25 Mar 2013 15:59:08 +0000 (15:59 +0000)]
Add AssertNoAllocation to ensure TransitionArray* transitions is safe.

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

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

11 years agoGeneralizing remaining Allocate functions in the macro assemblers used in pretenuring.
hpayer@chromium.org [Mon, 25 Mar 2013 15:54:15 +0000 (15:54 +0000)]
Generalizing remaining Allocate functions in the macro assemblers used in pretenuring.

BUG=

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

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

11 years agoFix store_mode bug involving polymorphism with external and JS arrays.
danno@chromium.org [Mon, 25 Mar 2013 15:19:22 +0000 (15:19 +0000)]
Fix store_mode bug involving polymorphism with external and JS arrays.

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

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

11 years agoFix crash involving zombie maps escaping from the JSON parser's underground lab
jkummerow@chromium.org [Mon, 25 Mar 2013 15:18:52 +0000 (15:18 +0000)]
Fix crash involving zombie maps escaping from the JSON parser's underground lab

Zapping is required since transition arrays contain weak references to maps: At the end of a GC cycle, ClearNonLiveTransitions removes references to dead maps from transition arrays. If a marked transition array with weak (dead) references is replaced by another transition array before the end of the GC cycle, dead references are not removed from the replaced transition array. If the replaced transition array is kept alive by a handle, marking will crash when trying to mark the first reference to a dead map.

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

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

11 years agoChange LookupForWrite to always do a full lookup and check the result.
verwaest@chromium.org [Mon, 25 Mar 2013 12:55:27 +0000 (12:55 +0000)]
Change LookupForWrite to always do a full lookup and check the result.

If we find a property in the prototype-chain that we can overwrite, and
we have a transition, keep the holder in the lookup-result as the actual
holder. We will need it for the consistency-check in GenerateStoreField.

By directly checking the entire chain we avoid having to lazily bail out
to a copy of the miss stub while generating the Field Store IC.

Currently this CL disallows a normal non-receiver holder, given that
that would require a positive lookup + details verification to ensure
the property did not become read-only. This fixes the regressions in the
attached tests.

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

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

11 years agoRemove GC hazard (temporary handle object)
rossberg@chromium.org [Mon, 25 Mar 2013 11:40:14 +0000 (11:40 +0000)]
Remove GC hazard (temporary handle object)

R=svenpanne@chromium.org
BUG=

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

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

11 years agoCorrectly materialize arguments object in Runtime_DebugEvaluate.
yangguo@chromium.org [Mon, 25 Mar 2013 10:01:53 +0000 (10:01 +0000)]
Correctly materialize arguments object in Runtime_DebugEvaluate.

The problem was that if the # arguments specified in the function
declaration and the # arguments passed to the function are not
the same, we use an arguments adapter frame to make it work. This
confuses the existing implementation to materialize the arguments
object.

R=peter.rybin@gmail.com
BUG=222893

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

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

11 years agoMIPS: ES6 symbols: turn symbols into a proper primitive type
palfia@homejinni.com [Sat, 23 Mar 2013 02:39:31 +0000 (02:39 +0000)]
MIPS: ES6 symbols: turn symbols into a proper primitive type

Port r14051 (e9140a92)

Original commit message:
(qua last week's TC39)

Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.

BUG=

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

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

11 years agoFix %GetArrayKeys to not skip non-enumerable indices
adamk@chromium.org [Fri, 22 Mar 2013 18:04:32 +0000 (18:04 +0000)]
Fix %GetArrayKeys to not skip non-enumerable indices

This is one step in the direction of fixing a range of small bugs in the array methods when dealing with non-standard element attributes.

Added tests exercising this behavior for shift and unshift.

For Proxies and Interceptors, the behavior of %GetArrayKeys is now to just return an interval, rather than trying to list all their indexed properties. In the Proxy case, this seems like the only way to avoid an observable difference between smart and non-smart array methods. For Interceptors, the usual case (in WebKit, anyway) is for them to have all indices in [0, length), so enumerating them won't be any better than simply iterating over that range.

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

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

11 years agoES6 symbols: prevent reflection, proxy, and observe APIs from leaking symbols
rossberg@chromium.org [Fri, 22 Mar 2013 17:27:44 +0000 (17:27 +0000)]
ES6 symbols: prevent reflection, proxy, and observe APIs from leaking symbols

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

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

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

11 years agoES6 symbols: implement name property
rossberg@chromium.org [Fri, 22 Mar 2013 16:51:28 +0000 (16:51 +0000)]
ES6 symbols: implement name property

Adds string-valued name property to symbols, and uses it for pretty-printing.

Requires allocating symbols in pointer space, with a custom iterator to skip the unboxed hash.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoFix global object check in %IsObserved and %SetIsObserved.
yangguo@chromium.org [Fri, 22 Mar 2013 16:37:11 +0000 (16:37 +0000)]
Fix global object check in %IsObserved and %SetIsObserved.

BUG=

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

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

11 years agoES6 symbols: turn symbols into a proper primitive type
rossberg@chromium.org [Fri, 22 Mar 2013 16:33:50 +0000 (16:33 +0000)]
ES6 symbols: turn symbols into a proper primitive type

(qua last week's TC39)

Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.

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

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

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

11 years agoFix bogus left-shifts in Array tests
adamk@chromium.org [Fri, 22 Mar 2013 15:08:30 +0000 (15:08 +0000)]
Fix bogus left-shifts in Array tests

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

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

11 years agoRemove some obsolete handle operation wrappers.
mstarzinger@chromium.org [Fri, 22 Mar 2013 14:33:27 +0000 (14:33 +0000)]
Remove some obsolete handle operation wrappers.

R=jkummerow@chromium.org

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

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

11 years agoPut zapping of local handles behind the extra checks flag.
mstarzinger@chromium.org [Fri, 22 Mar 2013 13:40:13 +0000 (13:40 +0000)]
Put zapping of local handles behind the extra checks flag.

R=jkummerow@chromium.org

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

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

11 years agoFix bugs in previous_ast_id tracking
danno@chromium.org [Fri, 22 Mar 2013 12:34:38 +0000 (12:34 +0000)]
Fix bugs in previous_ast_id tracking

R=hpayer@chromium.org

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

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

11 years agoPort Latin-1 changes to the interpreted regexp.
yangguo@chromium.org [Fri, 22 Mar 2013 09:47:06 +0000 (09:47 +0000)]
Port Latin-1 changes to the interpreted regexp.

R=dcarney@chromium.org
BUG=

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

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

11 years agoRestore correct regression test for crbug/146910.
yangguo@chromium.org [Fri, 22 Mar 2013 09:04:36 +0000 (09:04 +0000)]
Restore correct regression test for crbug/146910.

For some reason (rebase conflicts?) the regression test introduced
in r12547 was overwritten by r13340.

The test in question already exists in regress-latin-1

R=dcarney@chromium.org
BUG=

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

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

11 years agoFix JSON.stringifier's slow path wrt external strings.
yangguo@chromium.org [Fri, 22 Mar 2013 08:42:38 +0000 (08:42 +0000)]
Fix JSON.stringifier's slow path wrt external strings.

R=verwaest@chromium.org
BUG=

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

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

11 years agoFix isolate getter in DebugAgent
peter.rybin@gmail.com [Thu, 21 Mar 2013 16:12:50 +0000 (16:12 +0000)]
Fix isolate getter in DebugAgent

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

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

11 years agoFix compilation failure on Win64 since r14020.
mstarzinger@chromium.org [Thu, 21 Mar 2013 16:04:07 +0000 (16:04 +0000)]
Fix compilation failure on Win64 since r14020.

R=danno@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.16.
danno@chromium.org [Thu, 21 Mar 2013 15:25:15 +0000 (15:25 +0000)]
Prepare push to trunk.  Now working on version 3.17.16.

R=jkummerow@chromium.org

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

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

11 years agoMaintain API compatibility with older versions of V8.
danno@chromium.org [Thu, 21 Mar 2013 14:42:17 +0000 (14:42 +0000)]
Maintain API compatibility with older versions of V8.

Revert "Allow recording individual samples in addition to the aggregated CPU profiles"
Revert "Isolatify CPU profiler"
Revert "Isolatify HeapProfiler"
Revert "Deprecate HeapSnapshot type"
Revert "Isolatify CPU profiler public API"
Revert "MSVS compilation fix after r14006"
Revert "Add methods to allow resuming execution after calling TerminateExecution()."

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

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

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

11 years agoDelete leftover debugging code from InitializeMathExpData()
jkummerow@chromium.org [Thu, 21 Mar 2013 14:36:07 +0000 (14:36 +0000)]
Delete leftover debugging code from InitializeMathExpData()

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

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

11 years agoUse internal memcpy for PatchPlatformCodeAge as well.
mstarzinger@chromium.org [Thu, 21 Mar 2013 14:32:40 +0000 (14:32 +0000)]
Use internal memcpy for PatchPlatformCodeAge as well.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoDisable zapping of global handles in release mode.
mstarzinger@chromium.org [Thu, 21 Mar 2013 14:18:16 +0000 (14:18 +0000)]
Disable zapping of global handles in release mode.

R=danno@chromium.org

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

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

11 years agoAlways mark the entire valid prefix of the descriptor array.
verwaest@chromium.org [Thu, 21 Mar 2013 12:19:23 +0000 (12:19 +0000)]
Always mark the entire valid prefix of the descriptor array.

Previously we would only mark the slot that was added specifically for
this map, if there was a backpointer and the descriptor array was shared
via the backpointer. However, ConvertTransitionToMapTransition may break
this link after we marked the transitioned map, before we marked the
transitioning map. So the descriptor slots of the parent map won't get
recorded, and we potentially point to an old address of an already
relocated function.

BUG=chromium:196331

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

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

11 years agoAdded Hannes and Dmitry to OWNERS
jkummerow@chromium.org [Thu, 21 Mar 2013 12:09:53 +0000 (12:09 +0000)]
Added Hannes and Dmitry to OWNERS

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

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

11 years agoLower limit for complex memcpy on non-ia32 architectures.
mstarzinger@chromium.org [Thu, 21 Mar 2013 12:05:50 +0000 (12:05 +0000)]
Lower limit for complex memcpy on non-ia32 architectures.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoEnable extra API checks, add a check for zapped global handles
jkummerow@chromium.org [Thu, 21 Mar 2013 11:59:47 +0000 (11:59 +0000)]
Enable extra API checks, add a check for zapped global handles

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

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

11 years agoUnify code for fast and slow path of JSON.stringify.
yangguo@chromium.org [Thu, 21 Mar 2013 10:53:26 +0000 (10:53 +0000)]
Unify code for fast and slow path of JSON.stringify.

R=verwaest@chromium.org
BUG=

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

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

11 years agoAdd methods to allow resuming execution after calling TerminateExecution().
yangguo@chromium.org [Thu, 21 Mar 2013 10:47:34 +0000 (10:47 +0000)]
Add methods to allow resuming execution after calling TerminateExecution().

Two new methods are added to allow embedders to determine that execution
should be resumed at a particular point in the stack without being forced
to unwind all JS frames.

* V8::CancelTerminateExecution() -- When execution is terminated via a call
  to V8::TerminateExecution(), this method can be called to clear the
  termination exception so that the engine can continue to be used.

* TryCatch::HasTerminated() -- When a TryCatch has caught a termination
  exception, HasTerminated() will return true to indicate it is valid to
  call V8::ResumeExecution() if desired.

A test case is added to cctest/test-thread-termination.cc.

BUG=v8:2361

Patch from Andrew Paprocki <andrew@ishiboo.com>.

Review URL: https://chromiumcodereview.appspot.com/11142013
Patch from Andrew Paprocki <andrew@ishiboo.com>.

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

11 years agoRemove instrumentation for Code::CopyFrom crasher.
mstarzinger@chromium.org [Thu, 21 Mar 2013 10:36:57 +0000 (10:36 +0000)]
Remove instrumentation for Code::CopyFrom crasher.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoUse internal memcpy for CopyWords and when copying code.
mstarzinger@chromium.org [Thu, 21 Mar 2013 10:28:03 +0000 (10:28 +0000)]
Use internal memcpy for CopyWords and when copying code.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoSimplify debug evaluate.
yangguo@chromium.org [Thu, 21 Mar 2013 08:50:29 +0000 (08:50 +0000)]
Simplify debug evaluate.

R=peter.rybin@gmail.com
BUG=v8:2585, 173608

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

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

11 years agoMIPS: Implement many KeyedStoreStubs using Crankshaft
palfia@homejinni.com [Wed, 20 Mar 2013 21:43:30 +0000 (21:43 +0000)]
MIPS: Implement many KeyedStoreStubs using Crankshaft

Port r14001 (28443693)

Original commit message:
- Addition of a compiled hydrogen stub for KeyedStores.
- Inlining of "grow" stubs into OPTIMIZED_FUNCTIONs
- Addition of new "ignore OOB" ic stub that silently swallows out-of-bounds stores to external typed arrays.
- Addition of new "copy-on-write" ic stub that inlines allocation and copying operations for cow array
- New stub are generated with Crankshaft, so they are automatically inlined into OPTIMIZED_FUNCTIONs

BUG=

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

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

11 years agoAdd Paul Lind to the MIPS OWNER file
danno@chromium.org [Wed, 20 Mar 2013 19:13:01 +0000 (19:13 +0000)]
Add Paul Lind to the MIPS OWNER file

R=jkummerow@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.15.
jkummerow@chromium.org [Wed, 20 Mar 2013 18:04:45 +0000 (18:04 +0000)]
Prepare push to trunk.  Now working on version 3.17.15.

R=mstarzinger@chromium.org

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

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

11 years agoMIPS: Critical fix for label binding in RegExp engine when trampoline is emitted.
palfia@homejinni.com [Wed, 20 Mar 2013 17:29:04 +0000 (17:29 +0000)]
MIPS: Critical fix for label binding in RegExp engine when trampoline is emitted.

TEST=mjsunit/regress/regress-crbug-178790

BUG=

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

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

11 years agoRemove more boilerplate (missed after rebase)
dslomov@chromium.org [Wed, 20 Mar 2013 17:20:48 +0000 (17:20 +0000)]
Remove more boilerplate (missed after rebase)

BUG=

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

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

11 years agoUse internal memcpy when initializing code objects.
mstarzinger@chromium.org [Wed, 20 Mar 2013 16:53:31 +0000 (16:53 +0000)]
Use internal memcpy when initializing code objects.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoDisable weak embedded maps because of crashes.
ulan@chromium.org [Wed, 20 Mar 2013 15:20:19 +0000 (15:20 +0000)]
Disable weak embedded maps because of crashes.

R=mstarzinger@chromium.org
BUG=172489,217858

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

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

11 years agoMSVS compilation fix after r14006
yurys@chromium.org [Wed, 20 Mar 2013 14:46:09 +0000 (14:46 +0000)]
MSVS compilation fix after r14006

BUG=None

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

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

11 years agoExtend test coverage for JSON.stringify's slow path.
yangguo@chromium.org [Wed, 20 Mar 2013 14:07:30 +0000 (14:07 +0000)]
Extend test coverage for JSON.stringify's slow path.

R=verwaest@chromium.org
BUG=

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

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

11 years agoExplicitly pass the isolate to create handles in ic.cc
verwaest@chromium.org [Wed, 20 Mar 2013 13:12:33 +0000 (13:12 +0000)]
Explicitly pass the isolate to create handles in ic.cc

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

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

11 years agoIsolatify CPU profiler public API
yurys@chromium.org [Wed, 20 Mar 2013 13:07:48 +0000 (13:07 +0000)]
Isolatify CPU profiler public API

BUG=None

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

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

11 years agoDeprecate HeapSnapshot type
yurys@chromium.org [Wed, 20 Mar 2013 12:41:00 +0000 (12:41 +0000)]
Deprecate HeapSnapshot type

There is only one type of heap snapshot - kFull and we are not going to add any new types.

BUG=None

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

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

11 years agoFixed whitespace
dslomov@chromium.org [Wed, 20 Mar 2013 12:01:57 +0000 (12:01 +0000)]
Fixed whitespace

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

11 years agoRemove boilerplate code from HydrogenCodeStubs
dslomov@chromium.org [Wed, 20 Mar 2013 12:01:49 +0000 (12:01 +0000)]
Remove boilerplate code from HydrogenCodeStubs

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

11 years agoMake GDBJIT interface compile again.
mstarzinger@chromium.org [Wed, 20 Mar 2013 11:29:46 +0000 (11:29 +0000)]
Make GDBJIT interface compile again.

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

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

11 years agoImplement many KeyedStoreStubs using Crankshaft
danno@chromium.org [Wed, 20 Mar 2013 10:37:13 +0000 (10:37 +0000)]
Implement many KeyedStoreStubs using Crankshaft

- Addition of a compiled hydrogen stub for KeyedStores.
- Inlining of "grow" stubs into OPTIMIZED_FUNCTIONs
- Addition of new "ignore OOB" ic stub that silently swallows out-of-bounds stores to external typed arrays.
- Addition of new "copy-on-write" ic stub that inlines allocation and copying operations for cow array
- New stub are generated with Crankshaft, so they are automatically inlined into OPTIMIZED_FUNCTIONs

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

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

11 years agoFix tests that fail on GC stress tests.
yangguo@chromium.org [Wed, 20 Mar 2013 10:33:26 +0000 (10:33 +0000)]
Fix tests that fail on GC stress tests.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoUpdate instance types in grokdump.
verwaest@chromium.org [Wed, 20 Mar 2013 10:22:49 +0000 (10:22 +0000)]
Update instance types in grokdump.

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

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

11 years agoFix handling of context creation failure since r13978.
mstarzinger@chromium.org [Wed, 20 Mar 2013 10:13:29 +0000 (10:13 +0000)]
Fix handling of context creation failure since r13978.

R=jkummerow@chromium.org
TEST=fast/js/concat-large-strings-crash.html

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

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

11 years agoIsolatify HeapProfiler
yurys@chromium.org [Wed, 20 Mar 2013 08:38:17 +0000 (08:38 +0000)]
Isolatify HeapProfiler

Added instance method on v8::Isolate for retrieving instance of v8::HeapProfiler for that isolate. All static methods of v8::HeapProfiler are deprecated, corresponding instance methods are added to v8::HeapProfiler.

All static methods on v8::internal::HeapProfiler were converted into instance ones.

BUG=None

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.14.
jkummerow@chromium.org [Tue, 19 Mar 2013 17:50:03 +0000 (17:50 +0000)]
Prepare push to trunk.  Now working on version 3.17.14.

R=mstarzinger@chromium.org

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

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

11 years agoAdd more instrumentation for Code::CopyFrom crasher.
mstarzinger@chromium.org [Tue, 19 Mar 2013 16:48:45 +0000 (16:48 +0000)]
Add more instrumentation for Code::CopyFrom crasher.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoSort forward declarations in v8.h in alphabetical order
yurys@chromium.org [Tue, 19 Mar 2013 15:17:22 +0000 (15:17 +0000)]
Sort forward declarations in v8.h in alphabetical order

BUG=None

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

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

11 years agoDisable grokdumps module decoding temporarily.
mstarzinger@chromium.org [Tue, 19 Mar 2013 14:57:42 +0000 (14:57 +0000)]
Disable grokdumps module decoding temporarily.

R=yangguo@chromium.org

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

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

11 years agoTurn Flags into a uint32_t typedef.
verwaest@chromium.org [Tue, 19 Mar 2013 13:11:49 +0000 (13:11 +0000)]
Turn Flags into a uint32_t typedef.

We cannot rely on C++ compilers inferring the int-type from the enum
value range. Whereas Linux/OSX find uint32_t as type for [0,MaxUInt32],
Windows insists it's int.

Update the test to execute its original intent on all platforms: 1 value
larger than max arguments, 1 smaller than max arguments (on all
platforms). This makes the test run a lot faster.

BUG=chromium:194749

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

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

11 years agoIsolatify CPU profiler
yurys@chromium.org [Tue, 19 Mar 2013 12:44:10 +0000 (12:44 +0000)]
Isolatify CPU profiler

BUG=None

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

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

11 years agoReduce storage size of weak callbacks
dcarney@chromium.org [Tue, 19 Mar 2013 10:06:20 +0000 (10:06 +0000)]
Reduce storage size of weak callbacks

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoMIPS: HInnerAllocatedObject instruction allows hydrogen code to carve up allocated...
mvstanton@chromium.org [Tue, 19 Mar 2013 08:41:37 +0000 (08:41 +0000)]
MIPS: HInnerAllocatedObject instruction allows hydrogen code to carve up allocated regions into sub objects.

Port r13928 (ff66bd4bcdb580438d96c610bcbe8852bb127908)

BUG=

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

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

11 years agoAllow recording individual samples in addition to the aggregated CPU profiles
yurys@chromium.org [Tue, 19 Mar 2013 08:11:56 +0000 (08:11 +0000)]
Allow recording individual samples in addition to the aggregated CPU profiles

CPU profiler API is extended with methods that allow to retrieve individual samples from profile. Each sample is presented as a pointer to a node in the top-down profile tree. The samples will let us tie JS performance to time.

BUG=None

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

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

11 years agoMIPS: Allow direct allocation in old pointer space.
palfia@homejinni.com [Mon, 18 Mar 2013 17:56:35 +0000 (17:56 +0000)]
MIPS: Allow direct allocation in old pointer space.

Port r13940 (a39765e7)

BUG=

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

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

11 years agoMove context global handle creation out of Genesis.
mstarzinger@chromium.org [Mon, 18 Mar 2013 17:36:47 +0000 (17:36 +0000)]
Move context global handle creation out of Genesis.

R=jkummerow@chromium.org

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

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

11 years agoFix induction variable detection.
mmassi@chromium.org [Mon, 18 Mar 2013 17:36:24 +0000 (17:36 +0000)]
Fix induction variable detection.

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

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

11 years agoRemove obsolete "previous" field from Genesis.
mstarzinger@chromium.org [Mon, 18 Mar 2013 16:27:58 +0000 (16:27 +0000)]
Remove obsolete "previous" field from Genesis.

R=jkummerow@chromium.org

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

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

11 years agoFix misplaced #endif
rossberg@chromium.org [Mon, 18 Mar 2013 16:18:05 +0000 (16:18 +0000)]
Fix misplaced #endif

R=verwaest@chromium.org
BUG=

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

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

11 years agoUnbreak shared lib build.
rossberg@chromium.org [Mon, 18 Mar 2013 16:04:27 +0000 (16:04 +0000)]
Unbreak shared lib build.

R=verwaest@chromium.org
BUG=

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

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

11 years agoRaise the limit since it is 2**16 (65536) on x64.
verwaest@chromium.org [Mon, 18 Mar 2013 15:49:33 +0000 (15:49 +0000)]
Raise the limit since it is 2**16 (65536) on x64.

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

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

11 years agoMIPS: Load/Store stub compilation refactoring.
palfia@homejinni.com [Mon, 18 Mar 2013 14:42:46 +0000 (14:42 +0000)]
MIPS: Load/Store stub compilation refactoring.

Port r13954 (2ee39c27)

BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.17.13.
svenpanne@chromium.org [Mon, 18 Mar 2013 14:41:55 +0000 (14:41 +0000)]
Prepare push to trunk.  Now working on version 3.17.13.

R=jkummerow@chromium.org

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

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

11 years agoAdd instrumentation to track down Code::CopyFrom crasher.
mstarzinger@chromium.org [Mon, 18 Mar 2013 14:31:21 +0000 (14:31 +0000)]
Add instrumentation to track down Code::CopyFrom crasher.

R=jkummerow@chromium.org
BUG=chromium:196330

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

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

11 years agoSince v8:13964, flags is uint32, so always use cmp on ARM.
verwaest@chromium.org [Mon, 18 Mar 2013 14:31:08 +0000 (14:31 +0000)]
Since v8:13964, flags is uint32, so always use cmp on ARM.

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

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

11 years agoMore useful result pretty printing for d8
rossberg@chromium.org [Mon, 18 Mar 2013 14:03:15 +0000 (14:03 +0000)]
More useful result pretty printing for d8

For example:

d8> ["hi", 5, [2,3],Object.prototype.toString, {get a() { return a}, b: 9, set a(x) {this.b=x}}, null, undefined]
["hi", 5, [2, 3], function toString() { [native code] }, {get a() { return a}, set a(x) {this.b=x}, b: 9}, null, undefined]

Deactivated in test mode.

R=yangguo@chromium.org
BUG=

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

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

11 years agoPass Isolates explicitly in Deoptimizer-related code.
svenpanne@chromium.org [Mon, 18 Mar 2013 13:57:49 +0000 (13:57 +0000)]
Pass Isolates explicitly in Deoptimizer-related code.

Removed a few ancient useless ASSERTs on the way. Reduced the number of train wrecks.

BUG=v8:2487

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

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

11 years agoUnify kMaxArguments with number of bits used to encode it.
verwaest@chromium.org [Mon, 18 Mar 2013 13:35:17 +0000 (13:35 +0000)]
Unify kMaxArguments with number of bits used to encode it.

Increase the number of bits by 1 by making Flags unsigned.

BUG=chromium:211741

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

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

11 years agoFix detection of |handle_smi| case in HOptimizedGraphBuilder::HandlePolymorphicCallNamed
jkummerow@chromium.org [Mon, 18 Mar 2013 12:41:52 +0000 (12:41 +0000)]
Fix detection of |handle_smi| case in HOptimizedGraphBuilder::HandlePolymorphicCallNamed

BUG=chromium:196583

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

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

11 years agoParallel recompilation: fix off-by-one in deferred handle scope iteration.
yangguo@chromium.org [Mon, 18 Mar 2013 11:26:09 +0000 (11:26 +0000)]
Parallel recompilation: fix off-by-one in deferred handle scope iteration.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoHandling expression decomposition and array bounds check hoisting: working code with...
mmassi@chromium.org [Mon, 18 Mar 2013 08:06:00 +0000 (08:06 +0000)]
Handling expression decomposition and array bounds check hoisting: working code with lots of debugging PrintFs, postdominance check still missing.

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

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

11 years agoWhen spilling live range with not register uses inside the loop try to move spilling...
vegorov@chromium.org [Fri, 15 Mar 2013 13:25:54 +0000 (13:25 +0000)]
When spilling live range with not register uses inside the loop try to move spilling out of the loop.

This allows to minimize amount of memory moves on the back edge.

R=danno@chromium.org
BUG=

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

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