yangguo@chromium.org [Fri, 21 Jun 2013 08:38:12 +0000 (08:38 +0000)]
Use mutex instead of busy wait when installing optimized function.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17099012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 21 Jun 2013 08:37:05 +0000 (08:37 +0000)]
Clean up queued compilation tasks when quitting.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 21 Jun 2013 07:56:22 +0000 (07:56 +0000)]
Delete deprecated methods from v8-profiler.h
All these methods were already marked as V8_DEPRECATED in V8 Version 3.18.0 (see https://code.google.com/p/v8/source/browse/trunk/include/v8-profiler.h?r=14304) so it is time to delete them.
BUG=None
R=loislo@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17524007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 21 Jun 2013 02:43:13 +0000 (02:43 +0000)]
MIPS: Let NaN flow as double into HBranch + some minor improvements
Port r15246 (
cb18dce2)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
17198012
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 20 Jun 2013 23:43:10 +0000 (23:43 +0000)]
MIPS: Generators: Avoid calling into runtime if operand stack is empty
Port r15240 (
909f716e)
Original commit message:
This patch makes yield sites save the resume continuation and context
inline. If the operand stack is empty, we can avoid a call into the
runtime. This also makes the SuspendJSGeneratorObject runtime function
less magical: it just has to save the operand stack and stack handlers.
This speeds up the following case by a factor of 3 or so:
function* until(n) {
for (var i = 0; i < n; i++)
yield i;
}
function sum(iter) {
var sum = 0;
for (var x of iter) sum += x;
return sum;
}
for (var i = 0; i < 10000; i++) sum(until(1000))
Also, there is no more sentinel value as the generators will resume in
the right place already, allowing me to remove the hack added to the
--debug-code check in r14437.
BUG=
Review URL: https://codereview.chromium.org/
17291016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 20 Jun 2013 20:18:58 +0000 (20:18 +0000)]
MIPS: Lithium codegen should not pass around block_ids.
Port r15235 (95a844b)
Original commit message:
Rather encapsulate the basic block to assembly label mapping in the LInstruction.
BUG=
Review URL: https://codereview.chromium.org/
17504002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 20 Jun 2013 16:54:09 +0000 (16:54 +0000)]
Handle MONOMORPIC loads where type feedback is code stub
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17451019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 20 Jun 2013 16:53:22 +0000 (16:53 +0000)]
Add counters for requested/inserted/executed soft deopts
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
17498003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 20 Jun 2013 15:29:22 +0000 (15:29 +0000)]
MIPS: Fix stack frame reconstruction for generators with formal arguments.
Port r15230 (e2bbe01)
Original commit message:
The formal parameter count was always being treated as an untagged
integer, but it is actually a Smi on ia32 and arm.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
17261028
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 20 Jun 2013 14:47:35 +0000 (14:47 +0000)]
Make sure ExternalCallbackScope is always created when VM state changes to EXTERNAL
ExternalCallbackScope is used to let CPU profiler know which API callback is being executed. Whenever such callback is called we should create VMState<ETERNAL> and ExternalCallbackScope. This patch fixes several places where VMState<ETERNAL> went without ExternalCallbackScope.
BUG=244580
R=dcarney@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17059005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 14:20:15 +0000 (14:20 +0000)]
Also apply InferControlFlowRange to smi-based tests.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16870011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15248
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 14:11:52 +0000 (14:11 +0000)]
Improve range analysis for smi phi
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17498002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15247
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Thu, 20 Jun 2013 13:51:03 +0000 (13:51 +0000)]
Let NaN flow as double into HBranch + some minor improvements
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
17082003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15246
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 13:46:29 +0000 (13:46 +0000)]
Properly assign heapobject to constant functions.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17406009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 13:22:46 +0000 (13:22 +0000)]
Flexible representation for BuildIncrement, but CannotBeTagged.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17028017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 13:09:43 +0000 (13:09 +0000)]
Add soft-deopt for uninitialized assignment
R=hpayer@google.com
Review URL: https://chromiumcodereview.appspot.com/
17071002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 20 Jun 2013 12:59:45 +0000 (12:59 +0000)]
Generators: Avoid calling into runtime if operand stack is empty
This patch makes yield sites save the resume continuation and context
inline. If the operand stack is empty, we can avoid a call into the
runtime. This also makes the SuspendJSGeneratorObject runtime function
less magical: it just has to save the operand stack and stack handlers.
This speeds up the following case by a factor of 3 or so:
function* until(n) {
for (var i = 0; i < n; i++)
yield i;
}
function sum(iter) {
var sum = 0;
for (var x of iter) sum += x;
return sum;
}
for (var i = 0; i < 10000; i++) sum(until(1000))
Also, there is no more sentinel value as the generators will resume in
the right place already, allowing me to remove the hack added to the
--debug-code check in r14437.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15990004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 12:53:19 +0000 (12:53 +0000)]
deprecate old style callbacks
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17069003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15239
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 20 Jun 2013 12:51:36 +0000 (12:51 +0000)]
Use +kCallerSPOffset instead of -kMarkerOffset to compute the args pointer
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17451014
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 12:28:27 +0000 (12:28 +0000)]
remove all old style callbacks - patch 3
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17336003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 12:07:56 +0000 (12:07 +0000)]
Fix the flags used to probe the megamorphic code cache.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17448017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Thu, 20 Jun 2013 11:50:50 +0000 (11:50 +0000)]
Lithium codegen should not pass around block_ids. Rather encapsulate the basic block to assembly label mapping in the LInstruction.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17276002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 20 Jun 2013 11:47:58 +0000 (11:47 +0000)]
Report store buffer overflows to v8 counters.
BUG=
R=jkummerow@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 20 Jun 2013 11:23:34 +0000 (11:23 +0000)]
Don't let the GC clear the cache between cache invocations to pass test.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
17218005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 11:03:04 +0000 (11:03 +0000)]
windows test fix for 15221
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16831020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Jun 2013 11:01:33 +0000 (11:01 +0000)]
Skip parallel recompilation tests if parallel recompilation is disabled.
Parallel recompilation is usually disabled on single-core systems.
R=jkummerow@chromium.org
BUG=v8:2733
Review URL: https://codereview.chromium.org/
17261021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 20 Jun 2013 10:48:34 +0000 (10:48 +0000)]
Fix stack frame reconstruction for generators with formal arguments
The formal parameter count was always being treated as an untagged
integer, but it is actually a Smi on ia32 and arm.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/
17485002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15230
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 20 Jun 2013 10:48:14 +0000 (10:48 +0000)]
Revert r14930 and r14935 temporarily.
This is a temporary revert to track down a potential perf regression
introduced in r14930. The following two changes were reverted:
- "Deprecate HAllocateObject in favor of HAllocate."
- "Added pretenuring support for call new."
R=danno@chromium.org
BUG=chromium:247504
Review URL: https://codereview.chromium.org/
17491002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 20 Jun 2013 10:05:33 +0000 (10:05 +0000)]
Make isolate id getter public.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17343004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 20 Jun 2013 10:04:53 +0000 (10:04 +0000)]
Abort incremental marking in stress gc tests whenever we expect a full collection after executing CollectAllGarbage.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17482003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Jun 2013 09:19:19 +0000 (09:19 +0000)]
Merge assignment handling for Assignment and CompoundAssignment
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17328005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 09:10:19 +0000 (09:10 +0000)]
symbols should be in the startup snapshot
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17366004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 20 Jun 2013 09:10:10 +0000 (09:10 +0000)]
Introduce Type::Intersect function
Also, fix bugs in Type::Union and Type::Maybe.
(This subsumes the in-flight fix for Union in https://codereview.chromium.org/
16925008/, including test cases).
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17335003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15224
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 20 Jun 2013 08:13:21 +0000 (08:13 +0000)]
Directly use C++ builtin of ArrayPush for String.prototype.split.
R=svenpanne@chromium.org
BUG=v8:2737
Review URL: https://codereview.chromium.org/
17283007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15223
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 08:12:59 +0000 (08:12 +0000)]
remove all old style callbacks - patch 1 of many
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17064004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 20 Jun 2013 08:07:45 +0000 (08:07 +0000)]
remove all old style callbacks - patch 2
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17071004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 20 Jun 2013 06:46:56 +0000 (06:46 +0000)]
Introduce THREADED_PROFILED_TEST macro
A bunch of tests in test-api.cc need to be executed two times: with CPU profiler on and off to check different code paths. There are only two such tests at the moment but I'm going to add more and having this logic duplicated in all these tests look awkward. The tests are executed as part of Threading* tests and there is no much sense in running CPU profiler in that case. This change addresses both problems by introducing THREADED_PROFILED_TEST macro which mosly resembles THREADED_TEST except that when such test is executed as a standalone test (not part of a test-api/Threading*) it will first run the test normally and the start CPU profiler and run the test again.
BUG=244580
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17072002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 20 Jun 2013 06:23:34 +0000 (06:23 +0000)]
Fix data race in v8::internal::UnboundQueue
This change modifies memory accesses to ensure proper load/store ordering.
BUG=249750
R=dvyukov@google.com, jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17294004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 20 Jun 2013 06:16:24 +0000 (06:16 +0000)]
Nuke OS::ReleaseStore, use Release_Store instead
The operation is already implemented in atomicops.h No need to duplicate the code.
BUG=None
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17222004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 20 Jun 2013 06:13:03 +0000 (06:13 +0000)]
Fix typo in #undef parameter
BUG=None
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
17176003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Jun 2013 18:07:35 +0000 (18:07 +0000)]
Fix using monomorphic store instruction for polymorphic stores.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16875008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 19 Jun 2013 17:20:25 +0000 (17:20 +0000)]
MIPS: Fix test-cpu-profiler/SampleWhenFrameIsNotSetup flakiness on MIPS simulator.
BUG=v8:2628
TEST=cctest/test-cpu-profiler/SampleWhenFrameIsNotSetup
R=jkummerow@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
17265004
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 19 Jun 2013 17:15:21 +0000 (17:15 +0000)]
MIPS: Fix cctest/test-assembler-mips on MIPS32R1 architecture.
TEST=cctest/test-assembler-mips/MIPS3
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17099010
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Wed, 19 Jun 2013 17:08:46 +0000 (17:08 +0000)]
MIPS: Use type feedback for Array (non-constructor) call sites.
Port r15201 (8c56d50)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
17447004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Jun 2013 17:01:43 +0000 (17:01 +0000)]
Lower limit for external allocation and improve tracing.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
16896012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Jun 2013 17:00:01 +0000 (17:00 +0000)]
Deprecate old code aging mechanism.
The old code aging mechanism is too agressive with flushing as it leads
to many functions being flushed and recompiled over and over again. By
now the new code aging mechanism has stabilized enough to deprecate the
old fallback mechanism.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17061004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 19 Jun 2013 16:50:38 +0000 (16:50 +0000)]
Remove unused counters
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17157006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 19 Jun 2013 13:48:50 +0000 (13:48 +0000)]
Bugfix in hydrogen array literal code generation.
If an array literal contains some non-constant elements, is of type SMI, and
then the boilerplate transitions to double or fast sometime after we've
crankshafted the code, then we could incorrectly store smis in double arrays.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
17334004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15207
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Jun 2013 12:25:40 +0000 (12:25 +0000)]
Avoid relying on monkey-patchable things in String.prototype.split.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
17391016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15206
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 19 Jun 2013 11:53:30 +0000 (11:53 +0000)]
Do not use weak handles for ArrayBuffers.
Instead of allocating weak handles to free ArrayBuffer backing store, dispose of memory while walking the weak list of ArrayBuffers on GC.
Also, free all array buffers on isolate tear-down.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16950013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15205
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 19 Jun 2013 09:38:28 +0000 (09:38 +0000)]
Always reset allowed OSR nesting level when reverting interrupt code patches.
Also, --trap-on-deopt should only affect optimized functions, not hydrogen stubs.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
16848020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 19 Jun 2013 09:36:38 +0000 (09:36 +0000)]
x64: LAddI must use LEAL, not LEAQ
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17448005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 19 Jun 2013 09:32:05 +0000 (09:32 +0000)]
Fix test for bots that force --parallel-recompilation as shell flag.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16914006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 19 Jun 2013 09:25:24 +0000 (09:25 +0000)]
Use type feedback for Array (non-constructor) call sites.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
17155010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 19 Jun 2013 08:59:56 +0000 (08:59 +0000)]
Removed ReplaceResultBuilder.
Most of its code was dead, and the remaining part was a simple
one-liner, which is now inlined at its single call-site.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
17101021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 19 Jun 2013 08:58:09 +0000 (08:58 +0000)]
Disable stress_compaction flag in several GC tests to meet test
expectations.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17262002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15199
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 19 Jun 2013 08:57:26 +0000 (08:57 +0000)]
Move static flag modifications to V8::InitializeOncePerProcessImpl().
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17250006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Jun 2013 07:48:41 +0000 (07:48 +0000)]
Make Zone::allocation_size work with parallel zones.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
16858018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Jun 2013 14:36:17 +0000 (14:36 +0000)]
Tweak type info threshold.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
17390004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15196
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Jun 2013 14:25:24 +0000 (14:25 +0000)]
Do not modify FLAG_parallel_recompilation after start up.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
17202006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15195
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 18 Jun 2013 13:32:06 +0000 (13:32 +0000)]
Remove obsolete elements kind check for array literals.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17378005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Jun 2013 13:06:22 +0000 (13:06 +0000)]
Turn on parallel recompilation.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
17394002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 18 Jun 2013 11:42:34 +0000 (11:42 +0000)]
Prepare push to trunk. Now working on 3.19.19.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17392002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 18 Jun 2013 07:51:50 +0000 (07:51 +0000)]
Fixed read-only attribute of Function.length in strict mode.
R=cira@chromium.org
Review URL: https://codereview.chromium.org/
17006006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 18 Jun 2013 07:39:15 +0000 (07:39 +0000)]
added type checks on fast return values
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16939003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 17 Jun 2013 18:00:23 +0000 (18:00 +0000)]
Make sure GCMole pukes when Clang invocation fails.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16878003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 17 Jun 2013 17:42:27 +0000 (17:42 +0000)]
Fix Runtime_SetProperty to properly handle OOM failures
BUG=chromium:249873
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17167002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 17 Jun 2013 16:37:15 +0000 (16:37 +0000)]
MIPS: Fix constant function transition. Insert return instruction before returning.
Port r15180 (
2f9dcce3)
BUG=
Review URL: https://codereview.chromium.org/
17088008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 17 Jun 2013 16:27:18 +0000 (16:27 +0000)]
Allow running mjsunit/manual-parallel-recompile on single-core systems.
- Add an %IsParallelSupported() builtin function to make possible to check support of parallel processing from JavaScripts.
- Change the test script that if parallel recompilation is forced on a single core CPU, expect that it won't be recompiled in parallel.
- Change the JSFunction::MarkForParallelRecompilation() to fall back gracefully if parallel recompilation is not supported.
BUG=v8:2733
TEST=mjsunit/manual-parallel-recompile
Review URL: https://codereview.chromium.org/
17277002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 17 Jun 2013 16:10:01 +0000 (16:10 +0000)]
Emit deprecated check for constant function transitions.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17287003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Mon, 17 Jun 2013 15:19:44 +0000 (15:19 +0000)]
Add Gergely Kis to MIPS owners file.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17175003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 17 Jun 2013 15:06:41 +0000 (15:06 +0000)]
MIPS: Optimise Math.floor(x/y) to use integer division for MIPS.
Use div instruction if some divisors do not have magic number.
Based on commit r11427 (
318a9598).
This commit also ports commit r15161 (
554d45c1).
BUG=
Review URL: https://codereview.chromium.org/
16951016
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 17 Jun 2013 13:50:56 +0000 (13:50 +0000)]
Fix constant function transition. Insert return instruction before returning.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17250003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 17 Jun 2013 11:11:41 +0000 (11:11 +0000)]
Fix bogus replay of arguments object binding in LChunkBuilder.
R=jkummerow@chromium.org
BUG=chromium:249894
TEST=webkit:fast/js/regress/inline-arguments-access.html
Review URL: https://codereview.chromium.org/
16938009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 17 Jun 2013 06:52:01 +0000 (06:52 +0000)]
Fix Iteration on gc stress builder.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17069004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 17 Jun 2013 06:44:44 +0000 (06:44 +0000)]
Fix Regress1465 on gc stress builder.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17059006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 17 Jun 2013 06:36:46 +0000 (06:36 +0000)]
Fix Regress2237 on gc stress builder.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17081002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 14 Jun 2013 18:15:49 +0000 (18:15 +0000)]
Fix MathFloorOfDiv optimization on non-SDIV ARM
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
17069006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 17:25:03 +0000 (17:25 +0000)]
Revert "Improved range analysis for bitwise operations."
This reverts commit r15170
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17093005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 14 Jun 2013 17:02:39 +0000 (17:02 +0000)]
Migrate BinaryOpICs and UnaryOpICs to new type rep
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
16957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 14 Jun 2013 17:00:24 +0000 (17:00 +0000)]
MIPS: Refactor only: Rename JSGlobaPropertyCell to PropertyCell
Port r15165 (
daf37483)
BUG=
Review URL: https://codereview.chromium.org/
17064007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 16:55:34 +0000 (16:55 +0000)]
Improved range analysis for bitwise operations.
R=fschneider@chromium.org, verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9156001
Patch from Stephen Adams <sra@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 14 Jun 2013 16:50:50 +0000 (16:50 +0000)]
Add missing NULL check to TypeFeedbackOracle::CompareTypes()
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
17096003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 14 Jun 2013 16:27:52 +0000 (16:27 +0000)]
Fix MathFloorOfDiv canonicalization ASSERT failures
- remove outdated ASSERT about instruction type
- add inserted HChanges to the graph
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17094005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 14 Jun 2013 16:06:12 +0000 (16:06 +0000)]
Refactor only: Rename JSGlobaPropertyCell to PropertyCell
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
17064002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 14 Jun 2013 16:04:58 +0000 (16:04 +0000)]
Make --trace-code-flushing uniform with other tracing.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17059007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 14 Jun 2013 15:58:44 +0000 (15:58 +0000)]
This test fails sometimes on all platforms.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17030010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15163
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 14 Jun 2013 14:57:14 +0000 (14:57 +0000)]
HasUnexpectedOutput() is evaluated two times for each test run.
This fix removes the redundant call to allow heavy text comparisons through overwriting of that method.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
17089003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 14 Jun 2013 14:33:15 +0000 (14:33 +0000)]
Make MathFloorOfDiv optimization trigger more often
BUG=v8:2205
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
16973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 14 Jun 2013 14:24:03 +0000 (14:24 +0000)]
Reland "Make more GCs in idle notification handler."
Fix performance regression on benchmarks by filtering out short idle
notifications.
R=hpayer@chromium.org
BUG=241815
Review URL: https://chromiumcodereview.appspot.com/
17005005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 14:23:05 +0000 (14:23 +0000)]
When HBranch sees Smi, it sees Smi.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17064006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15159
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 14:16:03 +0000 (14:16 +0000)]
Try convert polymorphic stores into a single monomorphic store.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16975006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15158
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Jun 2013 14:15:05 +0000 (14:15 +0000)]
Increase default type info threshold.
R=jkummerow@chromium.org
BUG=v8:2730
Review URL: https://chromiumcodereview.appspot.com/
17074002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 14:14:07 +0000 (14:14 +0000)]
Only infer int32 in HBoundsCheck if input is double or int32.
R=jkummerow@chromium.org, mmassi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17057004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Jun 2013 14:13:48 +0000 (14:13 +0000)]
Cleanup RepresentationFromUseRequirements, move it to HValue and use it where relevant
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
17005004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15155
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 14 Jun 2013 14:02:09 +0000 (14:02 +0000)]
Prepare push to trunk. Now working on version 3.19.17.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
17043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 14 Jun 2013 13:40:47 +0000 (13:40 +0000)]
build fix for d8-readline for 15142
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17028013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 14 Jun 2013 13:36:13 +0000 (13:36 +0000)]
MIPS: Install a generic handler whenever we fail to update the IC. Ignore select cases in StoreIC since we don't have premonomorphic.
Port r15145 (
e415de7c)
BUG=
Review URL: https://codereview.chromium.org/
17086002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 14 Jun 2013 12:53:19 +0000 (12:53 +0000)]
webkit build fix for 15142
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
17076003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 14 Jun 2013 11:36:55 +0000 (11:36 +0000)]
Decrease size of first page of property cell space.
BUG=
R=danno@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
17027006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00