| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 303 #ifdef ENABLE_DEBUGGER_SUPPORT | 303 #ifdef ENABLE_DEBUGGER_SUPPORT |
| 304 | 304 |
| 305 #define ISOLATE_DEBUGGER_INIT_LIST(V) \ | 305 #define ISOLATE_DEBUGGER_INIT_LIST(V) \ |
| 306 V(DebuggerAgent*, debugger_agent_instance, NULL) | 306 V(DebuggerAgent*, debugger_agent_instance, NULL) |
| 307 #else | 307 #else |
| 308 | 308 |
| 309 #define ISOLATE_DEBUGGER_INIT_LIST(V) | 309 #define ISOLATE_DEBUGGER_INIT_LIST(V) |
| 310 | 310 |
| 311 #endif | 311 #endif |
| 312 | 312 |
| 313 |
| 314 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ |
| 315 V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \ |
| 316 V8_TARGET_ARCH_MIPS && !defined(__mips__) |
| 317 |
| 318 #define ISOLATE_INIT_SIMULATOR_LIST(V) \ |
| 319 V(bool, simulator_initialized, false) \ |
| 320 V(HashMap*, simulator_i_cache, NULL) \ |
| 321 V(Redirection*, simulator_redirection, NULL) |
| 322 #else |
| 323 |
| 324 #define ISOLATE_INIT_SIMULATOR_LIST(V) |
| 325 |
| 326 #endif |
| 327 |
| 328 |
| 313 #ifdef DEBUG | 329 #ifdef DEBUG |
| 314 | 330 |
| 315 #define ISOLATE_INIT_DEBUG_ARRAY_LIST(V) \ | 331 #define ISOLATE_INIT_DEBUG_ARRAY_LIST(V) \ |
| 316 V(CommentStatistic, paged_space_comments_statistics, \ | 332 V(CommentStatistic, paged_space_comments_statistics, \ |
| 317 CommentStatistic::kMaxComments + 1) | 333 CommentStatistic::kMaxComments + 1) \ |
| 334 V(int, code_kind_statistics, Code::NUMBER_OF_KINDS) |
| 318 #else | 335 #else |
| 319 | 336 |
| 320 #define ISOLATE_INIT_DEBUG_ARRAY_LIST(V) | 337 #define ISOLATE_INIT_DEBUG_ARRAY_LIST(V) |
| 321 | 338 |
| 322 #endif | 339 #endif |
| 323 | 340 |
| 324 #define ISOLATE_INIT_ARRAY_LIST(V) \ | 341 #define ISOLATE_INIT_ARRAY_LIST(V) \ |
| 325 /* SerializerDeserializer state. */ \ | 342 /* SerializerDeserializer state. */ \ |
| 326 V(int32_t, jsregexp_static_offsets_vector, kJSRegexpStaticOffsetsVectorSize) \ | 343 V(int32_t, jsregexp_static_offsets_vector, kJSRegexpStaticOffsetsVectorSize) \ |
| 327 V(int, bad_char_shift_table, kUC16AlphabetSize) \ | 344 V(int, bad_char_shift_table, kUC16AlphabetSize) \ |
| 328 V(int, good_suffix_shift_table, (kBMMaxShift + 1)) \ | 345 V(int, good_suffix_shift_table, (kBMMaxShift + 1)) \ |
| 329 V(int, suffix_table, (kBMMaxShift + 1)) \ | 346 V(int, suffix_table, (kBMMaxShift + 1)) \ |
| 330 V(uint32_t, private_random_seed, 2) \ | 347 V(uint32_t, private_random_seed, 2) \ |
| 331 ISOLATE_INIT_DEBUG_ARRAY_LIST(V) | 348 ISOLATE_INIT_DEBUG_ARRAY_LIST(V) |
| 332 | 349 |
| 333 typedef List<HeapObject*> DebugObjectCache; | 350 typedef List<HeapObject*> DebugObjectCache; |
| 334 | 351 |
| 335 #define ISOLATE_INIT_LIST(V) \ | 352 #define ISOLATE_INIT_LIST(V) \ |
| 336 /* SerializerDeserializer state. */ \ | 353 /* SerializerDeserializer state. */ \ |
| 337 V(int, serialize_partial_snapshot_cache_length, 0) \ | 354 V(int, serialize_partial_snapshot_cache_length, 0) \ |
| 338 V(int, serialize_partial_snapshot_cache_capacity, 0) \ | 355 V(int, serialize_partial_snapshot_cache_capacity, 0) \ |
| 339 V(Object**, serialize_partial_snapshot_cache, NULL) \ | 356 V(Object**, serialize_partial_snapshot_cache, NULL) \ |
| 340 /* Assembler state. */ \ | 357 /* Assembler state. */ \ |
| 341 /* A previously allocated buffer of kMinimalBufferSize bytes, or NULL. */ \ | 358 /* A previously allocated buffer of kMinimalBufferSize bytes, or NULL. */ \ |
| 342 V(byte*, assembler_spare_buffer, NULL) \ | 359 V(byte*, assembler_spare_buffer, NULL) \ |
| 343 V(FatalErrorCallback, exception_behavior, NULL) \ | 360 V(FatalErrorCallback, exception_behavior, NULL) \ |
| 361 V(LogEventCallback, event_logger, NULL) \ |
| 344 V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, NULL) \ | 362 V(AllowCodeGenerationFromStringsCallback, allow_code_gen_callback, NULL) \ |
| 345 /* To distinguish the function templates, so that we can find them in the */ \ | 363 /* To distinguish the function templates, so that we can find them in the */ \ |
| 346 /* function cache of the native context. */ \ | 364 /* function cache of the native context. */ \ |
| 347 V(int, next_serial_number, 0) \ | 365 V(int, next_serial_number, 0) \ |
| 348 V(ExternalReferenceRedirectorPointer*, external_reference_redirector, NULL) \ | 366 V(ExternalReferenceRedirectorPointer*, external_reference_redirector, NULL) \ |
| 349 V(bool, always_allow_natives_syntax, false) \ | |
| 350 /* Part of the state of liveedit. */ \ | 367 /* Part of the state of liveedit. */ \ |
| 351 V(FunctionInfoListener*, active_function_info_listener, NULL) \ | 368 V(FunctionInfoListener*, active_function_info_listener, NULL) \ |
| 352 /* State for Relocatable. */ \ | 369 /* State for Relocatable. */ \ |
| 353 V(Relocatable*, relocatable_top, NULL) \ | 370 V(Relocatable*, relocatable_top, NULL) \ |
| 354 V(DebugObjectCache*, string_stream_debug_object_cache, NULL) \ | 371 V(DebugObjectCache*, string_stream_debug_object_cache, NULL) \ |
| 355 V(Object*, string_stream_current_security_token, NULL) \ | 372 V(Object*, string_stream_current_security_token, NULL) \ |
| 356 /* TODO(isolates): Release this on destruction? */ \ | |
| 357 V(int*, irregexp_interpreter_backtrack_stack_cache, NULL) \ | |
| 358 /* Serializer state. */ \ | 373 /* Serializer state. */ \ |
| 359 V(ExternalReferenceTable*, external_reference_table, NULL) \ | 374 V(ExternalReferenceTable*, external_reference_table, NULL) \ |
| 360 /* AstNode state. */ \ | 375 /* AstNode state. */ \ |
| 361 V(int, ast_node_id, 0) \ | 376 V(int, ast_node_id, 0) \ |
| 362 V(unsigned, ast_node_count, 0) \ | 377 V(unsigned, ast_node_count, 0) \ |
| 363 V(bool, microtask_pending, false) \ | 378 V(bool, microtask_pending, false) \ |
| 364 V(bool, autorun_microtasks, true) \ | 379 V(bool, autorun_microtasks, true) \ |
| 365 V(HStatistics*, hstatistics, NULL) \ | 380 V(HStatistics*, hstatistics, NULL) \ |
| 366 V(HTracer*, htracer, NULL) \ | 381 V(HTracer*, htracer, NULL) \ |
| 367 V(CodeTracer*, code_tracer, NULL) \ | 382 V(CodeTracer*, code_tracer, NULL) \ |
| 383 V(bool, fp_stubs_generated, false) \ |
| 384 V(int, max_available_threads, 0) \ |
| 385 ISOLATE_INIT_SIMULATOR_LIST(V) \ |
| 368 ISOLATE_DEBUGGER_INIT_LIST(V) | 386 ISOLATE_DEBUGGER_INIT_LIST(V) |
| 369 | 387 |
| 370 #define THREAD_LOCAL_TOP_ACCESSOR(type, name) \ | 388 #define THREAD_LOCAL_TOP_ACCESSOR(type, name) \ |
| 371 inline void set_##name(type v) { thread_local_top_.name##_ = v; } \ | 389 inline void set_##name(type v) { thread_local_top_.name##_ = v; } \ |
| 372 inline type name() const { return thread_local_top_.name##_; } | 390 inline type name() const { return thread_local_top_.name##_; } |
| 373 | 391 |
| 374 | 392 |
| 375 class Isolate { | 393 class Isolate { |
| 376 // These forward declarations are required to make the friend declarations in | 394 // These forward declarations are required to make the friend declarations in |
| 377 // PerIsolateThreadData work on some older versions of gcc. | 395 // PerIsolateThreadData work on some older versions of gcc. |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 bool MayNamedAccessWrapper(Handle<JSObject> receiver, | 753 bool MayNamedAccessWrapper(Handle<JSObject> receiver, |
| 736 Handle<Object> key, | 754 Handle<Object> key, |
| 737 v8::AccessType type) { | 755 v8::AccessType type) { |
| 738 return MayNamedAccess(*receiver, *key, type); | 756 return MayNamedAccess(*receiver, *key, type); |
| 739 } | 757 } |
| 740 bool MayIndexedAccessWrapper(Handle<JSObject> receiver, | 758 bool MayIndexedAccessWrapper(Handle<JSObject> receiver, |
| 741 uint32_t index, | 759 uint32_t index, |
| 742 v8::AccessType type) { | 760 v8::AccessType type) { |
| 743 return MayIndexedAccess(*receiver, index, type); | 761 return MayIndexedAccess(*receiver, index, type); |
| 744 } | 762 } |
| 763 void ReportFailedAccessCheckWrapper(Handle<JSObject> receiver, |
| 764 v8::AccessType type) { |
| 765 ReportFailedAccessCheck(*receiver, type); |
| 766 } |
| 745 | 767 |
| 746 bool MayNamedAccess(JSObject* receiver, | 768 bool MayNamedAccess(JSObject* receiver, |
| 747 Object* key, | 769 Object* key, |
| 748 v8::AccessType type); | 770 v8::AccessType type); |
| 749 bool MayIndexedAccess(JSObject* receiver, | 771 bool MayIndexedAccess(JSObject* receiver, |
| 750 uint32_t index, | 772 uint32_t index, |
| 751 v8::AccessType type); | 773 v8::AccessType type); |
| 752 | 774 |
| 753 void SetFailedAccessCheckCallback(v8::FailedAccessCheckCallback callback); | 775 void SetFailedAccessCheckCallback(v8::FailedAccessCheckCallback callback); |
| 754 void ReportFailedAccessCheck(JSObject* receiver, v8::AccessType type); | 776 void ReportFailedAccessCheck(JSObject* receiver, v8::AccessType type); |
| (...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 926 ConsStringIteratorOp* objects_string_compare_iterator_b() { | 948 ConsStringIteratorOp* objects_string_compare_iterator_b() { |
| 927 return &objects_string_compare_iterator_b_; | 949 return &objects_string_compare_iterator_b_; |
| 928 } | 950 } |
| 929 | 951 |
| 930 StaticResource<ConsStringIteratorOp>* objects_string_iterator() { | 952 StaticResource<ConsStringIteratorOp>* objects_string_iterator() { |
| 931 return &objects_string_iterator_; | 953 return &objects_string_iterator_; |
| 932 } | 954 } |
| 933 | 955 |
| 934 RuntimeState* runtime_state() { return &runtime_state_; } | 956 RuntimeState* runtime_state() { return &runtime_state_; } |
| 935 | 957 |
| 936 FIELD_ACCESSOR(bool, fp_stubs_generated); | |
| 937 | |
| 938 Builtins* builtins() { return &builtins_; } | 958 Builtins* builtins() { return &builtins_; } |
| 939 | 959 |
| 940 void NotifyExtensionInstalled() { | 960 void NotifyExtensionInstalled() { |
| 941 has_installed_extensions_ = true; | 961 has_installed_extensions_ = true; |
| 942 } | 962 } |
| 943 | 963 |
| 944 bool has_installed_extensions() { return has_installed_extensions_; } | 964 bool has_installed_extensions() { return has_installed_extensions_; } |
| 945 | 965 |
| 946 unibrow::Mapping<unibrow::Ecma262Canonicalize>* | 966 unibrow::Mapping<unibrow::Ecma262Canonicalize>* |
| 947 regexp_macro_assembler_canonicalize() { | 967 regexp_macro_assembler_canonicalize() { |
| (...skipping 25 matching lines...) Expand all Loading... |
| 973 | 993 |
| 974 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } | 994 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } |
| 975 HeapProfiler* heap_profiler() const { return heap_profiler_; } | 995 HeapProfiler* heap_profiler() const { return heap_profiler_; } |
| 976 | 996 |
| 977 #ifdef DEBUG | 997 #ifdef DEBUG |
| 978 HistogramInfo* heap_histograms() { return heap_histograms_; } | 998 HistogramInfo* heap_histograms() { return heap_histograms_; } |
| 979 | 999 |
| 980 JSObject::SpillInformation* js_spill_information() { | 1000 JSObject::SpillInformation* js_spill_information() { |
| 981 return &js_spill_information_; | 1001 return &js_spill_information_; |
| 982 } | 1002 } |
| 983 | |
| 984 int* code_kind_statistics() { return code_kind_statistics_; } | |
| 985 #endif | |
| 986 | |
| 987 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ | |
| 988 V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \ | |
| 989 V8_TARGET_ARCH_MIPS && !defined(__mips__) | |
| 990 FIELD_ACCESSOR(bool, simulator_initialized) | |
| 991 FIELD_ACCESSOR(HashMap*, simulator_i_cache) | |
| 992 FIELD_ACCESSOR(Redirection*, simulator_redirection) | |
| 993 #endif | 1003 #endif |
| 994 | 1004 |
| 995 Factory* factory() { return reinterpret_cast<Factory*>(this); } | 1005 Factory* factory() { return reinterpret_cast<Factory*>(this); } |
| 996 | 1006 |
| 997 static const int kJSRegexpStaticOffsetsVectorSize = 128; | 1007 static const int kJSRegexpStaticOffsetsVectorSize = 128; |
| 998 | 1008 |
| 999 THREAD_LOCAL_TOP_ACCESSOR(ExternalCallbackScope*, external_callback_scope) | 1009 THREAD_LOCAL_TOP_ACCESSOR(ExternalCallbackScope*, external_callback_scope) |
| 1000 | 1010 |
| 1001 THREAD_LOCAL_TOP_ACCESSOR(StateTag, current_vm_state) | 1011 THREAD_LOCAL_TOP_ACCESSOR(StateTag, current_vm_state) |
| 1002 | 1012 |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1052 CallInterfaceDescriptor* call_descriptor(CallDescriptorKey index); | 1062 CallInterfaceDescriptor* call_descriptor(CallDescriptorKey index); |
| 1053 | 1063 |
| 1054 void IterateDeferredHandles(ObjectVisitor* visitor); | 1064 void IterateDeferredHandles(ObjectVisitor* visitor); |
| 1055 void LinkDeferredHandles(DeferredHandles* deferred_handles); | 1065 void LinkDeferredHandles(DeferredHandles* deferred_handles); |
| 1056 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); | 1066 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); |
| 1057 | 1067 |
| 1058 #ifdef DEBUG | 1068 #ifdef DEBUG |
| 1059 bool IsDeferredHandle(Object** location); | 1069 bool IsDeferredHandle(Object** location); |
| 1060 #endif // DEBUG | 1070 #endif // DEBUG |
| 1061 | 1071 |
| 1062 FIELD_ACCESSOR(int, max_available_threads); | |
| 1063 | |
| 1064 bool concurrent_recompilation_enabled() { | 1072 bool concurrent_recompilation_enabled() { |
| 1065 // Thread is only available with flag enabled. | 1073 // Thread is only available with flag enabled. |
| 1066 ASSERT(optimizing_compiler_thread_ == NULL || | 1074 ASSERT(optimizing_compiler_thread_ == NULL || |
| 1067 FLAG_concurrent_recompilation); | 1075 FLAG_concurrent_recompilation); |
| 1068 return optimizing_compiler_thread_ != NULL; | 1076 return optimizing_compiler_thread_ != NULL; |
| 1069 } | 1077 } |
| 1070 | 1078 |
| 1071 bool concurrent_osr_enabled() const { | 1079 bool concurrent_osr_enabled() const { |
| 1072 // Thread is only available with flag enabled. | 1080 // Thread is only available with flag enabled. |
| 1073 ASSERT(optimizing_compiler_thread_ == NULL || | 1081 ASSERT(optimizing_compiler_thread_ == NULL || |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1259 HandleScopeData handle_scope_data_; | 1267 HandleScopeData handle_scope_data_; |
| 1260 HandleScopeImplementer* handle_scope_implementer_; | 1268 HandleScopeImplementer* handle_scope_implementer_; |
| 1261 UnicodeCache* unicode_cache_; | 1269 UnicodeCache* unicode_cache_; |
| 1262 Zone runtime_zone_; | 1270 Zone runtime_zone_; |
| 1263 InnerPointerToCodeCache* inner_pointer_to_code_cache_; | 1271 InnerPointerToCodeCache* inner_pointer_to_code_cache_; |
| 1264 ConsStringIteratorOp* write_iterator_; | 1272 ConsStringIteratorOp* write_iterator_; |
| 1265 GlobalHandles* global_handles_; | 1273 GlobalHandles* global_handles_; |
| 1266 EternalHandles* eternal_handles_; | 1274 EternalHandles* eternal_handles_; |
| 1267 ThreadManager* thread_manager_; | 1275 ThreadManager* thread_manager_; |
| 1268 RuntimeState runtime_state_; | 1276 RuntimeState runtime_state_; |
| 1269 bool fp_stubs_generated_; | |
| 1270 Builtins builtins_; | 1277 Builtins builtins_; |
| 1271 bool has_installed_extensions_; | 1278 bool has_installed_extensions_; |
| 1272 StringTracker* string_tracker_; | 1279 StringTracker* string_tracker_; |
| 1273 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; | 1280 unibrow::Mapping<unibrow::Ecma262UnCanonicalize> jsregexp_uncanonicalize_; |
| 1274 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; | 1281 unibrow::Mapping<unibrow::CanonicalizationRange> jsregexp_canonrange_; |
| 1275 ConsStringIteratorOp objects_string_compare_iterator_a_; | 1282 ConsStringIteratorOp objects_string_compare_iterator_a_; |
| 1276 ConsStringIteratorOp objects_string_compare_iterator_b_; | 1283 ConsStringIteratorOp objects_string_compare_iterator_b_; |
| 1277 StaticResource<ConsStringIteratorOp> objects_string_iterator_; | 1284 StaticResource<ConsStringIteratorOp> objects_string_iterator_; |
| 1278 unibrow::Mapping<unibrow::Ecma262Canonicalize> | 1285 unibrow::Mapping<unibrow::Ecma262Canonicalize> |
| 1279 regexp_macro_assembler_canonicalize_; | 1286 regexp_macro_assembler_canonicalize_; |
| 1280 RegExpStack* regexp_stack_; | 1287 RegExpStack* regexp_stack_; |
| 1281 DateCache* date_cache_; | 1288 DateCache* date_cache_; |
| 1282 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; | 1289 unibrow::Mapping<unibrow::Ecma262Canonicalize> interp_canonicalize_mapping_; |
| 1283 CodeStubInterfaceDescriptor* code_stub_interface_descriptors_; | 1290 CodeStubInterfaceDescriptor* code_stub_interface_descriptors_; |
| 1284 CallInterfaceDescriptor* call_descriptors_; | 1291 CallInterfaceDescriptor* call_descriptors_; |
| 1285 RandomNumberGenerator* random_number_generator_; | 1292 RandomNumberGenerator* random_number_generator_; |
| 1286 | 1293 |
| 1287 // True if fatal error has been signaled for this isolate. | 1294 // True if fatal error has been signaled for this isolate. |
| 1288 bool has_fatal_error_; | 1295 bool has_fatal_error_; |
| 1289 | 1296 |
| 1290 // True if we are using the Crankshaft optimizing compiler. | 1297 // True if we are using the Crankshaft optimizing compiler. |
| 1291 bool use_crankshaft_; | 1298 bool use_crankshaft_; |
| 1292 | 1299 |
| 1293 // True if this isolate was initialized from a snapshot. | 1300 // True if this isolate was initialized from a snapshot. |
| 1294 bool initialized_from_snapshot_; | 1301 bool initialized_from_snapshot_; |
| 1295 | 1302 |
| 1296 // Time stamp at initialization. | 1303 // Time stamp at initialization. |
| 1297 double time_millis_at_init_; | 1304 double time_millis_at_init_; |
| 1298 | 1305 |
| 1299 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ | |
| 1300 V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \ | |
| 1301 V8_TARGET_ARCH_MIPS && !defined(__mips__) | |
| 1302 bool simulator_initialized_; | |
| 1303 HashMap* simulator_i_cache_; | |
| 1304 Redirection* simulator_redirection_; | |
| 1305 #endif | |
| 1306 | |
| 1307 #ifdef DEBUG | 1306 #ifdef DEBUG |
| 1308 // A static array of histogram info for each type. | 1307 // A static array of histogram info for each type. |
| 1309 HistogramInfo heap_histograms_[LAST_TYPE + 1]; | 1308 HistogramInfo heap_histograms_[LAST_TYPE + 1]; |
| 1310 JSObject::SpillInformation js_spill_information_; | 1309 JSObject::SpillInformation js_spill_information_; |
| 1311 int code_kind_statistics_[Code::NUMBER_OF_KINDS]; | |
| 1312 #endif | 1310 #endif |
| 1313 | 1311 |
| 1314 #ifdef ENABLE_DEBUGGER_SUPPORT | 1312 #ifdef ENABLE_DEBUGGER_SUPPORT |
| 1315 Debugger* debugger_; | 1313 Debugger* debugger_; |
| 1316 Debug* debug_; | 1314 Debug* debug_; |
| 1317 #endif | 1315 #endif |
| 1318 CpuProfiler* cpu_profiler_; | 1316 CpuProfiler* cpu_profiler_; |
| 1319 HeapProfiler* heap_profiler_; | 1317 HeapProfiler* heap_profiler_; |
| 1320 FunctionEntryHook function_entry_hook_; | 1318 FunctionEntryHook function_entry_hook_; |
| 1321 | 1319 |
| (...skipping 16 matching lines...) Expand all Loading... |
| 1338 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) | 1336 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) |
| 1339 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) | 1337 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) |
| 1340 #undef ISOLATE_FIELD_OFFSET | 1338 #undef ISOLATE_FIELD_OFFSET |
| 1341 #endif | 1339 #endif |
| 1342 | 1340 |
| 1343 DeferredHandles* deferred_handles_head_; | 1341 DeferredHandles* deferred_handles_head_; |
| 1344 OptimizingCompilerThread* optimizing_compiler_thread_; | 1342 OptimizingCompilerThread* optimizing_compiler_thread_; |
| 1345 SweeperThread** sweeper_thread_; | 1343 SweeperThread** sweeper_thread_; |
| 1346 int num_sweeper_threads_; | 1344 int num_sweeper_threads_; |
| 1347 | 1345 |
| 1348 // TODO(yangguo): This will become obsolete once ResourceConstraints | |
| 1349 // becomes an argument to Isolate constructor. | |
| 1350 int max_available_threads_; | |
| 1351 | |
| 1352 // Counts deopt points if deopt_every_n_times is enabled. | 1346 // Counts deopt points if deopt_every_n_times is enabled. |
| 1353 unsigned int stress_deopt_count_; | 1347 unsigned int stress_deopt_count_; |
| 1354 | 1348 |
| 1355 LexerGCHandler* lexer_gc_handler_; | 1349 LexerGCHandler* lexer_gc_handler_; |
| 1356 int next_optimization_id_; | 1350 int next_optimization_id_; |
| 1357 | 1351 |
| 1358 friend class ExecutionAccess; | 1352 friend class ExecutionAccess; |
| 1359 friend class HandleScopeImplementer; | 1353 friend class HandleScopeImplementer; |
| 1360 friend class IsolateInitializer; | 1354 friend class IsolateInitializer; |
| 1361 friend class OptimizingCompilerThread; | 1355 friend class OptimizingCompilerThread; |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1559 } | 1553 } |
| 1560 | 1554 |
| 1561 EmbeddedVector<char, 128> filename_; | 1555 EmbeddedVector<char, 128> filename_; |
| 1562 FILE* file_; | 1556 FILE* file_; |
| 1563 int scope_depth_; | 1557 int scope_depth_; |
| 1564 }; | 1558 }; |
| 1565 | 1559 |
| 1566 } } // namespace v8::internal | 1560 } } // namespace v8::internal |
| 1567 | 1561 |
| 1568 #endif // V8_ISOLATE_H_ | 1562 #endif // V8_ISOLATE_H_ |
| OLD | NEW |