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 "allocation.h" | 9 #include "allocation.h" |
10 #include "assert-scope.h" | 10 #include "assert-scope.h" |
(...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 // Returns the key used to store process-wide thread IDs. | 505 // Returns the key used to store process-wide thread IDs. |
506 static Thread::LocalStorageKey thread_id_key() { | 506 static Thread::LocalStorageKey thread_id_key() { |
507 return thread_id_key_; | 507 return thread_id_key_; |
508 } | 508 } |
509 | 509 |
510 static Thread::LocalStorageKey per_isolate_thread_data_key(); | 510 static Thread::LocalStorageKey per_isolate_thread_data_key(); |
511 | 511 |
512 // Mutex for serializing access to break control structures. | 512 // Mutex for serializing access to break control structures. |
513 RecursiveMutex* break_access() { return &break_access_; } | 513 RecursiveMutex* break_access() { return &break_access_; } |
514 | 514 |
515 // Mutex for serializing access to debugger. | |
516 RecursiveMutex* debugger_access() { return &debugger_access_; } | |
517 | |
518 Address get_address_from_id(AddressId id); | 515 Address get_address_from_id(AddressId id); |
519 | 516 |
520 // Access to top context (where the current function object was created). | 517 // Access to top context (where the current function object was created). |
521 Context* context() { return thread_local_top_.context_; } | 518 Context* context() { return thread_local_top_.context_; } |
522 void set_context(Context* context) { | 519 void set_context(Context* context) { |
523 ASSERT(context == NULL || context->IsContext()); | 520 ASSERT(context == NULL || context->IsContext()); |
524 thread_local_top_.context_ = context; | 521 thread_local_top_.context_ = context; |
525 } | 522 } |
526 Context** context_address() { return &thread_local_top_.context_; } | 523 Context** context_address() { return &thread_local_top_.context_; } |
527 | 524 |
(...skipping 395 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
923 return ®exp_macro_assembler_canonicalize_; | 920 return ®exp_macro_assembler_canonicalize_; |
924 } | 921 } |
925 | 922 |
926 RegExpStack* regexp_stack() { return regexp_stack_; } | 923 RegExpStack* regexp_stack() { return regexp_stack_; } |
927 | 924 |
928 unibrow::Mapping<unibrow::Ecma262Canonicalize>* | 925 unibrow::Mapping<unibrow::Ecma262Canonicalize>* |
929 interp_canonicalize_mapping() { | 926 interp_canonicalize_mapping() { |
930 return &interp_canonicalize_mapping_; | 927 return &interp_canonicalize_mapping_; |
931 } | 928 } |
932 | 929 |
933 inline bool IsCodePreAgingActive(); | |
934 | |
935 Debugger* debugger() { return debugger_; } | 930 Debugger* debugger() { return debugger_; } |
936 Debug* debug() { return debug_; } | 931 Debug* debug() { return debug_; } |
937 | 932 |
938 inline bool IsDebuggerActive(); | |
939 inline bool DebuggerHasBreakPoints(); | 933 inline bool DebuggerHasBreakPoints(); |
940 | 934 |
941 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } | 935 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } |
942 HeapProfiler* heap_profiler() const { return heap_profiler_; } | 936 HeapProfiler* heap_profiler() const { return heap_profiler_; } |
943 | 937 |
944 #ifdef DEBUG | 938 #ifdef DEBUG |
945 HistogramInfo* heap_histograms() { return heap_histograms_; } | 939 HistogramInfo* heap_histograms() { return heap_histograms_; } |
946 | 940 |
947 JSObject::SpillInformation* js_spill_information() { | 941 JSObject::SpillInformation* js_spill_information() { |
948 return &js_spill_information_; | 942 return &js_spill_information_; |
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1187 int stack_trace_nesting_level_; | 1181 int stack_trace_nesting_level_; |
1188 StringStream* incomplete_message_; | 1182 StringStream* incomplete_message_; |
1189 Address isolate_addresses_[kIsolateAddressCount + 1]; // NOLINT | 1183 Address isolate_addresses_[kIsolateAddressCount + 1]; // NOLINT |
1190 Bootstrapper* bootstrapper_; | 1184 Bootstrapper* bootstrapper_; |
1191 RuntimeProfiler* runtime_profiler_; | 1185 RuntimeProfiler* runtime_profiler_; |
1192 CompilationCache* compilation_cache_; | 1186 CompilationCache* compilation_cache_; |
1193 Counters* counters_; | 1187 Counters* counters_; |
1194 CodeRange* code_range_; | 1188 CodeRange* code_range_; |
1195 RecursiveMutex break_access_; | 1189 RecursiveMutex break_access_; |
1196 Atomic32 debugger_initialized_; | 1190 Atomic32 debugger_initialized_; |
1197 RecursiveMutex debugger_access_; | |
1198 Logger* logger_; | 1191 Logger* logger_; |
1199 StackGuard stack_guard_; | 1192 StackGuard stack_guard_; |
1200 StatsTable* stats_table_; | 1193 StatsTable* stats_table_; |
1201 StubCache* stub_cache_; | 1194 StubCache* stub_cache_; |
1202 CodeAgingHelper* code_aging_helper_; | 1195 CodeAgingHelper* code_aging_helper_; |
1203 DeoptimizerData* deoptimizer_data_; | 1196 DeoptimizerData* deoptimizer_data_; |
1204 MaterializedObjectStore* materialized_object_store_; | 1197 MaterializedObjectStore* materialized_object_store_; |
1205 ThreadLocalTop thread_local_top_; | 1198 ThreadLocalTop thread_local_top_; |
1206 bool capture_stack_trace_for_uncaught_exceptions_; | 1199 bool capture_stack_trace_for_uncaught_exceptions_; |
1207 int stack_trace_for_uncaught_exceptions_frame_limit_; | 1200 int stack_trace_for_uncaught_exceptions_frame_limit_; |
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1488 } | 1481 } |
1489 | 1482 |
1490 EmbeddedVector<char, 128> filename_; | 1483 EmbeddedVector<char, 128> filename_; |
1491 FILE* file_; | 1484 FILE* file_; |
1492 int scope_depth_; | 1485 int scope_depth_; |
1493 }; | 1486 }; |
1494 | 1487 |
1495 } } // namespace v8::internal | 1488 } } // namespace v8::internal |
1496 | 1489 |
1497 #endif // V8_ISOLATE_H_ | 1490 #endif // V8_ISOLATE_H_ |
OLD | NEW |