Fix probing in JSON.parse.
authoryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 26 Sep 2012 14:59:10 +0000 (14:59 +0000)
committeryangguo@chromium.org <yangguo@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 26 Sep 2012 14:59:10 +0000 (14:59 +0000)
R=verwaest@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/10989032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/json-parser.h

index 21c3623..8eb4f67 100644 (file)
@@ -590,10 +590,10 @@ Handle<String> JsonParser<seq_ascii>::ScanJsonString() {
         seq_source_->GetChars() + position_, length);
     SymbolTable* symbol_table = isolate()->heap()->symbol_table();
     uint32_t capacity = symbol_table->Capacity();
-    uint32_t index = SymbolTable::FirstProbe(hash, capacity);
+    uint32_t entry = SymbolTable::FirstProbe(hash, capacity);
     uint32_t count = 1;
     while (true) {
-      Object* element = symbol_table->KeyAt(index);
+      Object* element = symbol_table->KeyAt(entry);
       if (element == isolate()->heap()->raw_unchecked_undefined_value()) {
         // Lookup failure.
         break;
@@ -606,7 +606,7 @@ Handle<String> JsonParser<seq_ascii>::ScanJsonString() {
         AdvanceSkipWhitespace();
         return Handle<String>(String::cast(element));
       }
-      index = SymbolTable::NextProbe(hash, count++, capacity);
+      entry = SymbolTable::NextProbe(entry, count++, capacity);
     }
   }