OLD | NEW |
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_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
7 | 7 |
8 #include "include/v8-debug.h" | 8 #include "include/v8-debug.h" |
9 #include "src/allocation.h" | 9 #include "src/allocation.h" |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 625 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
636 // Generated code scratch locations. | 636 // Generated code scratch locations. |
637 void* formal_count_address() { return &thread_local_top_.formal_count_; } | 637 void* formal_count_address() { return &thread_local_top_.formal_count_; } |
638 | 638 |
639 // Returns the global object of the current context. It could be | 639 // Returns the global object of the current context. It could be |
640 // a builtin object, or a JS global object. | 640 // a builtin object, or a JS global object. |
641 Handle<GlobalObject> global_object() { | 641 Handle<GlobalObject> global_object() { |
642 return Handle<GlobalObject>(context()->global_object()); | 642 return Handle<GlobalObject>(context()->global_object()); |
643 } | 643 } |
644 | 644 |
645 // Returns the global proxy object of the current context. | 645 // Returns the global proxy object of the current context. |
646 Object* global_proxy() { | 646 JSObject* global_proxy() { |
647 return context()->global_proxy(); | 647 return context()->global_proxy(); |
648 } | 648 } |
649 | 649 |
650 Handle<JSBuiltinsObject> js_builtins_object() { | 650 Handle<JSBuiltinsObject> js_builtins_object() { |
651 return Handle<JSBuiltinsObject>(thread_local_top_.context_->builtins()); | 651 return Handle<JSBuiltinsObject>(thread_local_top_.context_->builtins()); |
652 } | 652 } |
653 | 653 |
654 static int ArchiveSpacePerThread() { return sizeof(ThreadLocalTop); } | 654 static int ArchiveSpacePerThread() { return sizeof(ThreadLocalTop); } |
655 void FreeThreadResources() { thread_local_top_.Free(); } | 655 void FreeThreadResources() { thread_local_top_.Free(); } |
656 | 656 |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
803 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \ | 803 #define GLOBAL_ARRAY_ACCESSOR(type, name, length) \ |
804 inline type* name() { \ | 804 inline type* name() { \ |
805 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \ | 805 ASSERT(OFFSET_OF(Isolate, name##_) == name##_debug_offset_); \ |
806 return &(name##_)[0]; \ | 806 return &(name##_)[0]; \ |
807 } | 807 } |
808 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR) | 808 ISOLATE_INIT_ARRAY_LIST(GLOBAL_ARRAY_ACCESSOR) |
809 #undef GLOBAL_ARRAY_ACCESSOR | 809 #undef GLOBAL_ARRAY_ACCESSOR |
810 | 810 |
811 #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \ | 811 #define NATIVE_CONTEXT_FIELD_ACCESSOR(index, type, name) \ |
812 Handle<type> name() { \ | 812 Handle<type> name() { \ |
813 return Handle<type>(context()->native_context()->name(), this); \ | 813 return Handle<type>(native_context()->name(), this); \ |
814 } \ | 814 } \ |
815 bool is_##name(type* value) { \ | 815 bool is_##name(type* value) { \ |
816 return context()->native_context()->is_##name(value); \ | 816 return native_context()->is_##name(value); \ |
817 } | 817 } |
818 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) | 818 NATIVE_CONTEXT_FIELDS(NATIVE_CONTEXT_FIELD_ACCESSOR) |
819 #undef NATIVE_CONTEXT_FIELD_ACCESSOR | 819 #undef NATIVE_CONTEXT_FIELD_ACCESSOR |
820 | 820 |
821 Bootstrapper* bootstrapper() { return bootstrapper_; } | 821 Bootstrapper* bootstrapper() { return bootstrapper_; } |
822 Counters* counters() { | 822 Counters* counters() { |
823 // Call InitializeLoggingAndCounters() if logging is needed before | 823 // Call InitializeLoggingAndCounters() if logging is needed before |
824 // the isolate is fully initialized. | 824 // the isolate is fully initialized. |
825 ASSERT(counters_ != NULL); | 825 ASSERT(counters_ != NULL); |
826 return counters_; | 826 return counters_; |
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1503 } | 1503 } |
1504 | 1504 |
1505 EmbeddedVector<char, 128> filename_; | 1505 EmbeddedVector<char, 128> filename_; |
1506 FILE* file_; | 1506 FILE* file_; |
1507 int scope_depth_; | 1507 int scope_depth_; |
1508 }; | 1508 }; |
1509 | 1509 |
1510 } } // namespace v8::internal | 1510 } } // namespace v8::internal |
1511 | 1511 |
1512 #endif // V8_ISOLATE_H_ | 1512 #endif // V8_ISOLATE_H_ |
OLD | NEW |