alph@chromium.org
a7e816db28
Introduce a separate event for CodeDeopt
...
The reuse of CodeCreateEvent for deopt events caused a CodeCreateEvent
fired twice for a code object. When the event was processed for the first
time it seized the no-fp-ranges from code object, so the second event
had no ranges info leaving code entry without them.
As a result when a cpu profile sample falls into the region it missed the
2nd stack frame.
LOG=N
BUG=
R=bmeurer@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/290093005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 05:36:27 +00:00
bmeurer@chromium.org
6683b4b9dd
Transitioning stores change maps.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/296953003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 05:33:37 +00:00
yangguo@chromium.org
d9736047b7
Implement Mirror object for Symbols.
...
R=rossberg@chromium.org , yurys@chromium.org
BUG=v8:3290
LOG=Y
Review URL: https://codereview.chromium.org/297513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:13:50 +00:00
yangguo@chromium.org
c1eff30f1f
Move promises recorded for debugging to thread local data.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/296693005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:00:32 +00:00
hpayer@chromium.org
b06ad59622
Revert "Increase external allocation limit."
...
BUG=
Review URL: https://codereview.chromium.org/292983010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:58:06 +00:00
hpayer@chromium.org
95077490c6
Increase external allocation limit.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/297663008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:43:05 +00:00
jkummerow@chromium.org
38cfd30b69
Reorder checks in Runtime_TypedArrayInitialize*
...
All checks must be performed before any side effects, so we get atomic transactions
BUG=chromium:374443
LOG=n
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/298843003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:36:37 +00:00
adamk@chromium.org
ccf8b20443
Fix OrderedHashSet::Remove caller in debug-only code after r21408
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/294473011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:31:31 +00:00
adamk@chromium.org
9f86a91e76
Teach OrderedHashSet::Remove to report whether it actually removed anything
...
This avoids an unnecessary runtime call from Set.prototype.delete().
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290733008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 12:16:47 +00:00
jochen@chromium.org
6d2a51965a
Comment out not yet used flags from BUILD.gn
...
gn started to complain about unused variables
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/292263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 11:57:33 +00:00
jarin@chromium.org
02f1a1b987
Revert "Fix Heap::IsHeapIterable." (again)
...
This reverts commit r21397.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/299813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:49:18 +00:00
adamk@chromium.org
fa55c02b11
Allow debugger to step into Map and Set forEach callbacks
...
BUG=v8:3341
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/293083005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:25:50 +00:00
jkummerow@chromium.org
d4d4d30204
Stop using urllib.urlretrieve() directly.
...
Using urllib for SSL connections when behind a proxy is known to be
broken, so apply the same fix from depot_tools r149742 and use a wrapper
around urllib2 instead.
R=jkummerow@chromium.org
TEST=run test262 behind corporate proxy
Review URL: https://codereview.chromium.org/297663003
Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:25:05 +00:00
jkummerow@chromium.org
58661c150f
Fix ArrayShift hydrogen support
...
BUG=chromium:374838
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/299713003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:51:29 +00:00
adamk@chromium.org
50f5a79590
Use SameValueZero for Map and Set
...
Instead of normalizing the keys we use SameValueZero for the actual
comparison.
BUG=v8:1622
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/299703004
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:47:02 +00:00
adamk@chromium.org
6717ac656a
Array Iterator next should check for own property
...
Since we are using private symbols for the internal slots we need to
check for a local property.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/268363011
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:05:11 +00:00
marja@chromium.org
910050e6d9
Fix UnboundScript::GetScriptName and GetLineNumber.
...
Probably broken since r19925 (mine).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/296043004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 07:32:32 +00:00
jarin@chromium.org
58a130da6e
Reland "Fix Heap::IsHeapIterable."
...
This relands r21388 (+ handlification of an offending function).
BUG=373283
LOG=N
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/294903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 06:44:38 +00:00
jkummerow@chromium.org
e66b179990
Disable ArrayShift hydrogen support
...
BUG=chromium:374838
LOG=y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/295983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 17:12:18 +00:00
yangguo@chromium.org
7e1c789685
Remove unused thread locals from debugger.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/286903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 15:20:02 +00:00
plind44@gmail.com
eabf06021c
MIPS: Avoid flushing the icache unnecessarily when updating target addresses in code.
...
Port r21380 (ef20a0a)
Original commit message:
This CL updates RelocInfo update operations and set_target_address_at to enable
skipping of the icache flush if it going to be batched up later.
Code::CopyFrom and Code::Relocate are modified to avoid individual icache
flushes since the whole code area will be flushed after the reloc info is
updated.
These changes reduce a regression when enabling the OOL constant pool on Arm,
since this change can cause MovT/MovW instructions for relocatable targets
if the constant pool is full.
Scores for Mandreel latency on a Nexus 5:
- OOL CP disabled: 3533
- OOL CP enabled, without this CL: 1825
- OOL CP enabled, with change: 3015
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/296723003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:49:05 +00:00
adamk@chromium.org
70c3a714a1
ES6 Map/Set iterators/forEach improvements
...
This changes how Map/Set interacts with its iterators. When the
underlying table is rehashed or cleared, we create a new table (like
before) but we add a reference from the old table to the new table. We
also add an array describing how to transition the iterator from the
old table to the new table.
When Next is called on the iterator it checks if there is a newer table
that it should transition to. If there is, it updates the index based
on the previously recorded changes and finally changes itself to point
at the new table.
With these changes Map/Set no longer keeps the iterators alive. Also,
as before, the iterators keep the underlying table(s) alive but not the
actual Map/Set.
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/289503002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:22:05 +00:00
jarin@chromium.org
014bf8b407
Revert "Fix Heap::IsHeapIterable."
...
This reverts commit r21387.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/291193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:03:38 +00:00
jarin@chromium.org
dd4c82bbb3
Fix Heap::IsHeapIterable.
...
We only consider heap iterable if the new space is empty (in addition to the exisiting old space check).
The change also moves the iterability forcing + allocation prevention gadgets to HeapIterator so that it is impossible to miss them when iterating the heap.
R=hpayer@chromium.org
BUG=373283
LOG=N
Review URL: https://codereview.chromium.org/285693006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 13:19:21 +00:00
bmeurer@chromium.org
a7e19c1a43
Revert "Refactor transitioning stores."
...
This reverts commit r21383 for breaking the Mozilla tests.
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/292993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 13:03:25 +00:00
marja@chromium.org
2fee5a16ee
Parser: delay throwing errors.
...
This makes Parser a bit more independent of Isolate during the recursive descent
phase. That is necessary for making it possible to run Parser on a non-main
thread in the future.
Proof of concept CL for the the "Parser independent of Isolate" work is here:
https://codereview.chromium.org/231073002/
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/289373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 12:22:04 +00:00
bmeurer@chromium.org
fd4da6bfe7
Get rid of HStoreNamedField::SkipWriteBarrier().
...
The write barrier elimination does the right thing now, so
we can get rid of this hack.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/296023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 11:25:47 +00:00
bmeurer@chromium.org
b09989ec58
Refactor transitioning stores.
...
There's actually no need to have the transition as part of the HStoreNamedField instruction. In fact, it is cleaner and faster to generate a separate HStoreNamedField for the transition map. This will also help to eliminate map stores with store elimination, as well as reduce register pressure for transitioning stores on ia32.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/295743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 11:06:23 +00:00
ishell@chromium.org
2a62cce170
Reland "v8::TryCatch now works correctly with ASAN's UseAfterReturn mode enabled."
...
BUG=chromium:369962
LOG=N
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/282783004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 10:13:46 +00:00
hpayer@chromium.org
2c6438bbfa
Print promotion rate and semi-space copy rate in --trace-gc-nvp.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/290133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 09:53:18 +00:00
rmcilroy@chromium.org
63199d0bfe
Avoid flushing the icache unnecessarily when updating target addresses in code.
...
This CL updates RelocInfo update operations and set_target_address_at to enable
skipping of the icache flush if it going to be batched up later.
Code::CopyFrom and Code::Relocate are modified to avoid individual icache
flushes since the whole code area will be flushed after the reloc info is
updated.
These changes reduce a regression when enabling the OOL constant pool on Arm,
since this change can cause MovT/MovW instructions for relocatable targets
if the constant pool is full.
Scores for Mandreel latency on a Nexus 5:
- OOL CP disabled: 3533
- OOL CP enabled, without this CL: 1825
- OOL CP enabled, with change: 3015
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/284153004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 09:21:45 +00:00
rossberg@chromium.org
9d9fa6af31
Tighten HAS_PRIVATE to own properties
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/290373002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 09:13:26 +00:00
yangguo@chromium.org
cf49b6e3ca
Reland "Simplify debugger state."
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/299653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:52:42 +00:00
bmeurer@chromium.org
c8ad96d703
Use HType::NonPrimitive() for array backing store allocations.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/291153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:42:10 +00:00
vegorov@chromium.org
38f2d25a84
Ensure that interruptor callback registered through API is called outside of ExecutionAccess lock.
...
Such a coarse locking can cause a dead-lock when another thread is attempting to clear an interrupt while we are waiting in the interrupt callback.
Add test that verifies this API invariant.
BUG=chromium:374978
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/291123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:24:51 +00:00
bmeurer@chromium.org
424877c773
Fix invalid condition in check elimination effects.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/292993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 08:16:47 +00:00
hpayer@chromium.org
b2c9fcaa4c
Add allocation sites to scratchpad only if a significant amount of mementos was found.
...
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/284223007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 16:07:20 +00:00
plind44@gmail.com
13af2c0598
MIPS: Allow comparison in UINT32 mode.
...
Port r21355 (932c5de)
Original commit message:
Shamelessly based on parts of https://codereview.chromium.org/288853003/ . :-)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/296453003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 15:30:23 +00:00
machenbach@chromium.org
1757706cb9
Sync change log file with trunk.
...
BUG=
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/291803005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21368 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 15:29:29 +00:00
dcarney@chromium.org
1b70812e7d
filter out .caller from other worlds
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/261103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 13:45:45 +00:00
wingo@igalia.com
83576f2363
Fix GCMole warning when creating generator arguments poison pill
...
R=jkummerow@chromium.org
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/289323005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 12:31:36 +00:00
wingo@igalia.com
6382a25fa7
Poison .arguments and .caller for generator functions
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/270133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 10:47:00 +00:00
jochen@chromium.org
34c2f56213
Update BUILD.gn and properly disable it on android
...
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/294613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 09:58:46 +00:00
bmeurer@chromium.org
890dc24758
Further improve old space allocation write barrier elimination.
...
Stores to old space allocations require no write barriers if the
object is the new space dominator and the value is not in new space.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/290173003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 09:48:35 +00:00
adamk@chromium.org
9de1ec5a78
Comment out %RunMicrotasks assert that triggers in mjsunit tests
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/290313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:56 +00:00
machenbach@chromium.org
f737580c65
Let test driver export json results.
...
BUG=374134
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/285193009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:53 +00:00
adamk@chromium.org
62e09a3534
Fix fuzzable JS function count after r21356
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/294523006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:19:54 +00:00
adamk@chromium.org
35b8b0b27a
Move microtask queueing logic from JavaScript to C++
...
This avoids the appearence of a leak due to storing a JSObject
as the microtask_state in the strong root list, and allows callers
to call Isolate::RunMicrotasks() without having any v8::Context
available (as at least Blink has interest in doing).
The queue is now a strong root, represented as a FixedArray of JSFunctions
(or empty_fixed_array, if it's empty); it doubles in size when it needs to grow.
The number of elements in the queue is stored in Isolate::pending_microtask_count().
LOG=Y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/290633010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:57:04 +00:00
svenpanne@chromium.org
ec23d0b815
Allow comparison in UINT32 mode.
...
Shamelessly based on parts of https://codereview.chromium.org/288853003/ . :-)
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/288383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:47:09 +00:00
bmeurer@chromium.org
ba5763f3cb
Drop redundant FullCodeGenerator::prepared_bailout_ids_.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/294543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:26:33 +00:00