- 08 Nov, 2011 17 commits
-
-
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 9 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
-
keuchel@chromium.org authored
This depends on http://codereview.chromium.org/8352039 and http://codereview.chromium.org/8423005 . Review URL: http://codereview.chromium.org/8422010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
This depends on http://codereview.chromium.org/8352039/ . Review URL: http://codereview.chromium.org/8423005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
Both classes have been merged into a single ScopeInfo class that implements the functionality from both. This CL does not adapt the broken gdb-jit interface. Review URL: http://codereview.chromium.org/8352039 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
keuchel@chromium.org authored
BUG=v8:1806 Review URL: http://codereview.chromium.org/8386072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-