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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
alph@chromium.org [Fri, 15 Mar 2013 13:07:39 +0000 (13:07 +0000)]
Remove kContext node type introduced in r13936
It has been decided not to pollute node types with extra values.
Review URL: https://codereview.chromium.org//
12833005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 15 Mar 2013 12:46:45 +0000 (12:46 +0000)]
Remove bottom-up CPU profile
Bottom-up view of CPU profile can be restored based on top-down profile data. So there is no need to spend resources on creating both of them inside V8.
BUG=None
Review URL: https://codereview.chromium.org/
12825003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13958
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00