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
svenpanne@chromium.org [Fri, 15 Mar 2013 12:38:26 +0000 (12:38 +0000)]
Prepare push to trunk. Now working on version 3.17.12.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12831009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13955
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 15 Mar 2013 12:07:35 +0000 (12:07 +0000)]
Load/Store stub compilation refactoring.
Review URL: https://chromiumcodereview.appspot.com/
12426008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 15 Mar 2013 12:06:53 +0000 (12:06 +0000)]
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.
I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12716010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 15 Mar 2013 11:52:58 +0000 (11:52 +0000)]
Pass Isolate through CompilingCallsToThisStubIsGCSafe calls
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12732010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Mar 2013 16:35:32 +0000 (16:35 +0000)]
Parallel recompilation: fix concurrency issues.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12831003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 14 Mar 2013 15:28:15 +0000 (15:28 +0000)]
ARM: Tweak ECMAToInt32VFP to address regression on Nexus 4
After r13912, we saw a small regression in Kraken crypto-aes and
crypto-ccm on Nexus 4. This patch, proposed by Rodolph Perfetta,
addresses that without regressing other platforms.
Instead of looking at the exponent of double_input and trying to figure
out if the conversion will overflow, eagerly do the VCVT and return
early unless it saturated.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/
12544025
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Mar 2013 15:15:37 +0000 (15:15 +0000)]
Allow inlining of functions containing array literals.
R=jkummerow@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://codereview.chromium.org/
12642011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 14 Mar 2013 14:42:00 +0000 (14:42 +0000)]
Fixed two register allocator bugs (off-by-one error/failure propagation).
Minor cleanups on the way, e.g. making sure that we never use something after an allocation failed. Style question: Should we switch to some kind of MUST_USE_RESULT-style to ensure that we handle failures consistently? Not sure...
BUG=v8:2576
Review URL: https://codereview.chromium.org/
12867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Mar 2013 14:29:10 +0000 (14:29 +0000)]
Allow inlining of functions containing function literals.
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals
Review URL: https://codereview.chromium.org/
10702036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 14 Mar 2013 11:08:05 +0000 (11:08 +0000)]
MIPS: Fix test262 regression.
This regression was introduced by r13705 (
fd03c7d6)
BUG=test262/data/test/suite/ch11/11.13/11.13.2
Review URL: https://codereview.chromium.org/
12844005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 14 Mar 2013 10:59:58 +0000 (10:59 +0000)]
MIPS: Fix AssertName() in MacroAssembler.
This commit fixes several debug mode test failures.
BUG=mjsunit/keyed-call-generic,mjsunit/keyed-call-ic
Review URL: https://codereview.chromium.org/
12693012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 14 Mar 2013 10:58:21 +0000 (10:58 +0000)]
MIPS: Refactoring Store ICs. A first step towards polymorphic store ICs.
Port r13934 (
656ce093)
BUG=
Review URL: https://codereview.chromium.org/
12603003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 14 Mar 2013 09:15:39 +0000 (09:15 +0000)]
Execute a memory barrier when adding a new page to a space to synchronize access with concurrent sweepers.
BUG=
Review URL: https://codereview.chromium.org/
12342017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 14 Mar 2013 08:32:52 +0000 (08:32 +0000)]
Allow direct allocation in old pointer space.
BUG=
Review URL: https://codereview.chromium.org/
12314155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 13 Mar 2013 20:04:50 +0000 (20:04 +0000)]
remove latin-1 flag
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12700008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 13 Mar 2013 19:43:45 +0000 (19:43 +0000)]
Some Utf8Length microoptimizations
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Wed, 13 Mar 2013 18:35:30 +0000 (18:35 +0000)]
Fix Windows build
TBR=jkummerow
Review URL: https://codereview.appspot.com/7790043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
alph@chromium.org [Wed, 13 Mar 2013 17:38:04 +0000 (17:38 +0000)]
Fix huge heap snapshot when a heavily shared context has many variables
Prevously v8 put a link to each context variable into a function where
the variable is visible.
Because of that if there are N functions sharing a context having M variables
then N*M links were created for the snapshot.
The fix makes v8 to put the links into the context object.
BUG=145687
TEST=test-heap-snapshot/ManyLocalsInSharedContext
Review URL: https://codereview.appspot.com/7715044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 16:13:05 +0000 (16:13 +0000)]
Parallel recompilation: fewer handle dereferences and tighter checks.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 13 Mar 2013 14:11:05 +0000 (14:11 +0000)]
Refactoring Store ICs. A first step towards polymorphic store ICs.
Review URL: https://chromiumcodereview.appspot.com/
12781004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13934
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 13 Mar 2013 13:15:09 +0000 (13:15 +0000)]
Made AdjustAmountOfExternalAllocatedMemory an instance method of Isolate
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12790004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 13 Mar 2013 13:14:25 +0000 (13:14 +0000)]
remove maynamedaccess checks
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12822002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 13 Mar 2013 13:03:59 +0000 (13:03 +0000)]
In ArrayConstructor_StubFailure the transition elements kind was
ignored on allocation.
BUG=
Review URL: https://codereview.chromium.org/
12767004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 11:44:07 +0000 (11:44 +0000)]
Remove unused field.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12789004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 13 Mar 2013 11:40:26 +0000 (11:40 +0000)]
Use IsRuntimeEntry for RUNTIME_ENTRY comparison
Review URL: https://codereview.chromium.org/
12702005
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 13 Mar 2013 11:05:48 +0000 (11:05 +0000)]
HInnerAllocatedObject instruction allows hydrogen code to carve up
allocated regions into sub objects.
BUG=
Review URL: https://codereview.chromium.org/
12812002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13928
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 13 Mar 2013 09:30:31 +0000 (09:30 +0000)]
Prepare push to trunk. Now working on version 3.17.11.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12827002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Mar 2013 09:28:08 +0000 (09:28 +0000)]
DateField cache should check the ExternalOperand instead of ExternalReference on X64
Review URL: https://chromiumcodereview.appspot.com/
12637025
Patch from Weiliang Lin <weiliang.lin2@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 12 Mar 2013 20:15:03 +0000 (20:15 +0000)]
Use InternalArray in Object.getOwnPropertyNames() implementation
Review URL: https://codereview.chromium.org/
12342003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 18:03:18 +0000 (18:03 +0000)]
Parallel recompilation: remove interrupt for code generation.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12488006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 17:35:33 +0000 (17:35 +0000)]
Rename android_build_type to android_webview_build.
Rename this gyp variable to something meaningful to better explain what
it actually does.
BUG=184431
Review URL: https://chromiumcodereview.appspot.com/
12605007
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Mar 2013 17:33:51 +0000 (17:33 +0000)]
Correctly override parallel recompilation flag for test case.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12655006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 12 Mar 2013 17:01:03 +0000 (17:01 +0000)]
Polymorphism support for numbers and strings
Necessary to support fast polymorphic toString.
Review URL: https://chromiumcodereview.appspot.com/
12702002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 12 Mar 2013 15:37:23 +0000 (15:37 +0000)]
Use an efficient graph constant in CodeStubGraphBuilderBase::BuildGraph().
Improve printing for HReturn.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12585004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Tue, 12 Mar 2013 11:25:50 +0000 (11:25 +0000)]
ARM: Optimsisation of ECMA ToInt32.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
12567004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 10:05:42 +0000 (10:05 +0000)]
Consistently pass a Heap* to HashTable-related AsObject methods.
This is basically a follow-up CL to https://code.google.com/p/v8/source/detail?r=13908.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12546024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 12 Mar 2013 09:06:23 +0000 (09:06 +0000)]
MIPS: To fully support hydrogen code stubs which accept a variable number of arguments, the HReturn/LReturn instruction needs to be able to determine argument count from a stack evaluation rather than as a constant from scope.
Port r13888 (
33905114)
BUG=
Review URL: https://codereview.chromium.org/
12414011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 08:00:20 +0000 (08:00 +0000)]
Unbreak readline support.
Things are still far from being nice, the editor registration/handling in d8 is
still embarrassing. Nevertheless things work with readline support again. Fixed
a missing Locker on the way.
TBR=adamk@chromium.org
Review URL: https://codereview.chromium.org/
12494010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Mar 2013 07:06:36 +0000 (07:06 +0000)]
Added an Isolate parameter to some HashTable/Dictionary methods. TypeFeedbackOracle tweaks.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12764003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13908
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 11 Mar 2013 15:11:39 +0000 (15:11 +0000)]
Cleanup the copying of ICs to the Megamorphic Code Cache
Review URL: https://chromiumcodereview.appspot.com/
12521007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13907
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 11 Mar 2013 14:17:32 +0000 (14:17 +0000)]
MIPS: Fix white space matching in latin-1 strings wrt \u00a0.
Port r13898 (
bcc5b57f)
BUG=
Review URL: https://codereview.chromium.org/
12771005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13906
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:11:03 +0000 (14:11 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
Review URL: https://codereview.chromium.org/
11574027
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:09:21 +0000 (14:09 +0000)]
Revert r13901 to reland with proper credit to external contributor.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12638011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13902
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 11 Mar 2013 14:05:49 +0000 (14:05 +0000)]
Use direct jump and call instruction for X64 when the deoptimization entries are in the code range.
Review URL: https://codereview.chromium.org/
11574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00