ulan@chromium.org
7ac7a7ea99
Fix a race between concurrent recompilation and OSR.
...
If concurrent recompilation finishes before OSR, then OSR replaces
the old optimized code without evicting it from the optimized code map.
New functions can get the old optimized code from the optimized code map,
but the old code could be already deoptimized.
BUG=330046
TEST=test/mjsunit/regress-330046.js
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/109033003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-27 09:22:56 +00:00
machenbach@chromium.org
2566c54f15
[Sheriff] Revert "Sync cygwin version with chromium"
...
This reverts commit r18392 for breaking python compatibility on windows bots.
BUG=
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/110993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-26 21:24:31 +00:00
yangguo@chromium.org
fba409447d
Fix GCMole issue.
...
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/104383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-24 08:03:03 +00:00
yangguo@chromium.org
dd5c60e11c
Turn off concurrent sweeping.
...
R=ulan@chromium.org
BUG=v8:3071
LOG=N
Review URL: https://codereview.chromium.org/116223005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 16:48:05 +00:00
yangguo@chromium.org
f9bf10ce6d
Prepare push to trunk. Now working on version 3.24.8.
...
R=ulan@chromium.org
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/103253009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 16:17:23 +00:00
yangguo@chromium.org
d662f8abf7
Add missing PostponeInterruptsScope.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/119763005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 15:41:44 +00:00
yangguo@chromium.org
6ba6d0b4fe
Cache optimized code for OSR.
...
BUG=v8:2637
LOG=N
R=titzer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:42:42 +00:00
yangguo@chromium.org
2a4be7067c
Refactor the compiling pipeline.
...
Goals:
- easier to read, more suitable identifiers.
- better distinction between compiling optimized/unoptimized code
- compiler does not install code on the function.
- easier to add features (e.g. caching optimized code for osr).
- remove unnecessary code.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/110203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:30:35 +00:00
yangguo@chromium.org
f7929d2a87
Reland "Handlify concat string and substring."
...
This relands commit r17490.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/114943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 12:37:56 +00:00
yangguo@chromium.org
8c10fc6aee
Harmony: implement math.hypot.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/118303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 11:13:39 +00:00
yangguo@chromium.org
2e2676a843
Harmony: implement Math.log2 and Math.log10.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/119093006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 10:54:47 +00:00
yangguo@chromium.org
cd7d61cfc2
Fix small spec violation in String.prototype.split.
...
Also slightly extended the test coverage.
R=rossberg@chromium.org
BUG=v8:3026
LOG=Y
Review URL: https://codereview.chromium.org/119093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 10:01:22 +00:00
yurys@chromium.org
18e865d4fa
Delete v8::HeapGraphNode::GetHeapValue
...
BUG=chromium:324769
LOG=N
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/98633009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 09:33:16 +00:00
yangguo@chromium.org
3b0f6c8e4e
Only compile concurrently if enabled, in %OptimizeFunctionOnNextCall.
...
R=ulan@chromium.org
BUG=326474
LOG=N
Review URL: https://codereview.chromium.org/106403007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:42:36 +00:00
yangguo@chromium.org
c61d07e03f
Correctly resolve forcibly context allocated parameters in debug-evaluate.
...
R=ulan@chromium.org
BUG=325676
LOG=Y
Review URL: https://codereview.chromium.org/107243006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:37:03 +00:00
yurys@chromium.org
61c1692c9b
This adds functionality for getting original functions from bound functions.
...
It's of much use when information about function calls is shown on the Events timeline in DevTools: instead of referencing to v8natives.js where bound functions are created, we'll be able to show real function data (name, resource, script line and column numbers) retrieved from original functions.
BUG=None
LOG=Y
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/106763002
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:04:54 +00:00
machenbach@chromium.org
4692a3a7d5
Mark cpu profiler test as flaky on windows.
...
TBR=yurys@chromium.org
BUG=v8:2999
LOG=no
Review URL: https://codereview.chromium.org/120543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-22 14:14:27 +00:00
plind44@gmail.com
21daecb611
MIPS: Improve registers saving for safepoints in deferred code.
...
This reduces code size of initial snapshot by more than 25Kb.
Registers are saved or restored via common stubs, instead of doing it
through inlined push/pop instructions (one instruction per register) in
generated deferred code.
TEST=
BUG=
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/109653013
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 19:44:03 +00:00
plind44@gmail.com
44b69b079f
MIPS: Improve allocate locals to reduce code size.
...
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/104713013
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 19:40:12 +00:00
hpayer@chromium.org
fd6b6acec5
Prepare push to trunk. Now working on version 3.24.7.
...
R=jkummerow@chromium.org , danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/106583004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 19:19:28 +00:00
jochen@chromium.org
8e86ed5068
Revert r18390 - "Roll gyp 1685:1806"
...
Doesn't work with python2.7 - I tested with 2.6 :-/
BUG=none
TBR=hpayer@chromium.org
LOG=n
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 14:35:15 +00:00
jochen@chromium.org
381f913788
Sync cygwin version with chromium
...
231940 - Set executable bit on third_party/cygwin/bin/dos2unix.exe
229213 - Add back module paths from old python_26 configuration.
228972 - Remove old python from path.
133786 - Add the svn:executable property to these .bat files
LOG=n
BUG=none
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/111523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 14:25:10 +00:00
vegorov@chromium.org
79ad8bf2e0
Fix sporadic crash in the RequestInterruptTestWithNativeAccessor.
...
The test was broken. V8 currently does not correctly lookup NativeDataProperty accessors attached to the PrototypeTemplate of FunctionTemplate (Issue 3066). As the result while(obj.shouldContinue) loop was immediately exiting and the test would terminate while RequestInterruptTestBase::InterruptThread would be still starting up. As the result later InterruptThread would try to access members of the test object which was destroyed.
The test was fixed:
- instead of attaching accessor to PrototypeTemplate we attach it to InstanceTemplate;
- an assertion was added to verify that we completed the test successfully due to interruptor firing not due to sporadic loop termination due to some unrelated bug.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/109653010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 14:07:19 +00:00
jochen@chromium.org
e84e2abde2
Roll gyp 1685:1806
...
Too many updates to summarize them here.
BUG=none
LOG=n
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/109073004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 13:36:50 +00:00
jkummerow@chromium.org
315b0c6a30
Delete unused TypeInfo class
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/105313008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 13:33:20 +00:00
titzer@chromium.org
be32761a67
Improve load elimination handling of transitioning stores.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/106973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:12:41 +00:00
rossberg@chromium.org
b882bddcfd
Make a strict function's "name" property non-writable.
...
Set [[Writable]] to false for the "name" property of strict
functions as well, mirroring what non-strict functions have
it as.
LOG=N
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-270142
BUG=270142
Review URL: https://codereview.chromium.org/99203006
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:06:11 +00:00
hpayer@chromium.org
f583b73b70
Revert "Remove flag track-allocation-sites."
...
This reverts commit 6c430da40efe388035504d3603756aa8c46ed1dc.
BUG=
Review URL: https://codereview.chromium.org/109303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:04:34 +00:00
mvstanton@chromium.org
e654c88fab
Remove flag track-allocation-sites.
...
The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/104923010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:46:31 +00:00
svenpanne@chromium.org
e595dc0368
Revert "More API cleanup."
...
This reverts r18383. The CL in itself is OK, we just have to wait until Chrome's commit queue lands the final corresponding change and re-land this CL. :-/
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/119013004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:35:53 +00:00
svenpanne@chromium.org
d54a4e6d40
More API cleanup.
...
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.
* Removed Integer::New and Integer::NewUnsigned with weird argument order.
Chrome CLs matching this change are prepared, BTW.
LOG=y
BUG=324225
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/118523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 10:49:27 +00:00
jochen@chromium.org
fdbf271b78
Always terminate the task queue
...
BUG=none
LOG=n
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/107503005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 09:09:04 +00:00
jochen@chromium.org
1b93245a76
Lazily initialize thread pool to avoid allocating all the threads during startup
...
R=hpayer@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/98123004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 08:34:42 +00:00
jochen@chromium.org
e6ef64c590
[platform] Implement a worker pool
...
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.
I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.
BUG=v8:3015
R=hpayer@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/104583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00
yurys@chromium.org
0dbbedc344
Fix number of parameters passed into PrepareCallCFunction in code age stubs
...
In r16710 Additional parameter (Isolate) was added to parameter lists of some native functions called from the generated code. However, corresponding PrepareCallCFunction arguments changed only on i32. This CL updates other architectures to match actual value.
BUG=None
LOG=None
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/74753006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:46:02 +00:00
yurys@chromium.org
4b6ada0f55
Avoid SLOW_ASSERT when calling HeapGraphNode::GetChildrenCount
...
It may occur that GetChildrenCount is called on the node which has no children and stored last in the internal nodes array. In that case HeapEntry::children_arr() would fail when taking address of the element at index children_index_ which is past the last element in the children's array.
BUG=None
LOG=N
R=alph@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/112623005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:33:22 +00:00
titzer@chromium.org
1f679a58f7
Improve check elimination with branch sensitivity on HCompareObjectEqAndBranch.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/106733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 17:42:21 +00:00
vegorov@chromium.org
0b5b395bc1
Try fixing NaCl V8 compilation failure by initializing interrupt_callback_data_.
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/116093006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 17:09:38 +00:00
vegorov@chromium.org
bc77d4d60a
Reland r18363.
...
Introduce API to temporarily interrupt long running JavaScript code.
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
Changes from r18363:
- includes r18364 to fix compilation errors: removes debugging only code;
- makes interrupiton related tests not threaded, because they rely on having exclusive access to the V8 instance and the fact that they can only interrupt themselves, if they are interrupted from the outside they break;
- changes HasStackCheck predicate used during SCE pass to avoid handles dereference to make SCE compatible with parallel recompilation.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/104823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:45:58 +00:00
jochen@chromium.org
0fea01de4e
Use concurrent sweeping instead of parallel sweeping by default.
...
LOG=n
R=hpayer@chromium.org , mstarzinger@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/100433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:04:08 +00:00
hpayer@chromium.org
506a77a7d5
Prepare push to trunk. Now working on version 3.24.6.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/98643011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:02:43 +00:00
jkummerow@chromium.org
3c76ecd732
Fix switch statements with non-Smi integer labels and no type feedback
...
BUG=chromium:329709
LOG=Y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/98643010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 14:25:58 +00:00
mvstanton@chromium.org
1dd19c450a
Pretty printing for array code stubs. The minor keys encode things like specialized ElementsKind for each stub. This can be useful to see in disassembly traces.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/110103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 22:51:23 +00:00
mvstanton@chromium.org
3c7aae759b
Pretenure mode was erroneously consulted in FastCloneShallowObjectStub.
...
FastCloneShallowObjectStub is only called from full code. When the code
is optimized, then we'll inline the cloning and respect pretenure mode.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/104403008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 22:43:56 +00:00
hpayer@chromium.org
7305592638
Use an allocation site scratchpad to speed up allocaton site processing during gc.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/99133017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 21:23:56 +00:00
hpayer@chromium.org
9c8d625422
Generalize AllocationMemento::FindForHeapObject and remove corresponding new space check.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/104903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 20:08:54 +00:00
vegorov@chromium.org
dd8a793962
Revert "Introduce API to temporarily interrupt long running JavaScript code."
...
This reverts commit r18363.
Revert "Fix compilation error introduced by r18363."
This reverts commit r18364.
Changes in SCE pass are incompatible with parallel compilation
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/101463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:21:27 +00:00
vegorov@chromium.org
cd045f473e
Fix compilation error introduced by r18363.
...
Remove debugging related code.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/104793005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:01:02 +00:00
vegorov@chromium.org
64d2dfa232
Introduce API to temporarily interrupt long running JavaScript code.
...
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
BUG=
R=danno@chromium.org , dcarney@chromium.org
Review URL: https://codereview.chromium.org/102063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:38:35 +00:00
ishell@chromium.org
e3752b63c0
HStoreKeyed for Smis optimized for x64 + related redundant moves of elements removed
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/108503004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:05:10 +00:00