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

Side by Side Diff: src/isolate.h

Issue 2061623002: Introduce JIT code events dispatcher for the isolate. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: rebaseline Created 4 years, 6 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/interpreter/interpreter.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 <memory>
8 #include <queue> 9 #include <queue>
9 #include <set> 10 #include <set>
10 11
11 #include "include/v8-debug.h" 12 #include "include/v8-debug.h"
12 #include "src/allocation.h" 13 #include "src/allocation.h"
13 #include "src/assert-scope.h" 14 #include "src/assert-scope.h"
14 #include "src/base/accounting-allocator.h" 15 #include "src/base/accounting-allocator.h"
15 #include "src/base/atomicops.h" 16 #include "src/base/atomicops.h"
16 #include "src/base/hashmap.h" 17 #include "src/base/hashmap.h"
17 #include "src/builtins.h" 18 #include "src/builtins.h"
(...skipping 17 matching lines...) Expand all
35 36
36 namespace base { 37 namespace base {
37 class RandomNumberGenerator; 38 class RandomNumberGenerator;
38 } 39 }
39 40
40 namespace internal { 41 namespace internal {
41 42
42 class BasicBlockProfiler; 43 class BasicBlockProfiler;
43 class Bootstrapper; 44 class Bootstrapper;
44 class CallInterfaceDescriptorData; 45 class CallInterfaceDescriptorData;
46 class CodeAgingHelper;
47 class CodeEventDispatcher;
45 class CodeGenerator; 48 class CodeGenerator;
46 class CodeRange; 49 class CodeRange;
47 class CodeStubDescriptor; 50 class CodeStubDescriptor;
48 class CodeTracer; 51 class CodeTracer;
49 class CompilationCache; 52 class CompilationCache;
50 class CompilationStatistics; 53 class CompilationStatistics;
51 class ContextSlotCache; 54 class ContextSlotCache;
52 class Counters; 55 class Counters;
53 class CpuFeatures; 56 class CpuFeatures;
54 class CpuProfiler; 57 class CpuProfiler;
55 class DeoptimizerData; 58 class DeoptimizerData;
56 class Deserializer; 59 class Deserializer;
57 class EmptyStatement; 60 class EmptyStatement;
58 class ExternalCallbackScope; 61 class ExternalCallbackScope;
59 class ExternalReferenceTable; 62 class ExternalReferenceTable;
60 class Factory; 63 class Factory;
61 class HandleScopeImplementer; 64 class HandleScopeImplementer;
62 class HeapProfiler; 65 class HeapProfiler;
63 class HStatistics; 66 class HStatistics;
64 class HTracer; 67 class HTracer;
65 class InlineRuntimeFunctionsTable; 68 class InlineRuntimeFunctionsTable;
66 class InnerPointerToCodeCache; 69 class InnerPointerToCodeCache;
67 class Logger; 70 class Logger;
68 class MaterializedObjectStore; 71 class MaterializedObjectStore;
69 class CodeAgingHelper; 72 class PositionsRecorder;
70 class RegExpStack; 73 class RegExpStack;
71 class SaveContext; 74 class SaveContext;
72 class StatsTable; 75 class StatsTable;
73 class StringTracker; 76 class StringTracker;
74 class StubCache; 77 class StubCache;
75 class SweeperThread; 78 class SweeperThread;
76 class ThreadManager; 79 class ThreadManager;
77 class ThreadState; 80 class ThreadState;
78 class ThreadVisitor; // Defined in v8threads.h 81 class ThreadVisitor; // Defined in v8threads.h
79 class UnicodeCache; 82 class UnicodeCache;
(...skipping 832 matching lines...) Expand 10 before | Expand all | Expand 10 after
912 RegExpStack* regexp_stack() { return regexp_stack_; } 915 RegExpStack* regexp_stack() { return regexp_stack_; }
913 916
914 unibrow::Mapping<unibrow::Ecma262Canonicalize>* 917 unibrow::Mapping<unibrow::Ecma262Canonicalize>*
915 interp_canonicalize_mapping() { 918 interp_canonicalize_mapping() {
916 return &regexp_macro_assembler_canonicalize_; 919 return &regexp_macro_assembler_canonicalize_;
917 } 920 }
918 921
919 Debug* debug() { return debug_; } 922 Debug* debug() { return debug_; }
920 923
921 bool* is_profiling_address() { return &is_profiling_; } 924 bool* is_profiling_address() { return &is_profiling_; }
925 CodeEventDispatcher* code_event_dispatcher() const {
926 return code_event_dispatcher_.get();
927 }
922 CpuProfiler* cpu_profiler() const { return cpu_profiler_; } 928 CpuProfiler* cpu_profiler() const { return cpu_profiler_; }
923 HeapProfiler* heap_profiler() const { return heap_profiler_; } 929 HeapProfiler* heap_profiler() const { return heap_profiler_; }
924 930
925 #ifdef DEBUG 931 #ifdef DEBUG
926 HistogramInfo* heap_histograms() { return heap_histograms_; } 932 HistogramInfo* heap_histograms() { return heap_histograms_; }
927 933
928 JSObject::SpillInformation* js_spill_information() { 934 JSObject::SpillInformation* js_spill_information() {
929 return &js_spill_information_; 935 return &js_spill_information_;
930 } 936 }
931 #endif 937 #endif
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
1331 1337
1332 #ifdef DEBUG 1338 #ifdef DEBUG
1333 // A static array of histogram info for each type. 1339 // A static array of histogram info for each type.
1334 HistogramInfo heap_histograms_[LAST_TYPE + 1]; 1340 HistogramInfo heap_histograms_[LAST_TYPE + 1];
1335 JSObject::SpillInformation js_spill_information_; 1341 JSObject::SpillInformation js_spill_information_;
1336 #endif 1342 #endif
1337 1343
1338 Debug* debug_; 1344 Debug* debug_;
1339 CpuProfiler* cpu_profiler_; 1345 CpuProfiler* cpu_profiler_;
1340 HeapProfiler* heap_profiler_; 1346 HeapProfiler* heap_profiler_;
1347 std::unique_ptr<CodeEventDispatcher> code_event_dispatcher_;
1341 FunctionEntryHook function_entry_hook_; 1348 FunctionEntryHook function_entry_hook_;
1342 1349
1343 interpreter::Interpreter* interpreter_; 1350 interpreter::Interpreter* interpreter_;
1344 1351
1345 typedef std::pair<InterruptCallback, void*> InterruptEntry; 1352 typedef std::pair<InterruptCallback, void*> InterruptEntry;
1346 std::queue<InterruptEntry> api_interrupts_queue_; 1353 std::queue<InterruptEntry> api_interrupts_queue_;
1347 1354
1348 #define GLOBAL_BACKING_STORE(type, name, initialvalue) \ 1355 #define GLOBAL_BACKING_STORE(type, name, initialvalue) \
1349 type name##_; 1356 type name##_;
1350 ISOLATE_INIT_LIST(GLOBAL_BACKING_STORE) 1357 ISOLATE_INIT_LIST(GLOBAL_BACKING_STORE)
(...skipping 289 matching lines...) Expand 10 before | Expand all | Expand 10 after
1640 1647
1641 EmbeddedVector<char, 128> filename_; 1648 EmbeddedVector<char, 128> filename_;
1642 FILE* file_; 1649 FILE* file_;
1643 int scope_depth_; 1650 int scope_depth_;
1644 }; 1651 };
1645 1652
1646 } // namespace internal 1653 } // namespace internal
1647 } // namespace v8 1654 } // namespace v8
1648 1655
1649 #endif // V8_ISOLATE_H_ 1656 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/interpreter/interpreter.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698