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

Side by Side Diff: src/heap/heap.h

Issue 1149863005: Move hash code from hidden string to a private symbol (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix merge Created 5 years, 7 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
« no previous file with comments | « src/factory.cc ('k') | src/heap/heap.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #ifndef V8_HEAP_HEAP_H_ 5 #ifndef V8_HEAP_HEAP_H_
6 #define V8_HEAP_HEAP_H_ 6 #define V8_HEAP_HEAP_H_
7 7
8 #include <cmath> 8 #include <cmath>
9 #include <map> 9 #include <map>
10 10
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 V(undefined_string, "undefined") \ 264 V(undefined_string, "undefined") \
265 V(value_of_string, "valueOf") \ 265 V(value_of_string, "valueOf") \
266 V(stack_string, "stack") \ 266 V(stack_string, "stack") \
267 V(toJSON_string, "toJSON") \ 267 V(toJSON_string, "toJSON") \
268 V(KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic") \ 268 V(KeyedLoadMonomorphic_string, "KeyedLoadMonomorphic") \
269 V(KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic") \ 269 V(KeyedStoreMonomorphic_string, "KeyedStoreMonomorphic") \
270 V(stack_overflow_string, "$stackOverflowBoilerplate") \ 270 V(stack_overflow_string, "$stackOverflowBoilerplate") \
271 V(illegal_access_string, "illegal access") \ 271 V(illegal_access_string, "illegal access") \
272 V(cell_value_string, "%cell_value") \ 272 V(cell_value_string, "%cell_value") \
273 V(illegal_argument_string, "illegal argument") \ 273 V(illegal_argument_string, "illegal argument") \
274 V(identity_hash_string, "v8::IdentityHash") \
275 V(closure_string, "(closure)") \ 274 V(closure_string, "(closure)") \
276 V(dot_string, ".") \ 275 V(dot_string, ".") \
277 V(compare_ic_string, "==") \ 276 V(compare_ic_string, "==") \
278 V(strict_compare_ic_string, "===") \ 277 V(strict_compare_ic_string, "===") \
279 V(infinity_string, "Infinity") \ 278 V(infinity_string, "Infinity") \
280 V(minus_infinity_string, "-Infinity") \ 279 V(minus_infinity_string, "-Infinity") \
281 V(query_colon_string, "(?:)") \ 280 V(query_colon_string, "(?:)") \
282 V(Generator_string, "Generator") \ 281 V(Generator_string, "Generator") \
283 V(throw_string, "throw") \ 282 V(throw_string, "throw") \
284 V(done_string, "done") \ 283 V(done_string, "done") \
285 V(value_string, "value") \ 284 V(value_string, "value") \
286 V(next_string, "next") \ 285 V(next_string, "next") \
287 V(byte_length_string, "byteLength") \ 286 V(byte_length_string, "byteLength") \
288 V(byte_offset_string, "byteOffset") \ 287 V(byte_offset_string, "byteOffset") \
289 V(minus_zero_string, "-0") \ 288 V(minus_zero_string, "-0") \
290 V(Array_string, "Array") \ 289 V(Array_string, "Array") \
291 V(Error_string, "Error") \ 290 V(Error_string, "Error") \
292 V(RegExp_string, "RegExp") 291 V(RegExp_string, "RegExp")
293 292
294 #define PRIVATE_SYMBOL_LIST(V) \ 293 #define PRIVATE_SYMBOL_LIST(V) \
295 V(nonextensible_symbol) \ 294 V(nonextensible_symbol) \
296 V(sealed_symbol) \ 295 V(sealed_symbol) \
296 V(hash_code_symbol) \
297 V(frozen_symbol) \ 297 V(frozen_symbol) \
298 V(nonexistent_symbol) \ 298 V(nonexistent_symbol) \
299 V(elements_transition_symbol) \ 299 V(elements_transition_symbol) \
300 V(observed_symbol) \ 300 V(observed_symbol) \
301 V(uninitialized_symbol) \ 301 V(uninitialized_symbol) \
302 V(megamorphic_symbol) \ 302 V(megamorphic_symbol) \
303 V(premonomorphic_symbol) \ 303 V(premonomorphic_symbol) \
304 V(stack_trace_symbol) \ 304 V(stack_trace_symbol) \
305 V(detailed_stack_trace_symbol) \ 305 V(detailed_stack_trace_symbol) \
306 V(normal_ic_symbol) \ 306 V(normal_ic_symbol) \
(...skipping 1440 matching lines...) Expand 10 before | Expand all | Expand 10 after
1747 }; 1747 };
1748 1748
1749 static const StringTypeTable string_type_table[]; 1749 static const StringTypeTable string_type_table[];
1750 static const ConstantStringTable constant_string_table[]; 1750 static const ConstantStringTable constant_string_table[];
1751 static const StructTable struct_table[]; 1751 static const StructTable struct_table[];
1752 1752
1753 // The special hidden string which is an empty string, but does not match 1753 // The special hidden string which is an empty string, but does not match
1754 // any string when looked up in properties. 1754 // any string when looked up in properties.
1755 String* hidden_string_; 1755 String* hidden_string_;
1756 1756
1757 void AddPrivateGlobalSymbols(Handle<Object> private_intern_table);
1758
1757 // GC callback function, called before and after mark-compact GC. 1759 // GC callback function, called before and after mark-compact GC.
1758 // Allocations in the callback function are disallowed. 1760 // Allocations in the callback function are disallowed.
1759 struct GCPrologueCallbackPair { 1761 struct GCPrologueCallbackPair {
1760 GCPrologueCallbackPair(v8::Isolate::GCPrologueCallback callback, 1762 GCPrologueCallbackPair(v8::Isolate::GCPrologueCallback callback,
1761 GCType gc_type, bool pass_isolate) 1763 GCType gc_type, bool pass_isolate)
1762 : callback(callback), gc_type(gc_type), pass_isolate_(pass_isolate) {} 1764 : callback(callback), gc_type(gc_type), pass_isolate_(pass_isolate) {}
1763 bool operator==(const GCPrologueCallbackPair& pair) const { 1765 bool operator==(const GCPrologueCallbackPair& pair) const {
1764 return pair.callback == callback; 1766 return pair.callback == callback;
1765 } 1767 }
1766 v8::Isolate::GCPrologueCallback callback; 1768 v8::Isolate::GCPrologueCallback callback;
(...skipping 929 matching lines...) Expand 10 before | Expand all | Expand 10 after
2696 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. 2698 DisallowHeapAllocation no_allocation; // i.e. no gc allowed.
2697 2699
2698 private: 2700 private:
2699 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); 2701 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer);
2700 }; 2702 };
2701 #endif // DEBUG 2703 #endif // DEBUG
2702 } 2704 }
2703 } // namespace v8::internal 2705 } // namespace v8::internal
2704 2706
2705 #endif // V8_HEAP_HEAP_H_ 2707 #endif // V8_HEAP_HEAP_H_
OLDNEW
« no previous file with comments | « src/factory.cc ('k') | src/heap/heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698