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

Side by Side Diff: src/isolate.h

Issue 768543002: [WIP] TrapHandler 2014/11/27. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 6 years 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/d8.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 <utility>
9 #include <vector>
10
8 #include "include/v8-debug.h" 11 #include "include/v8-debug.h"
9 #include "src/allocation.h" 12 #include "src/allocation.h"
10 #include "src/assert-scope.h" 13 #include "src/assert-scope.h"
11 #include "src/base/atomicops.h" 14 #include "src/base/atomicops.h"
12 #include "src/builtins.h" 15 #include "src/builtins.h"
13 #include "src/contexts.h" 16 #include "src/contexts.h"
14 #include "src/date.h" 17 #include "src/date.h"
15 #include "src/execution.h" 18 #include "src/execution.h"
16 #include "src/frames.h" 19 #include "src/frames.h"
17 #include "src/global-handles.h" 20 #include "src/global-handles.h"
(...skipping 27 matching lines...) Expand all
45 class Counters; 48 class Counters;
46 class CpuFeatures; 49 class CpuFeatures;
47 class CpuProfiler; 50 class CpuProfiler;
48 class DeoptimizerData; 51 class DeoptimizerData;
49 class Deserializer; 52 class Deserializer;
50 class EmptyStatement; 53 class EmptyStatement;
51 class ExternalCallbackScope; 54 class ExternalCallbackScope;
52 class ExternalReferenceTable; 55 class ExternalReferenceTable;
53 class Factory; 56 class Factory;
54 class FunctionInfoListener; 57 class FunctionInfoListener;
58 struct GuardArea;
55 class HandleScopeImplementer; 59 class HandleScopeImplementer;
56 class HeapProfiler; 60 class HeapProfiler;
57 class HStatistics; 61 class HStatistics;
58 class HTracer; 62 class HTracer;
59 class InlineRuntimeFunctionsTable; 63 class InlineRuntimeFunctionsTable;
60 class InnerPointerToCodeCache; 64 class InnerPointerToCodeCache;
61 class MaterializedObjectStore; 65 class MaterializedObjectStore;
62 class CodeAgingHelper; 66 class CodeAgingHelper;
63 class RegExpStack; 67 class RegExpStack;
64 class SaveContext; 68 class SaveContext;
(...skipping 1044 matching lines...) Expand 10 before | Expand all | Expand 10 after
1109 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } 1113 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; }
1110 1114
1111 static Isolate* NewForTesting() { return new Isolate(false); } 1115 static Isolate* NewForTesting() { return new Isolate(false); }
1112 1116
1113 std::string GetTurboCfgFileName(); 1117 std::string GetTurboCfgFileName();
1114 1118
1115 #if TRACE_MAPS 1119 #if TRACE_MAPS
1116 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } 1120 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; }
1117 #endif 1121 #endif
1118 1122
1123 void AddGuardArea(void const* address, size_t const length);
1124 void RemoveGuardArea(void const* address, size_t const length);
1125 bool IsInGuardArea(void const* address) const;
1126
1119 private: 1127 private:
1120 explicit Isolate(bool enable_serializer); 1128 explicit Isolate(bool enable_serializer);
1121 1129
1122 friend struct GlobalState; 1130 friend struct GlobalState;
1123 friend struct InitializeGlobalState; 1131 friend struct InitializeGlobalState;
1124 1132
1125 // These fields are accessed through the API, offsets must be kept in sync 1133 // These fields are accessed through the API, offsets must be kept in sync
1126 // with v8::internal::Internals (in include/v8.h) constants. This is also 1134 // with v8::internal::Internals (in include/v8.h) constants. This is also
1127 // verified in Isolate::Init() using runtime checks. 1135 // verified in Isolate::Init() using runtime checks.
1128 void* embedder_data_[Internals::kNumIsolateDataSlots]; 1136 void* embedder_data_[Internals::kNumIsolateDataSlots];
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
1324 1332
1325 #if TRACE_MAPS 1333 #if TRACE_MAPS
1326 int next_unique_sfi_id_; 1334 int next_unique_sfi_id_;
1327 #endif 1335 #endif
1328 1336
1329 // List of callbacks when a Call completes. 1337 // List of callbacks when a Call completes.
1330 List<CallCompletedCallback> call_completed_callbacks_; 1338 List<CallCompletedCallback> call_completed_callbacks_;
1331 1339
1332 v8::Isolate::UseCounterCallback use_counter_callback_; 1340 v8::Isolate::UseCounterCallback use_counter_callback_;
1333 BasicBlockProfiler* basic_block_profiler_; 1341 BasicBlockProfiler* basic_block_profiler_;
1342 std::vector<std::pair<void const*, void const*>> guard_areas_;
1334 1343
1335 friend class ExecutionAccess; 1344 friend class ExecutionAccess;
1336 friend class HandleScopeImplementer; 1345 friend class HandleScopeImplementer;
1337 friend class IsolateInitializer; 1346 friend class IsolateInitializer;
1338 friend class OptimizingCompilerThread; 1347 friend class OptimizingCompilerThread;
1339 friend class SweeperThread; 1348 friend class SweeperThread;
1340 friend class ThreadManager; 1349 friend class ThreadManager;
1341 friend class Simulator; 1350 friend class Simulator;
1342 friend class StackGuard; 1351 friend class StackGuard;
1343 friend class ThreadId; 1352 friend class ThreadId;
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1553 } 1562 }
1554 1563
1555 EmbeddedVector<char, 128> filename_; 1564 EmbeddedVector<char, 128> filename_;
1556 FILE* file_; 1565 FILE* file_;
1557 int scope_depth_; 1566 int scope_depth_;
1558 }; 1567 };
1559 1568
1560 } } // namespace v8::internal 1569 } } // namespace v8::internal
1561 1570
1562 #endif // V8_ISOLATE_H_ 1571 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/d8.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698