Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(369)

Side by Side Diff: src/objects.cc

Issue 671843003: Small fixes for the code serializer. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: also include fix for internalized strings Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/objects.h ('k') | src/serialize.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <sstream> 5 #include <sstream>
6 6
7 #include "src/v8.h" 7 #include "src/v8.h"
8 8
9 #include "src/accessors.h" 9 #include "src/accessors.h"
10 #include "src/allocation-site-scopes.h" 10 #include "src/allocation-site-scopes.h"
(...skipping 14769 matching lines...) Expand 10 before | Expand all | Expand 10 after
14780 if (entry == kNotFound) { 14780 if (entry == kNotFound) {
14781 return MaybeHandle<String>(); 14781 return MaybeHandle<String>();
14782 } else { 14782 } else {
14783 Handle<String> result(String::cast(string_table->KeyAt(entry)), isolate); 14783 Handle<String> result(String::cast(string_table->KeyAt(entry)), isolate);
14784 DCHECK(StringShape(*result).IsInternalized()); 14784 DCHECK(StringShape(*result).IsInternalized());
14785 return result; 14785 return result;
14786 } 14786 }
14787 } 14787 }
14788 14788
14789 14789
14790 void StringTable::EnsureCapacityForDeserialization(Isolate* isolate, int n) {
mvstanton 2014/10/23 07:29:39 nit: how about size or length instead of n.
14791 Handle<StringTable> table = isolate->factory()->string_table();
14792 // We need a key instance for the virtual hash function.
14793 InternalizedStringKey dummy_key(Handle<String>::null());
14794 table = StringTable::EnsureCapacity(table, n, &dummy_key);
14795 isolate->factory()->set_string_table(table);
14796 }
14797
14798
14790 Handle<String> StringTable::LookupString(Isolate* isolate, 14799 Handle<String> StringTable::LookupString(Isolate* isolate,
14791 Handle<String> string) { 14800 Handle<String> string) {
14792 InternalizedStringKey key(string); 14801 InternalizedStringKey key(string);
14793 return LookupKey(isolate, &key); 14802 return LookupKey(isolate, &key);
14794 } 14803 }
14795 14804
14796 14805
14797 Handle<String> StringTable::LookupKey(Isolate* isolate, HashTableKey* key) { 14806 Handle<String> StringTable::LookupKey(Isolate* isolate, HashTableKey* key) {
14798 Handle<StringTable> table = isolate->factory()->string_table(); 14807 Handle<StringTable> table = isolate->factory()->string_table();
14799 int entry = table->FindEntry(key); 14808 int entry = table->FindEntry(key);
(...skipping 1669 matching lines...) Expand 10 before | Expand all | Expand 10 after
16469 Handle<DependentCode> codes = 16478 Handle<DependentCode> codes =
16470 DependentCode::Insert(handle(cell->dependent_code(), info->isolate()), 16479 DependentCode::Insert(handle(cell->dependent_code(), info->isolate()),
16471 DependentCode::kPropertyCellChangedGroup, 16480 DependentCode::kPropertyCellChangedGroup,
16472 info->object_wrapper()); 16481 info->object_wrapper());
16473 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes); 16482 if (*codes != cell->dependent_code()) cell->set_dependent_code(*codes);
16474 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add( 16483 info->dependencies(DependentCode::kPropertyCellChangedGroup)->Add(
16475 cell, info->zone()); 16484 cell, info->zone());
16476 } 16485 }
16477 16486
16478 } } // namespace v8::internal 16487 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/serialize.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698