mmassi@chromium.org [Mon, 10 Dec 2012 12:55:50 +0000 (12:55 +0000)]
Revert r13176.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11503011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 10 Dec 2012 12:18:54 +0000 (12:18 +0000)]
Flush out potential leaks of Failure objects
Review URL: https://codereview.chromium.org/
11475027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 10 Dec 2012 12:10:23 +0000 (12:10 +0000)]
Make sure HMathMinMax always has a supported representation
Review URL: https://codereview.chromium.org/
11467021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 10 Dec 2012 11:09:12 +0000 (11:09 +0000)]
Revert 13157, 13145 and 13140: Crankshaft code stubs.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11498006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 10 Dec 2012 11:02:22 +0000 (11:02 +0000)]
Improve integer division on IA32 and X64
If the divisor is a Power-of-2 constant, we could use shifts instead of the
expensive idiv instructions, which also loose the register constraints.
Review URL: https://chromiumcodereview.appspot.com/
11478043
Patch from Yuqiang Xian <yuqiang.xian@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 10 Dec 2012 10:53:57 +0000 (10:53 +0000)]
Object.observe support for Function 'prototype' property
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11416353
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Mon, 10 Dec 2012 08:56:24 +0000 (08:56 +0000)]
Make keyed operations use the unchecked index but still depend on the checked one.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11445016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 7 Dec 2012 15:28:40 +0000 (15:28 +0000)]
Define CAN_USE_VFP2/3_INSTRUCTIONS based on arm_neon and arm_fpu flags.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11472023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 7 Dec 2012 13:47:42 +0000 (13:47 +0000)]
Remove SlidingStateWindow and related code.
Review URL: https://codereview.chromium.org/
11441034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 7 Dec 2012 13:09:39 +0000 (13:09 +0000)]
Removed dead InterruptFlag enum value.
Review URL: https://codereview.chromium.org/
11446064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 7 Dec 2012 13:01:38 +0000 (13:01 +0000)]
Make test-heap resilient against GC stress.
R=yangguo@chromium.org
TEST=cctest/test-heap --stress-compaction
Review URL: https://codereview.chromium.org/
11464021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 7 Dec 2012 12:58:09 +0000 (12:58 +0000)]
Handlify JSObject::SetDictionaryElement, which may call back into JS.
Fixes flaky crasher in proxies.js test.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11471028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 7 Dec 2012 12:51:33 +0000 (12:51 +0000)]
llprof improvements
Review URL: https://codereview.chromium.org/
11444031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Dec 2012 12:49:27 +0000 (12:49 +0000)]
Fix mozilla test expectations.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11482003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 7 Dec 2012 12:38:22 +0000 (12:38 +0000)]
Prepare push to trunk. Now working on version 3.15.11.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11465023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Dec 2012 12:18:50 +0000 (12:18 +0000)]
Fix mozilla test failures and expectations.
Follow-up for r13160.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11446063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 7 Dec 2012 11:29:27 +0000 (11:29 +0000)]
Improve double to integer truncation on ARM.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
11412272
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 7 Dec 2012 10:35:50 +0000 (10:35 +0000)]
Allow lazy compilation (and thus optimisation) of functions inside eval.
For strict-mode eval, this requires _disabling_ lazy parsing of inner functions,
because we need to collect their free variables to do allocation for the
eval scope properly.
R=mstarzinger@chromium.org
BUG=v8:2315
Review URL: https://codereview.chromium.org/
11438042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Dec 2012 10:20:35 +0000 (10:20 +0000)]
Fix spec violations in methods of Number.prototype.
R=svenpanne@chromium.org
BUG=v8:2443
Review URL: https://chromiumcodereview.appspot.com/
11465005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 7 Dec 2012 09:44:10 +0000 (09:44 +0000)]
Add GCTracer metrics for a scavenger GC for DOM wrappers
This patch adds the following three metrics for the --trace_gc_nvp option.
nodes_died_in_new_space_; // Number of died nodes in the new space.
nodes_copied_in_new_space_; // Number of copied nodes to the new space.
nodes_promoted; // Number of promoted nodes to the old space.
BUG=
TEST=Manually confirmed that the "--trace_gc --trace_gc_nvp" option prints the metrics
Review URL: https://codereview.chromium.org/
11365146
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 7 Dec 2012 08:55:06 +0000 (08:55 +0000)]
Use count-based profiling exclusively.
Review URL: https://codereview.chromium.org/
11437016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 7 Dec 2012 07:09:57 +0000 (07:09 +0000)]
Fix nosse2 tests
R=jkummerow@chromoum.org
Review URL: https://chromiumcodereview.appspot.com/
11439028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 6 Dec 2012 17:27:53 +0000 (17:27 +0000)]
Prepare push to trunk. Now working on version 3.15.10.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11469003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 6 Dec 2012 16:27:32 +0000 (16:27 +0000)]
Fix candidate eviction in code flusher.
This fixes a corner case where a code flushing candidate was evicted
from the candidate list without being revisited by the incremental
marker. An explicit write-barrier makes sure it gets revisited.
R=ulan@chromium.org
BUG=chromium:159140
TEST=cctest/test-heap/Regress159140
Review URL: https://codereview.chromium.org/
11451038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Dec 2012 15:51:42 +0000 (15:51 +0000)]
Let marking speed depend on the actual incremental write barrier count.
Review URL: https://chromiumcodereview.appspot.com/
11441011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Dec 2012 13:13:38 +0000 (13:13 +0000)]
Iterate through all arguments for side effects in Math.min/max.
R=svenpanne@chromium.org
BUG=v8:2444
Review URL: https://chromiumcodereview.appspot.com/
11444030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Dec 2012 13:13:01 +0000 (13:13 +0000)]
Update test expectations.
Test failure has been fixed in r13050.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11450004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 6 Dec 2012 12:43:05 +0000 (12:43 +0000)]
Report deoptimization error in release mode.
This makes sure that we crash and burn in release mode in cases where
the deoptimizer is unable to find the PC offset into unoptimized code
during deoptimization. So far this failure got swallowed in production.
R=ulan@chromium.org
BUG=chromium:159140
Review URL: https://codereview.chromium.org/
11451033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Dec 2012 11:49:15 +0000 (11:49 +0000)]
Add StringBufferStream
add a class StringBufferStream which will replace
StringInputBuffer and SafeStringInputBuffer and requires no
ascii/two byte encoding scheme
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11428106
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Dec 2012 16:22:14 +0000 (16:22 +0000)]
Take instrumentation overhead into account when plotting.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11348298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 5 Dec 2012 16:16:32 +0000 (16:16 +0000)]
Fix isolate bug introduced by generated code stubs
Review URL: https://codereview.chromium.org/
11441013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Dec 2012 15:49:22 +0000 (15:49 +0000)]
Improve array to string conversion.
BUG=v8:2435
Review URL: https://chromiumcodereview.appspot.com/
11348349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Dec 2012 12:32:25 +0000 (12:32 +0000)]
Fix spec violations related to regexp.lastIndex
BUG=v8:2437, v8:2438
Review URL: https://chromiumcodereview.appspot.com/
11451005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 5 Dec 2012 12:03:57 +0000 (12:03 +0000)]
Make Object.observe on the global object functional
The approach in this change is to handle the unwrapping/wrapping of the global object transparently with respect to the JS implementation of Object.observe. An alternate approach would be to add a runtime method like %IsJSGlobalProxy and %UnwrapJSGlobalProxy, but it seems ugly to give JS (even implementation JS) access to the unwrapped global.
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11414094
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 5 Dec 2012 11:47:45 +0000 (11:47 +0000)]
Object.observe: notify of __proto__ changes
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11299260
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 5 Dec 2012 11:04:10 +0000 (11:04 +0000)]
Enable stub generation using Hydrogen/Lithium (again)
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Committed: https://code.google.com/p/v8/source/detail?r=13117
Review URL: https://codereview.chromium.org/
10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 5 Dec 2012 10:14:10 +0000 (10:14 +0000)]
Pass Isolate to MakeWeak(), IsWeak(), and AddObjectGroup().
BUG=
TEST=cctest/test-api/ApiObjectGroupsCycle
Review URL: https://codereview.chromium.org/
11360082
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 5 Dec 2012 09:13:53 +0000 (09:13 +0000)]
Pass Isolate to Local<T>::New()
Our profiling revealed that Local<T>::New() is one of bottlenecks of DOM bindings.
BUG=
TEST=cctest/test-api/LocalHandle
Review URL: https://codereview.chromium.org/
11316331
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 4 Dec 2012 17:17:55 +0000 (17:17 +0000)]
Introduce callback for resolving global object name while taking heap snapshot
Heap profiler currently gets "document" of global objects while taking snapshot (to later retrieve its "URL"). This is unsafe as there may be no current v8 context when the property is requested while corresponding property accessor may make some assumptions about the context stack during its invokation. Several crashes were reported due to this problem:
https://bugs.webkit.org/show_bug.cgi?id=103076
https://crbug.com/162121
https://crbug.com/132727
This patch adds a callback for resolving global object names and avoid the crashes.
Review URL: https://codereview.chromium.org/
11415203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Dec 2012 15:30:22 +0000 (15:30 +0000)]
Remove some dead code.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11412322
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 4 Dec 2012 13:54:22 +0000 (13:54 +0000)]
Force inlining for hot interface functions.
Review URL: https://codereview.chromium.org/
11411355
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 4 Dec 2012 13:49:22 +0000 (13:49 +0000)]
Prepare push to trunk. Now working on version 3.15.9.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11348378
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13132
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Dec 2012 13:45:48 +0000 (13:45 +0000)]
Change deprecated semantics of function template signatures.
This changes how FunctionTemplate interprets a Signature that specifies
compatible receivers and arguments. Only the hidden prototype chain will
be considered when searching for compatible receivers. This prevents
JavaScript from modifying the inheritance relationship set up by the
embedder.
R=rossberg@chromium.org
BUG=v8:2268
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/
11308197
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Dec 2012 12:14:19 +0000 (12:14 +0000)]
Enforce stack allocation of TryCatch blocks.
R=svenpanne@chromium.org
BUG=v8:2166,chromium:152389
Review URL: https://codereview.chromium.org/
11411353
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Dec 2012 10:45:59 +0000 (10:45 +0000)]
Fix external exceptions in external try-catch handlers.
This tries to propagate exceptions which are externally thrown into
external try-catch handlers before scheduling them. This also allows
embedders to nest external try-catch handlers.
This just relands r11834.
R=svenpanne@chromium.org
BUG=v8:2166
TEST=cctest/test-api/TryCatchNested
Review URL: https://codereview.chromium.org/
11299329
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Dec 2012 10:23:43 +0000 (10:23 +0000)]
Unify object groups iteration in global handles.
This unifies the iteration logic of objects groups iteration in global
handles. The scavenger as well as mark-and-compact now rely on the same
underlying logic.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11299248
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Dec 2012 10:15:19 +0000 (10:15 +0000)]
Fix gcmole offenders.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11419309
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Dec 2012 09:51:52 +0000 (09:51 +0000)]
Remove bogus test and add check for OOM in TryCall.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11412318
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 4 Dec 2012 08:58:59 +0000 (08:58 +0000)]
Remove extraneous forced rejuvenations in code aging
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
11421219
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 4 Dec 2012 08:16:24 +0000 (08:16 +0000)]
Deactive code aging due to regressions
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
11415282
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 3 Dec 2012 21:47:39 +0000 (21:47 +0000)]
Issue 2429, core implementation and the protocol change
Review URL: https://codereview.chromium.org/
11421100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Mon, 3 Dec 2012 20:29:29 +0000 (20:29 +0000)]
Issue 2399 part 1: In debugger allow modifying local variable values
Review URL: https://codereview.chromium.org/
11415042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Dec 2012 17:57:17 +0000 (17:57 +0000)]
Fix null dereference after OOM.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11414295
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 3 Dec 2012 17:16:51 +0000 (17:16 +0000)]
Revert 13117: "Enable stub generation using Hydrogen/Lithium (again)"
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
11415261
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Dec 2012 16:48:17 +0000 (16:48 +0000)]
Optimize non-ASCII string splitting with single-character search pattern
Review URL: https://chromiumcodereview.appspot.com/
11299163
Patch from Ben Noordhuis <ben@c9.io>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Dec 2012 16:23:30 +0000 (16:23 +0000)]
Fix JSON stringify.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11421200
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 3 Dec 2012 15:51:05 +0000 (15:51 +0000)]
Enable stub generation using Hydrogen/Lithium (again)
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Review URL: https://codereview.chromium.org/
10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Dec 2012 14:31:11 +0000 (14:31 +0000)]
Correctly handle AdjustAmountOfExternalAllocatedMemory(0).
R=yangguo@chromium.org
BUG=v8:2440
Review URL: https://chromiumcodereview.appspot.com/
11412299
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 3 Dec 2012 13:40:37 +0000 (13:40 +0000)]
ARM: make MacroAssembler::LoadRoot emit exactly one instruction when in predictable code size scope.
BUG=v8:2439
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11280276
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 3 Dec 2012 13:39:21 +0000 (13:39 +0000)]
Activate incremental code flushing by default.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
11418288
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 3 Dec 2012 13:38:39 +0000 (13:38 +0000)]
Adapt code flushing tests to new code aging.
R=danno@chromium.org
TEST=cctest/test-heap/TestCodeFlushing
Review URL: https://codereview.chromium.org/
11434082
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 3 Dec 2012 13:34:08 +0000 (13:34 +0000)]
When notifying observers of a truncated array, don't call getters on deleted element indices
BUG=v8:2409
Review URL: https://codereview.chromium.org/
11414177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Nov 2012 20:58:51 +0000 (20:58 +0000)]
ARM: fix a bug with saving lr register in GenerateSmiToDouble.
BUG=163197
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11419255
Patch from Ulan Degenbaev <ulan@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Nov 2012 17:45:45 +0000 (17:45 +0000)]
Revert 13105: "Enable stub generation using Hydrogen/Lithium."
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11414262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Nov 2012 17:31:30 +0000 (17:31 +0000)]
Enable stub generation using Hydrogen/Lithium.
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Review URL: https://codereview.chromium.org/
10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 30 Nov 2012 10:26:21 +0000 (10:26 +0000)]
Revert "Perform CPU sampling by CPU sampling thread only iff processing thread is not running."
This reverts r12985.
Review URL: https://codereview.chromium.org/
11428103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 30 Nov 2012 10:14:21 +0000 (10:14 +0000)]
Turn off optimization for Mac Debug builds
Review URL: https://codereview.chromium.org/
11414237
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 30 Nov 2012 10:11:44 +0000 (10:11 +0000)]
Prepare push to trunk. Now working on version 3.15.8.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
11280252
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 30 Nov 2012 09:42:20 +0000 (09:42 +0000)]
Revert "Allow incremental marking when expose_gc is turned on."
This reverts r13072 from bleeding edge.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
11316268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 15:58:16 +0000 (15:58 +0000)]
Pass FixedArrayBase in elements.cc.
This avoids casting problems in case of empty_fixed_array as
FixedDoubleArray with size 0. This avoids prematurely shortcutting in
case of 0 all over the place, which in turn leads to errors.
Review URL: https://chromiumcodereview.appspot.com/
11299226
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 15:55:27 +0000 (15:55 +0000)]
Use generic array functions to setup the boilerplate to avoid logic duplication.
Review URL: https://chromiumcodereview.appspot.com/
11361281
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 29 Nov 2012 15:13:49 +0000 (15:13 +0000)]
Remove unused private member variables found by clang -Wunused-private-field
Review URL: https://codereview.chromium.org/
11414207
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Nov 2012 14:53:44 +0000 (14:53 +0000)]
Fix typo in FunctionTemplate::ReadOnlyPrototype.
Contributed by Peter Varga <pvarga@inf.u-szeged.hu>
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11434031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 29 Nov 2012 14:31:38 +0000 (14:31 +0000)]
Activate code aging by default.
Review URL: https://codereview.chromium.org/
11411257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 29 Nov 2012 14:04:27 +0000 (14:04 +0000)]
MIPS: Also time external callbacks from generated code.
Port r13078 (
73f25483)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11316236
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Nov 2012 09:22:08 +0000 (09:22 +0000)]
MIPS: Faster implementation of Math.exp()
Port r13054 (
636985d7)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11415192
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Nov 2012 09:14:52 +0000 (09:14 +0000)]
MIPS: Fix register confusion in non-VFP3 BinaryOpStubs on ARM
Port r12980 (
13380d3b)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11308158
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Nov 2012 09:12:31 +0000 (09:12 +0000)]
MIPS: DoNumberTagD performance improvement
Port r12711 (
a8d45ac2)
Original commit message:
Allocate heap entry untagged and tag at end to avoid having to subtract off
the tag offset before storing the value.
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11280106
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 29 Nov 2012 09:09:39 +0000 (09:09 +0000)]
MIPS: ARM: Fast path for integer inputs to EmitVFPTruncate
Port r12676 (
7d5e7e81)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
11308134
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 08:40:39 +0000 (08:40 +0000)]
MIPS: Only fill in holes if storing the number to the double array has succeeded.
Port r13067 (
c822cffa)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11428068
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 08:39:44 +0000 (08:39 +0000)]
MIPS: Ensure we do not clobber the register holding the elements backing store.
Port r13061 (
83bb6fcc)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11316235
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 08:37:41 +0000 (08:37 +0000)]
MIPS: Ensure double arrays are filled with holes when extended from variations of empty arrays.
Port r13056 (
9b2c1725)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11411253
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 29 Nov 2012 08:34:19 +0000 (08:34 +0000)]
CopyPackedSmiToDoubleElements should fill the FixedDoubleArray with holes
BUG=v8:2433
Review URL: https://chromiumcodereview.appspot.com/
11280223
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 29 Nov 2012 07:38:00 +0000 (07:38 +0000)]
Simplify and fix code aging.
Making the code size predictable is hard, and to make things even more
complicated, the start of a function can contain various stuff like calls to a
profiling hook, receiver adjustment or dynamic frame alignment. Instead of
tackling all these problems separately, we now simply record the offset where
patching should happen later in the Code object itself.
Review URL: https://codereview.chromium.org/
11316218
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 Nov 2012 17:56:17 +0000 (17:56 +0000)]
Remove bogus assertion from idle notification.
Callbacks that run after garbage collection might fire a context dispose
notification and hence increse the counter before we actually reach this
position.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11280214
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 28 Nov 2012 15:11:38 +0000 (15:11 +0000)]
Improve debug printing of non-strict arguments object.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
11316219
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 Nov 2012 15:11:21 +0000 (15:11 +0000)]
Also time external callbacks from generated code.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11411224
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 28 Nov 2012 14:02:30 +0000 (14:02 +0000)]
Relax restrictions on CONSTANT_FUNCTION descriptors in TransformPropertiesToFastFor.
Since r10174 they are not required to be in new space.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11418181
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 28 Nov 2012 11:01:10 +0000 (11:01 +0000)]
Include more information in --prof log.
Main changes:
- include timestamps in profile ticks
- include code kind in code create events
- time execution in external code
- changed plot-timer-events.js to show the code kind being executed
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11428025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 28 Nov 2012 10:53:39 +0000 (10:53 +0000)]
Fixed pointer arithmetic in write barrier for large objects when marking progress bar is used.
BUG=
Review URL: https://codereview.chromium.org/
11421123
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 28 Nov 2012 08:43:10 +0000 (08:43 +0000)]
Allow incremental marking when expose_gc is turned on.
BUG=
Review URL: https://codereview.chromium.org/
11299154
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 28 Nov 2012 08:41:45 +0000 (08:41 +0000)]
Make ElementsAccessors more tolerant of varying backing store types
This avoids bogus calls to Fixed*Array::cast() when FastElements-backed objects are empty (and thus backed by empty_fixed_array).
Review URL: https://chromiumcodereview.appspot.com/
11299190
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 28 Nov 2012 08:35:46 +0000 (08:35 +0000)]
Properly handle-ify method calls to map() and GetLocalElementAccessorPair()
These are likely causing some of the flaky crashes in Object.observe code. I've reorganized some of the code to minimize the number of necessary calls to map() (by saving the result of map()->is_observed() in a local bool).
Also move down an unnecessarily early call to Uint32ToString when sending an element deletion notification.
Review URL: https://chromiumcodereview.appspot.com/
11316202
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Nov 2012 17:03:12 +0000 (17:03 +0000)]
Move assertion about stopped marking up (again).
Weak persistent handle callbacks might trigger nested GCs that in turn
can cause marking to be restarted. The assertion needs to hold before
firing callbacks only.
R=ulan@chromium.org
TEST=cctest/test-api --stress-compaction
Review URL: https://codereview.chromium.org/
11413188
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Nov 2012 15:30:12 +0000 (15:30 +0000)]
Disable stress for some unit test.
Some unit tests specifically test scavenges and forcing them to do
global GCs instead makes no sense. The GC stress builder triggers this.
R=yangguo@chromium.org
TEST=cctest/test-api --stress-compaction
Review URL: https://codereview.chromium.org/
11421098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 27 Nov 2012 13:27:15 +0000 (13:27 +0000)]
Only fill in holes if storing the number to the double array has succeeded.
Review URL: https://chromiumcodereview.appspot.com/
11299200
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Nov 2012 13:18:55 +0000 (13:18 +0000)]
Fix incremental marking to be off during heap snapshots.
The heap snapshot generator uses the UnreachableObjectsFilter which in
turn messes with marking bits. This requires incremental marking to be
turned off while the snapshot is being generated.
R=verwaest@chromium.org
TEST=cctest/test-heap-profiler --stress-compaction
Review URL: https://codereview.chromium.org/
11413183
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 27 Nov 2012 12:52:51 +0000 (12:52 +0000)]
Make unit tests that fill new-space work under stress.
This makes sure that unit tests that try to fill up the new-space work
on the GC stress buildbots as well.
R=yangguo@chromium.org
TEST=cctest/test-heap --gc-interval=500 --stress-compaction
Review URL: https://codereview.chromium.org/
11416200
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 27 Nov 2012 12:01:14 +0000 (12:01 +0000)]
Avoid double initialization of arrays.
Review URL: https://chromiumcodereview.appspot.com/
11413179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 26 Nov 2012 16:16:49 +0000 (16:16 +0000)]
Forward white to grey transition only if slot is before the progress bar of a given object.
BUG=
Review URL: https://codereview.chromium.org/
11415070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00