mstarzinger@chromium.org
3812677b42
Make incremental marker post-process JSWeakCollection.
...
R=hpayer@chromium.org
BUG=v8:2070
LOG=N
Review URL: https://codereview.chromium.org/301553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:35:16 +00:00
weiliang.lin@intel.com
f10204b56a
X87: Fix a typo in below CL
...
r21515 (6d0ec9a)
Convert ElementsKind into a BitField
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/301563008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:21:43 +00:00
weiliang.lin@intel.com
f6ac5ae69c
X87: Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
Port r21535(8bb4c2b)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/302453011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:19:43 +00:00
weiliang.lin@intel.com
0f2f60bd37
X87: Convert String array index/length hash to BitField.
...
Port r21533 (736c779)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298293007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:18:39 +00:00
weiliang.lin@intel.com
d5c4ad309e
X87: Merge Debugger and Debug.
...
port r21524 (af88824)
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/298193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:17:21 +00:00
weiliang.lin@intel.com
2312c8abdf
X87: Avoid HeapObject check in HStoreNamedField.
...
port r21509 (78a54b0
)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/306483013
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:16:11 +00:00
jochen@chromium.org
6e3ffe1ca1
Extract build configuration into a separate header and move it to the base lib
...
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/303463005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
bmeurer@chromium.org
1102eeafe4
Reuse ZoneList memory if possible.
...
Clear() is rather wasteful for ZoneLists, because it discards
all previously allocated memory, making it impossible to reuse
until the whole Zone is released. Better use Rewind(0) in this
case, which just resets the length to zero.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/302783007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:06:14 +00:00
yangguo@chromium.org
5599b3a743
Fix path tracer test.
...
Path tracer is not compatible with --enable-slow-assert.
R=mstarzinger@chromium.org
BUG=v8:3350
LOG=N
Review URL: https://codereview.chromium.org/297193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 06:42:01 +00:00
weiliang.lin@intel.com
716be75bd0
X87: Skip write barriers in the fast case when setting up local context.
...
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/307433004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 04:56:28 +00:00
plind44@gmail.com
382619d3c0
MIPS: Fix improper register use in DoMinMax.
...
This fixes failure on pidigit benchmark from web-shootout
after 840 digits are calculated.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/300853002
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 23:54:07 +00:00
plind44@gmail.com
47664dc108
MIPS: Convert String array index/length hash to BitField.
...
Port r21533 (736c779)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/297233007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:11:33 +00:00
rossberg@chromium.org
5192a0d0d9
Fix check for empty type
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/307453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:07:39 +00:00
plind44@gmail.com
a63ea2d3a3
MIPS: Use TempDoubleRegister.
...
Port r21517 (53d6507)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/305563002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 17:06:40 +00:00
jochen@chromium.org
88abd8abed
Reland 21529 - "Add a flag to d8 to invoke weak callbacks"
...
> This will send an idle notification and a low memory notification after
> each test.
>
> For some reason it's not enough to send a low memory notification alone.
>
> BUG=none
> R=yangguo@chromium.org
> LOG=n
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/297213006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:16:42 +00:00
danno@chromium.org
0f929e7a54
Small changes in preparation for Hydrogen-generated KeyedLoadGeneric
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/303583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:15:49 +00:00
mstarzinger@chromium.org
6b33e50701
Revert "Make 'name' property on functions configurable."
...
R=danno@google.com , danno@chromium.org
Review URL: https://codereview.chromium.org/297163009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:00:26 +00:00
danno@chromium.org
6fa616ad73
Convert String array index/length hash to BitField
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/300023011
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:55:29 +00:00
rossberg@chromium.org
68a1a59556
Remove cpp hack to avoid link failures on Windows
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/298133005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:26:32 +00:00
yangguo@chromium.org
c92d6f57ee
Revert "Add a flag to d8 to invoke weak callbacks"
...
This reverts r21529.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/302543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:21:46 +00:00
jochen@chromium.org
f9e0a90340
Drop unused includes from worker-thread.cc
...
BUG=none
R=marja@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302463007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:58:51 +00:00
jochen@chromium.org
4cc924251d
Add a flag to d8 to invoke weak callbacks
...
This will send an idle notification and a low memory notification after
each test.
For some reason it's not enough to send a low memory notification alone.
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306483006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:57:48 +00:00
rossberg@chromium.org
7ac892c8bd
Establish distributivity for type union & intersection
...
This requires introducing proper bounds on all leaf types, so that intersection between bitsets and these types can be accurately represented. Extending a union also becomes more involved.
(On the upside, the modified union/intersect algorithm would now allow support for proper variance for function types.)
Not sure if it is worth landing this. Distributivity isn't really a crucial property for our use cases. It seems fine if intersection is slightly lossy.
R=bmeurer@chromium.org , jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/251753005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:52:31 +00:00
jochen@chromium.org
276adeda1a
Replace STATIC_CHECK with STATIC_ASSERT.
...
It's just an alias, and STATIC_ASSERT is used way more often
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:43:29 +00:00
yangguo@chromium.org
4309b34e40
Skip PathTracer test for now.
...
TBR=mstarzinger@chromium.org
BUG=3350
LOG=N
Review URL: https://codereview.chromium.org/305583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:40:40 +00:00
plind44@gmail.com
052c36a3ca
MIPS: Avoid HeapObject check in HStoreNamedField.
...
Port r21509 (78a54b0
)
Original commit message:
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/297143007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:37:33 +00:00
yangguo@chromium.org
95a9c7e565
Merge Debugger and Debug.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/301633005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:20:58 +00:00
yangguo@chromium.org
1630b6d83c
Fix PathTracer.
...
When tracing, we abuse the map for marking, thereby mutating it.
FixedTypedArrayBase::size() uses the object's map, which causes crash.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/300753002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:05:11 +00:00
yangguo@chromium.org
db8f7e0383
Cache optimization status getter in mjsunit.js
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/300003007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:52:15 +00:00
vogelheim@chromium.org
ee88832bb9
Add defensive assert against a weak callback on an empty persistent.
...
(This shouldn't happen in the first place, as by definition that callback would never be called. However, the referenced bug sorta looks like this happened. If so, the CHECK should help us pinpoint the culprit.)
R=jochen@chromium.org
BUG=368095
LOG=N
Review URL: https://codereview.chromium.org/265823006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:26:44 +00:00
yangguo@chromium.org
620555b495
Do not break in native code (including non-builtin debugger code).
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/300773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:21:40 +00:00
jochen@chromium.org
47cea50399
Replace some calls to MemCopy with small constant sizes with memcpy
...
MemCopy is only meant for variable size, large (>64bytes) copies,
otherwise, it's probably slower than memcpy due to the call
overhead and the compiler can't optimize it away.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 12:02:44 +00:00
yangguo@chromium.org
2097644fcf
Do not (eagerly) trigger exception in mjsunit.js.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/301673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 11:53:12 +00:00
m.m.capewell@googlemail.com
9678ff12c6
ARM: use TempDoubleRegister
...
R=ulan@chromium.org , bmeurer@chromium.org
Review URL: https://codereview.chromium.org/302453008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 10:22:53 +00:00
verwaest@chromium.org
b60054df88
Remove HType::HeapNumber from mutable heap numbers.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/293353004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:40:04 +00:00
danno@chromium.org
621c7eb673
Convert ElementsKind into a BitField
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/306513002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:38:01 +00:00
vogelheim@chromium.org
06086a90e0
Fix the "PersistentValueMap" memory leak reported here:
...
http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN
The bug:
The code assumed that a weak Persistent whose weak callback is being
called would still be weak. That isn't true since the persistent is
un-weakened by the garbage collector before calling the weak callback. [1]
Specifically, PersistentValueMap would funnel all 'remove' actions
through its Release method, which uses PersistentBase::ClearWeak to
obtain the callback data. [2] For 'removes' caused by the weak callback,
ClearWeak always returns a NULL-pointer since by that time the weak
persistent was already un-weakend. The result was a memory leak in
the test, since the code to delete the weak callback data would
delete NULL.
The fix:
I explicity call Traits::DisposeCallbackData from the weak callback
with the data obtained from the v8::WeakCallbackData. To avoid invalid
calls to DisposeCallbackData, I also check whether this instance is
(still) weak before calling it. (That check could easily be elided
if it's expensive, for the price of having two 'remove' code paths.)
Severety:
Probably low. At least in Chromium, noone uses the API in a way to
trigger this; only the test does.
[1] https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/global-handles.cc&q=global-handles.cc&sq=package:chromium&type=cs&l=231
[2] https://code.google.com/p/chromium/codesearch#chromium/src/v8/include/v8-util.h&sq=package:chromium&l=332-345
R=dcarney@chromium.org , dcarney
BUG=
Review URL: https://codereview.chromium.org/297193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 09:31:06 +00:00
hpayer@chromium.org
0fde744d00
Escape % in SNPrintF call in pretenuring test.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/298183002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 08:41:12 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
hpayer@chromium.org
b3c067ff03
Remove global pretenuring mode.
...
BUG=
R=bmeurer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/304493002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:48:36 +00:00
yangguo@chromium.org
c03b98484a
Fix d8's interactive shell.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/305553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:19:32 +00:00
bmeurer@chromium.org
7e8678bbaa
Avoid HeapObject check in HStoreNamedField.
...
This way an HStoreNamedField instruction can never deoptimize
itself, which is another important step towards a working
store elimination.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/299373005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:17:08 +00:00
yangguo@chromium.org
94b4aef7d6
Fix arm64 gc stress issue.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/306483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 06:35:45 +00:00
bmeurer@chromium.org
6ae4a89e79
Relax register constraints for LMathSqrt.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/299423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 04:19:18 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
6640ed7235
Buildfix for arm
...
TBR=jkummerow@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/299353006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:43:01 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
jochen@chromium.org
0f73456d3f
Move NumberOfProcessorsOnline from CPU to OS
...
It's really more an OS-level information, and this way the default
platform doesn't depend on CPU-level details
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/300713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 15:18:45 +00:00
plind44@gmail.com
4fd78904be
MIPS: Skip write barriers in the fast case when setting up local context.
...
Port r21481 (5973b48)
Original commit message:
The FastNewContextStub always allocates in new space, so we don't
need to update the write barrier when copying the parameters to
the newly allocated context.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/302633002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 14:40:55 +00:00
mvstanton@chromium.org
d755611e93
Reland "Customized support for feedback on calls to Array." and follow-up fixes.
...
Comparing one CallIC::State to another was not done correctly, leading to a failure to patch a CallIC when transitioning from monomorphic Array to megamorphic.
BUG=chromium:377198,chromium:377290
LOG=Y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/305493003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:59:24 +00:00