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

Side by Side Diff: src/isolate.h

Issue 1082183003: Revert of Reland "Remove support for thread-based recompilation" (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 8 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/hydrogen.cc ('k') | src/isolate.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_ISOLATE_H_ 5 #ifndef V8_ISOLATE_H_
6 #define V8_ISOLATE_H_ 6 #define V8_ISOLATE_H_
7 7
8 #include <queue> 8 #include <queue>
9 #include "include/v8-debug.h" 9 #include "include/v8-debug.h"
10 #include "src/allocation.h" 10 #include "src/allocation.h"
11 #include "src/assert-scope.h" 11 #include "src/assert-scope.h"
12 #include "src/base/atomicops.h" 12 #include "src/base/atomicops.h"
13 #include "src/builtins.h" 13 #include "src/builtins.h"
14 #include "src/contexts.h" 14 #include "src/contexts.h"
15 #include "src/date.h" 15 #include "src/date.h"
16 #include "src/execution.h" 16 #include "src/execution.h"
17 #include "src/frames.h" 17 #include "src/frames.h"
18 #include "src/global-handles.h" 18 #include "src/global-handles.h"
19 #include "src/handles.h" 19 #include "src/handles.h"
20 #include "src/hashmap.h" 20 #include "src/hashmap.h"
21 #include "src/heap/heap.h" 21 #include "src/heap/heap.h"
22 #include "src/optimizing-compile-dispatcher.h" 22 #include "src/optimizing-compiler-thread.h"
23 #include "src/regexp-stack.h" 23 #include "src/regexp-stack.h"
24 #include "src/runtime/runtime.h" 24 #include "src/runtime/runtime.h"
25 #include "src/runtime-profiler.h" 25 #include "src/runtime-profiler.h"
26 #include "src/zone.h" 26 #include "src/zone.h"
27 27
28 namespace v8 { 28 namespace v8 {
29 29
30 namespace base { 30 namespace base {
31 class RandomNumberGenerator; 31 class RandomNumberGenerator;
32 } 32 }
(...skipping 988 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 void IterateDeferredHandles(ObjectVisitor* visitor); 1021 void IterateDeferredHandles(ObjectVisitor* visitor);
1022 void LinkDeferredHandles(DeferredHandles* deferred_handles); 1022 void LinkDeferredHandles(DeferredHandles* deferred_handles);
1023 void UnlinkDeferredHandles(DeferredHandles* deferred_handles); 1023 void UnlinkDeferredHandles(DeferredHandles* deferred_handles);
1024 1024
1025 #ifdef DEBUG 1025 #ifdef DEBUG
1026 bool IsDeferredHandle(Object** location); 1026 bool IsDeferredHandle(Object** location);
1027 #endif // DEBUG 1027 #endif // DEBUG
1028 1028
1029 bool concurrent_recompilation_enabled() { 1029 bool concurrent_recompilation_enabled() {
1030 // Thread is only available with flag enabled. 1030 // Thread is only available with flag enabled.
1031 DCHECK(optimizing_compile_dispatcher_ == NULL || 1031 DCHECK(optimizing_compiler_thread_ == NULL ||
1032 FLAG_concurrent_recompilation); 1032 FLAG_concurrent_recompilation);
1033 return optimizing_compile_dispatcher_ != NULL; 1033 return optimizing_compiler_thread_ != NULL;
1034 } 1034 }
1035 1035
1036 bool concurrent_osr_enabled() const { 1036 bool concurrent_osr_enabled() const {
1037 // Thread is only available with flag enabled. 1037 // Thread is only available with flag enabled.
1038 DCHECK(optimizing_compile_dispatcher_ == NULL || 1038 DCHECK(optimizing_compiler_thread_ == NULL ||
1039 FLAG_concurrent_recompilation); 1039 FLAG_concurrent_recompilation);
1040 return optimizing_compile_dispatcher_ != NULL && FLAG_concurrent_osr; 1040 return optimizing_compiler_thread_ != NULL && FLAG_concurrent_osr;
1041 } 1041 }
1042 1042
1043 OptimizingCompileDispatcher* optimizing_compile_dispatcher() { 1043 OptimizingCompilerThread* optimizing_compiler_thread() {
1044 return optimizing_compile_dispatcher_; 1044 return optimizing_compiler_thread_;
1045 } 1045 }
1046 1046
1047 int id() const { return static_cast<int>(id_); } 1047 int id() const { return static_cast<int>(id_); }
1048 1048
1049 HStatistics* GetHStatistics(); 1049 HStatistics* GetHStatistics();
1050 CompilationStatistics* GetTurboStatistics(); 1050 CompilationStatistics* GetTurboStatistics();
1051 HTracer* GetHTracer(); 1051 HTracer* GetHTracer();
1052 CodeTracer* GetCodeTracer(); 1052 CodeTracer* GetCodeTracer();
1053 1053
1054 void DumpAndResetCompilationStats(); 1054 void DumpAndResetCompilationStats();
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
1322 // preprocessor defines. Make sure the offsets of these fields agree 1322 // preprocessor defines. Make sure the offsets of these fields agree
1323 // between compilation units. 1323 // between compilation units.
1324 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ 1324 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \
1325 static const intptr_t name##_debug_offset_; 1325 static const intptr_t name##_debug_offset_;
1326 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) 1326 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET)
1327 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) 1327 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
1328 #undef ISOLATE_FIELD_OFFSET 1328 #undef ISOLATE_FIELD_OFFSET
1329 #endif 1329 #endif
1330 1330
1331 DeferredHandles* deferred_handles_head_; 1331 DeferredHandles* deferred_handles_head_;
1332 OptimizingCompileDispatcher* optimizing_compile_dispatcher_; 1332 OptimizingCompilerThread* optimizing_compiler_thread_;
1333 1333
1334 // Counts deopt points if deopt_every_n_times is enabled. 1334 // Counts deopt points if deopt_every_n_times is enabled.
1335 unsigned int stress_deopt_count_; 1335 unsigned int stress_deopt_count_;
1336 1336
1337 int next_optimization_id_; 1337 int next_optimization_id_;
1338 1338
1339 #if TRACE_MAPS 1339 #if TRACE_MAPS
1340 int next_unique_sfi_id_; 1340 int next_unique_sfi_id_;
1341 #endif 1341 #endif
1342 1342
1343 // List of callbacks when a Call completes. 1343 // List of callbacks when a Call completes.
1344 List<CallCompletedCallback> call_completed_callbacks_; 1344 List<CallCompletedCallback> call_completed_callbacks_;
1345 1345
1346 v8::Isolate::UseCounterCallback use_counter_callback_; 1346 v8::Isolate::UseCounterCallback use_counter_callback_;
1347 BasicBlockProfiler* basic_block_profiler_; 1347 BasicBlockProfiler* basic_block_profiler_;
1348 1348
1349 List<Object*> partial_snapshot_cache_; 1349 List<Object*> partial_snapshot_cache_;
1350 1350
1351 friend class ExecutionAccess; 1351 friend class ExecutionAccess;
1352 friend class HandleScopeImplementer; 1352 friend class HandleScopeImplementer;
1353 friend class OptimizingCompileDispatcher; 1353 friend class OptimizingCompilerThread;
1354 friend class SweeperThread; 1354 friend class SweeperThread;
1355 friend class ThreadManager; 1355 friend class ThreadManager;
1356 friend class Simulator; 1356 friend class Simulator;
1357 friend class StackGuard; 1357 friend class StackGuard;
1358 friend class ThreadId; 1358 friend class ThreadId;
1359 friend class TestMemoryAllocatorScope; 1359 friend class TestMemoryAllocatorScope;
1360 friend class TestCodeRangeScope; 1360 friend class TestCodeRangeScope;
1361 friend class v8::Isolate; 1361 friend class v8::Isolate;
1362 friend class v8::Locker; 1362 friend class v8::Locker;
1363 friend class v8::Unlocker; 1363 friend class v8::Unlocker;
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
1569 } 1569 }
1570 1570
1571 EmbeddedVector<char, 128> filename_; 1571 EmbeddedVector<char, 128> filename_;
1572 FILE* file_; 1572 FILE* file_;
1573 int scope_depth_; 1573 int scope_depth_;
1574 }; 1574 };
1575 1575
1576 } } // namespace v8::internal 1576 } } // namespace v8::internal
1577 1577
1578 #endif // V8_ISOLATE_H_ 1578 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/hydrogen.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698