- 11 Apr, 2014 14 commits
-
-
ulan@chromium.org authored
Maps in monomorphic Load, KeyedLoad, Store, KeyedStore, and CompareNil IC stubs are treated as weak references by the marking visitor. During generation of an IC stub with a weak map, the stub is appended to the dependent code array of the map. When the map dies, all stubs in its dependent code array are invalidated by setting embedded maps to undefined. BUG=v8:2073 LOG=Y TEST=cctest/test-heap/WeakMapInMonomorphic*IC R=mstarzinger@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/188783003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
This reverts commit r20676. TBR=danno@chromium.org Review URL: https://codereview.chromium.org/233013005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/234743003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rmcilroy@chromium.org authored
Setting the FPSCR flags is expensive on some CPUs. Get rid of repeated setting of the FPSCR by relying on the correct default flags being set when doing uint8 clamping. Also use vcvt_u32_f64 instead of vcvt_s32_f64, which enables removing the check against zero (vcvt_u32_f64 will clamp to zero). To be on the safe side, add asserts to check that the VFP rounding mode flags are set to default as expected. This increases performance of a hot loop repeatedly setting Uint8ClampedArray values on some CPUs by as much as a factor of 12. BUG=v8:3253 LOG=N R=jacob.bramley@arm.com, rmcilroy@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/230473005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/234703003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
The ranges are simply wrong after range analysis, and we should only rely on computed flags. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/234583005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Deferred error formatting on GC was a failed experiment. It has been removed, except for this part. See r13371. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/233163004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/225823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/233673007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
Avoid type assertion on object comparison in Hydrogen - the comparison is unreachable because of previous checks. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/232053004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/232883002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
BUG=360611 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/225393005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
There is no definition for HArgumentsObject, so LDummyUse confuses the register allocator. I have recently made similar fix for HCapturedObject (see https://codereview.chromium.org/222283002/). BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/226613007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/232533002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Apr, 2014 18 commits
-
-
Jacob.Bramley@arm.com authored
Fix a couple of places were x8 and x9 are excluded from lists of saved registers. These are caller-saved registers, so C code can corrupt them. x8 and x9 were originally reserved for debug code in the ARM64 port, so we didn't bother preserving them, but they are now normal allocatable registers. BUG=v8:3263 LOG=N R=rmcilroy@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/233373002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Semantics of elements accessors are now preserved in all optimized code paths through Array.push(). Previously it was possible to have inconsistent behavior between optimized and unoptimized code, and there were cases where element accessors were completely ingored. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/232873002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
During handlification of TransitionArray code, an error was introduced in TransitionArray::CopyInsert because after creating a copy of a TransitionArray, it may be that the array disappears during GC because it is modified during the marking of the owning map. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/228483005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
Reason: test failure with --noenable-sse3. R=dcarney@chromium.org TBR=dcarney@chromium.org Review URL: https://codereview.chromium.org/232933003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG= R=dcarney@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/230693003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/231283006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=cctest/test-types R=rossberg@chromium.org Review URL: https://codereview.chromium.org/232913002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/232843002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
This reverts r20646. TBR=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/232903002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
When there is no type feedback yet, ComputeReceiverTypes should still populate the SmallMapList when the receiver is a HConstant. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/230363003 Patch from Petka Antonov <p.antonov@partner.samsung.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Due to the SSA vs. SSI difference, we are only allowed to use the flags computed during range analysis, not the ranges themselves. For the case at hand, there is no such flag, so the condition is simply remvoed. BUG=361608 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/232553004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/231103002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=bmeurer@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/232593003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Add tests for TypeImpl::Of(), TypeImpl::NowOf() and TypeImpl::NowContains(). Improves the implementation of TypeImpl::NowIs() to match that of TypeImpl::NowContains(). Mark test-types with NO_VARIANTS to speedup testing, since the variants do not affect the type system at all. Also improve test coverage for types. TEST=cctest/test-types R=rossberg@chromium.org Review URL: https://codereview.chromium.org/230673002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=jarin@chromium.org Review URL: https://codereview.chromium.org/232413003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/231013002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/222133003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/228073004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Apr, 2014 8 commits
-
-
ishell@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/230733003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/230833002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/228333003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
This reverts r20603. BUG= Review URL: https://codereview.chromium.org/230863003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/229943006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
ClusterFuzz test is triggering assertions for dead code. This fix issues HDeoptimize instruction when it finds out that the compare instruction is dead (because of previous checks). R=yangguo@chromium.org BUG=359491 LOG=N Review URL: https://codereview.chromium.org/228883005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/229373007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
Reland of r20606: Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()). It was not related to test failures. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/230373007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-