Commit Graph

10795 Commits

Author SHA1 Message Date
yangguo@chromium.org
53adf3b19c 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
2013-03-21 10:47:34 +00:00
mstarzinger@chromium.org
788de160c5 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
2013-03-21 10:36:57 +00:00
mstarzinger@chromium.org
222d8d3d1c 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
2013-03-21 10:28:03 +00:00
yangguo@chromium.org
5fcc52fcb9 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
2013-03-21 08:50:29 +00:00
palfia@homejinni.com
2820eeb61e 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
2013-03-20 21:43:30 +00:00
danno@chromium.org
f8b4fbb3a9 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
2013-03-20 19:13:01 +00:00
jkummerow@chromium.org
e4c4f9ccf7 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
2013-03-20 18:04:45 +00:00
palfia@homejinni.com
d6ceb193fe 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
2013-03-20 17:29:04 +00:00
dslomov@chromium.org
fc856413fa 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
2013-03-20 17:20:48 +00:00
mstarzinger@chromium.org
5d5ca10d24 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
2013-03-20 16:53:31 +00:00
ulan@chromium.org
ff3e79807e 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
2013-03-20 15:20:19 +00:00
yurys@chromium.org
a6adb64336 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
2013-03-20 14:46:09 +00:00
yangguo@chromium.org
b522319a98 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
2013-03-20 14:07:30 +00:00
verwaest@chromium.org
a23caf9f71 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
2013-03-20 13:12:33 +00:00
yurys@chromium.org
95bfca8828 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
2013-03-20 13:07:48 +00:00
yurys@chromium.org
8204dfa186 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
2013-03-20 12:41:00 +00:00
dslomov@chromium.org
cdf4bb5ae2 Fixed whitespace
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 12:01:57 +00:00
dslomov@chromium.org
110003ca2a Remove boilerplate code from HydrogenCodeStubs
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 12:01:49 +00:00
mstarzinger@chromium.org
b07f94c26a 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
2013-03-20 11:29:46 +00:00
danno@chromium.org
ffd0c712e8 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
2013-03-20 10:37:13 +00:00
yangguo@chromium.org
9673d7944c 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
2013-03-20 10:33:26 +00:00
verwaest@chromium.org
91d8d9dbab 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
2013-03-20 10:22:49 +00:00
mstarzinger@chromium.org
d269364fd6 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
2013-03-20 10:13:29 +00:00
yurys@chromium.org
d447716029 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
2013-03-20 08:38:17 +00:00
jkummerow@chromium.org
902d3e3e7d 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
2013-03-19 17:50:03 +00:00
mstarzinger@chromium.org
c5c5d35967 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
2013-03-19 16:48:45 +00:00
yurys@chromium.org
31e51f98fa 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
2013-03-19 15:17:22 +00:00
mstarzinger@chromium.org
cc38e56fdf 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
2013-03-19 14:57:42 +00:00
verwaest@chromium.org
002ba9c76d 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
2013-03-19 13:11:49 +00:00
yurys@chromium.org
a8e9bebabd 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
2013-03-19 12:44:10 +00:00
dcarney@chromium.org
996f5aef8b 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
2013-03-19 10:06:20 +00:00
mvstanton@chromium.org
6fa9a2976f 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
2013-03-19 08:41:37 +00:00
yurys@chromium.org
a5be5da2e8 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
2013-03-19 08:11:56 +00:00
palfia@homejinni.com
87ab8ab1ea 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
2013-03-18 17:56:35 +00:00
mstarzinger@chromium.org
859a7154bc 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
2013-03-18 17:36:47 +00:00
mmassi@chromium.org
2416d69183 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
2013-03-18 17:36:24 +00:00
mstarzinger@chromium.org
e5db8a93df 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
2013-03-18 16:27:58 +00:00
rossberg@chromium.org
93bba581da 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
2013-03-18 16:18:05 +00:00
rossberg@chromium.org
e36da6d219 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
2013-03-18 16:04:27 +00:00
verwaest@chromium.org
010f36f94b 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
2013-03-18 15:49:33 +00:00
palfia@homejinni.com
311ad5de54 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
2013-03-18 14:42:46 +00:00
svenpanne@chromium.org
458b8ddd0a 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
2013-03-18 14:41:55 +00:00
mstarzinger@chromium.org
291450547e 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
2013-03-18 14:31:21 +00:00
verwaest@chromium.org
ab782e585f 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
2013-03-18 14:31:08 +00:00
rossberg@chromium.org
295e74275e 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
2013-03-18 14:03:15 +00:00
svenpanne@chromium.org
e4e4447305 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
2013-03-18 13:57:49 +00:00
verwaest@chromium.org
37a2e32496 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
2013-03-18 13:35:17 +00:00
jkummerow@chromium.org
e2cd7aa423 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
2013-03-18 12:41:52 +00:00
yangguo@chromium.org
ebcecd49af 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
2013-03-18 11:26:09 +00:00
mmassi@chromium.org
73e83b0b0f 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
2013-03-18 08:06:00 +00:00