OLD | NEW |
1 // Copyright 2017 the V8 project authors. All rights reserved. | 1 // Copyright 2017 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_OBJECTS_MAP_H_ | 5 #ifndef V8_OBJECTS_MAP_H_ |
6 #define V8_OBJECTS_MAP_H_ | 6 #define V8_OBJECTS_MAP_H_ |
7 | 7 |
8 #include "src/objects.h" | 8 #include "src/objects.h" |
9 | 9 |
10 #include "src/globals.h" | 10 #include "src/globals.h" |
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
313 // A map can never be used for both dictionary mode and fast mode JSObjects. | 313 // A map can never be used for both dictionary mode and fast mode JSObjects. |
314 // False by default and for HeapObjects that are not JSObjects. | 314 // False by default and for HeapObjects that are not JSObjects. |
315 inline void set_dictionary_map(bool value); | 315 inline void set_dictionary_map(bool value); |
316 inline bool is_dictionary_map(); | 316 inline bool is_dictionary_map(); |
317 | 317 |
318 // Tells whether the instance needs security checks when accessing its | 318 // Tells whether the instance needs security checks when accessing its |
319 // properties. | 319 // properties. |
320 inline void set_is_access_check_needed(bool access_check_needed); | 320 inline void set_is_access_check_needed(bool access_check_needed); |
321 inline bool is_access_check_needed(); | 321 inline bool is_access_check_needed(); |
322 | 322 |
323 // Returns true if map has a non-empty stub code cache. | |
324 inline bool has_code_cache(); | |
325 | |
326 // [prototype]: implicit prototype object. | 323 // [prototype]: implicit prototype object. |
327 DECL_ACCESSORS(prototype, Object) | 324 DECL_ACCESSORS(prototype, Object) |
328 // TODO(jkummerow): make set_prototype private. | 325 // TODO(jkummerow): make set_prototype private. |
329 static void SetPrototype(Handle<Map> map, Handle<Object> prototype); | 326 static void SetPrototype(Handle<Map> map, Handle<Object> prototype); |
330 | 327 |
331 // [constructor]: points back to the function or FunctionTemplateInfo | 328 // [constructor]: points back to the function or FunctionTemplateInfo |
332 // responsible for this map. | 329 // responsible for this map. |
333 // The field overlaps with the back pointer. All maps in a transition tree | 330 // The field overlaps with the back pointer. All maps in a transition tree |
334 // have the same constructor, so maps with back pointers can walk the | 331 // have the same constructor, so maps with back pointers can walk the |
335 // back pointer chain until they find the map holding their constructor. | 332 // back pointer chain until they find the map holding their constructor. |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
808 Object* get(int index); | 805 Object* get(int index); |
809 void set(int index, Object* value); | 806 void set(int index, Object* value); |
810 }; | 807 }; |
811 | 808 |
812 } // namespace internal | 809 } // namespace internal |
813 } // namespace v8 | 810 } // namespace v8 |
814 | 811 |
815 #include "src/objects/object-macros-undef.h" | 812 #include "src/objects/object-macros-undef.h" |
816 | 813 |
817 #endif // V8_OBJECTS_MAP_H_ | 814 #endif // V8_OBJECTS_MAP_H_ |
OLD | NEW |