- 09 Nov, 2011 3 commits
-
-
kmillikin@chromium.org authored
R=svenpanne@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8509005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Port r9909 (56c8728aa). Original commit message: Test at the bottom in the unwind loop. Eliminate the possibility of a useless move to the eax/rax/r0 register (currently impossible because this function has two call sites). Do not explicitly zero the context because we've already saved 0 as the context in the handler. BUG= TEST= Review URL: http://codereview.chromium.org/8507007 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This makes the store buffer size depend on the pointer size so that store buffers can hold the same number of entries on all architectures. The number of pages marked scan-on-scavenge should decrease on x64 and performance of splay should drastically improve on x64. R=erik.corry@gmail.com Review URL: http://codereview.chromium.org/8498013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Nov, 2011 18 commits
-
-
yangguo@chromium.org authored
BUG=103259 TEST=regress-103259.js Review URL: http://codereview.chromium.org/8498011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Change calling convention for CallFunction stub. Some fixes regarding strict mode call traps. R=kmillikin@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8318014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
This reverts r9896 "Revert r9870 due to browser-test failures." See below for the diff from the previous version for the ia32 platform. The code for other platforms has been changed accordingly. TEST=mjsunit/compiler/lazy-const-lookup.js diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc index 2cbf518..1990f2f 100644 --- a/src/ia32/full-codegen-ia32.cc +++ b/src/ia32/full-codegen-ia32.cc @@ -1258,13 +1258,17 @@ void FullCodeGenerator::EmitVariableLoad(VariableProxy* proxy) { // binding is initialized: // function() { f(); let x = 1; function f() { x = 2; } } // - // Check that we always have valid source position. - ASSERT(var->initializer_position() != RelocInfo::kNoPosition); - ASSERT(proxy->position() != RelocInfo::kNoPosition); - bool skip_init_check = - var->mode() != CONST && - var->scope()->DeclarationScope() == scope()->DeclarationScope() && - var->initializer_position() < proxy->position(); + bool skip_init_check; + if (var->scope()->DeclarationScope() != scope()->DeclarationScope()) { + skip_init_check = false; + } else { + // Check that we always have valid source position. + ASSERT(var->initializer_position() != RelocInfo::kNoPosition); + ASSERT(proxy->position() != RelocInfo::kNoPosition); + skip_init_check = var->mode() != CONST && + var->initializer_position() < proxy->position(); + } + if (!skip_init_check) { // Let and const need a read barrier. Label done; Review URL: http://codereview.chromium.org/8479034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
BUG=none TEST=none Review URL: http://codereview.chromium.org/8496011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=jkummerow@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/8495012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=v8:1669 TEST=cctest/test-heap/CollectingAllAvailableGarbageShrinksNewSpace Review URL: http://codereview.chromium.org/8065003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This also refactors the way we set the length of an arrays' backing store to use the new elements accessor interface. The actual fix is in DictionaryElementsAccessor::SetLengthWithoutNormalize() where we first search for non-deletable elements according to ES5 section 15.4.5.2 specifications. Snippet from the specification: Attempting to set the length property of an Array object to a value that is numerically less than or equal to the largest numeric property name of an existing array indexed non-deletable property of the array will result in the length being set to a numeric value that is one greater than that largest numeric property name. R=danno@chromium.org TEST=test262/15.4.4.??-7-b-16 Review URL: http://codereview.chromium.org/8372064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/8503010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Test at the bottom in the unwind loop. Eliminate the possibility of a useless move to the eax/rax/r0 register (currently impossible because this function has two call sites). Do not explicitly zero the context because we've already saved 0 as the context in the handler. R=fschneider@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8493008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/8497010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This moves PropertyType and its related predicate out of v8globals.h, where it didn't belong. Review URL: http://codereview.chromium.org/8501006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
max heap size on 64 bit from ca. 300Mbytes to ca. 200Mbytes on Ulan's splay variant. On 32 bit not much change. Review URL: http://codereview.chromium.org/8494012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
In case of a degenerated CFG like in the example below processing predecessors in the wrong order yields n^2 runtime. do { if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; if (x) break; // etc. } while (false); Reversing iteration order avoids this. Review URL: http://codereview.chromium.org/8502012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/8351073 Patch from Jing Zhao <jingzhao@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=svenpanne@chromium.org BUG=none TEST=none Review URL: http://codereview.chromium.org/8493024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
There was a test failure on x64 mozilla tests. TBR=ricow@chromium.org Review URL: http://codereview.chromium.org/8495011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Hydrogen should optimize not only SMI clauses, but clauses with string literals too. Patch from fedor.indutny <fedor.indutny@gmail.com>. R=vegorov@chromium.org BUG= TEST= Review URL: http://codereview.chromium.org/8373029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Do not rely on 'default' clauses or 'if's when analysing a PropertyType, because this makes it hard to find the relevant places when a new type is added. Note that the detection of "phantom property types" is left untouched, because this might have a performance impact, especially for the GC (to be investigated). This is a preliminary step for introducing a new kind of map transition. Review URL: http://codereview.chromium.org/8491016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Nov, 2011 9 commits
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/8467014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
This reverts commit 4d5b5f12aac932ad892c7b6f152b6168708d4210. Review URL: http://codereview.chromium.org/8493006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/8494005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
old space size. Review URL: http://codereview.chromium.org/8491009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Port r9875 (97dc1e0e). BUG= TEST= Review URL: http://codereview.chromium.org/8467008 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=yangguo@chromium.org Review URL: http://codereview.chromium.org/8492005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Port r9870 (959ec43). Original commit message: This depends on http://codereview.chromium.org/8352039 and http://codereview.chromium.org/8423005 . BUG= TEST= Review URL: http://codereview.chromium.org/8467007 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/8490008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Port r8322 (7b8b4a951f). BUG= TEST= Review URL: http://codereview.chromium.org/8428004 Patch from Gergely Kis <gergely@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Nov, 2011 5 commits
-
-
jkummerow@chromium.org authored
BUG=v8:1786 Review URL: http://codereview.chromium.org/8462006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=vegorov@chromium.org Review URL: http://codereview.chromium.org/8463006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
TEST=mjsunit/elements-kind.js Review URL: http://codereview.chromium.org/8430036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
TEST=mjsunit/elements-kind.js Review URL: http://codereview.chromium.org/8437094 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
TEST=mjsunit/elements-kind.js; stanford-crypto-sha256-iterative in debug mode Review URL: http://codereview.chromium.org/8334028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Nov, 2011 5 commits
-
-
yangguo@chromium.org authored
Review URL: http://codereview.chromium.org/8437092 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Review URL: http://codereview.chromium.org/8438071 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This uses a global sentinel as a replacement for undefined keys, which are not supported internally but required for Harmony sets and maps. R=rossberg@chromium.org BUG=v8:1622 TEST=mjsunit/harmony/collections Review URL: http://codereview.chromium.org/8439069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
After introduction of with scopes we have enough static information to omit context allocation in the case that a variable is accessed from a nested block or catch scope of the same function. Only variables accessed from the inside of a nested function or with scope are forced to be allocated in the context. This essentially reverts http://code.google.com/p/v8/source/detail?r=9281 . which in turn reverted an earlier change. Review URL: http://codereview.chromium.org/8431001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This changes the internal convention for marking deleted entries in hash tables from null_value to the_hole_value, which is consistent with other usages of the_hole. R=rossberg@chromium.org,kmillikin@chromium.org BUG=v8:1622 TEST=mjsunit/harmony/collections Review URL: http://codereview.chromium.org/8343056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-