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

Side by Side Diff: src/isolate.h

Issue 2551763003: v8::Private::ForApi should be context-independent. (Closed)
Patch Set: Created 4 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
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 <memory>
9 #include <queue> 9 #include <queue>
10 10
(...skipping 1067 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 Object* FindCodeObject(Address a); 1078 Object* FindCodeObject(Address a);
1079 1079
1080 int NextOptimizationId() { 1080 int NextOptimizationId() {
1081 int id = next_optimization_id_++; 1081 int id = next_optimization_id_++;
1082 if (!Smi::IsValid(next_optimization_id_)) { 1082 if (!Smi::IsValid(next_optimization_id_)) {
1083 next_optimization_id_ = 0; 1083 next_optimization_id_ = 0;
1084 } 1084 }
1085 return id; 1085 return id;
1086 } 1086 }
1087 1087
1088 // Get (and lazily initialize) the registry for per-isolate symbols.
1089 Handle<JSObject> GetSymbolRegistry();
1090
1091 void AddCallCompletedCallback(CallCompletedCallback callback); 1088 void AddCallCompletedCallback(CallCompletedCallback callback);
1092 void RemoveCallCompletedCallback(CallCompletedCallback callback); 1089 void RemoveCallCompletedCallback(CallCompletedCallback callback);
1093 void FireCallCompletedCallback(); 1090 void FireCallCompletedCallback();
1094 1091
1095 void AddBeforeCallEnteredCallback(BeforeCallEnteredCallback callback); 1092 void AddBeforeCallEnteredCallback(BeforeCallEnteredCallback callback);
1096 void RemoveBeforeCallEnteredCallback(BeforeCallEnteredCallback callback); 1093 void RemoveBeforeCallEnteredCallback(BeforeCallEnteredCallback callback);
1097 inline void FireBeforeCallEnteredCallback(); 1094 inline void FireBeforeCallEnteredCallback();
1098 1095
1099 void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); 1096 void AddMicrotasksCompletedCallback(MicrotasksCompletedCallback callback);
1100 void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback); 1097 void RemoveMicrotasksCompletedCallback(MicrotasksCompletedCallback callback);
1101 void FireMicrotasksCompletedCallback(); 1098 void FireMicrotasksCompletedCallback();
1102 1099
1103 void SetPromiseRejectCallback(PromiseRejectCallback callback); 1100 void SetPromiseRejectCallback(PromiseRejectCallback callback);
1104 void ReportPromiseReject(Handle<JSObject> promise, Handle<Object> value, 1101 void ReportPromiseReject(Handle<JSObject> promise, Handle<Object> value,
1105 v8::PromiseRejectEvent event); 1102 v8::PromiseRejectEvent event);
1106 1103
1107 void PromiseReactionJob(Handle<PromiseReactionJobInfo> info, 1104 void PromiseReactionJob(Handle<PromiseReactionJobInfo> info,
1108 MaybeHandle<Object>* result, 1105 MaybeHandle<Object>* result,
1109 MaybeHandle<Object>* maybe_exception); 1106 MaybeHandle<Object>* maybe_exception);
1110 void PromiseResolveThenableJob(Handle<PromiseResolveThenableJobInfo> info, 1107 void PromiseResolveThenableJob(Handle<PromiseResolveThenableJobInfo> info,
1111 MaybeHandle<Object>* result, 1108 MaybeHandle<Object>* result,
1112 MaybeHandle<Object>* maybe_exception); 1109 MaybeHandle<Object>* maybe_exception);
1113 void EnqueueMicrotask(Handle<Object> microtask); 1110 void EnqueueMicrotask(Handle<Object> microtask);
1114 void RunMicrotasks(); 1111 void RunMicrotasks();
1115 bool IsRunningMicrotasks() const { return is_running_microtasks_; } 1112 bool IsRunningMicrotasks() const { return is_running_microtasks_; }
1116 int GetNextDebugMicrotaskId() { return debug_microtask_count_++; } 1113 int GetNextDebugMicrotaskId() { return debug_microtask_count_++; }
1117 1114
1115 Handle<Symbol> SymbolFor(Heap::RootListIndex dictionary_index,
1116 Handle<String> name, bool private_symbol);
1117
1118 void SetUseCounterCallback(v8::Isolate::UseCounterCallback callback); 1118 void SetUseCounterCallback(v8::Isolate::UseCounterCallback callback);
1119 void CountUsage(v8::Isolate::UseCounterFeature feature); 1119 void CountUsage(v8::Isolate::UseCounterFeature feature);
1120 1120
1121 BasicBlockProfiler* GetOrCreateBasicBlockProfiler(); 1121 BasicBlockProfiler* GetOrCreateBasicBlockProfiler();
1122 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; } 1122 BasicBlockProfiler* basic_block_profiler() { return basic_block_profiler_; }
1123 1123
1124 std::string GetTurboCfgFileName(); 1124 std::string GetTurboCfgFileName();
1125 1125
1126 #if TRACE_MAPS 1126 #if TRACE_MAPS
1127 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; } 1127 int GetNextUniqueSharedFunctionInfoId() { return next_unique_sfi_id_++; }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1178 base::Mutex* simulator_i_cache_mutex() { return &simulator_i_cache_mutex_; } 1178 base::Mutex* simulator_i_cache_mutex() { return &simulator_i_cache_mutex_; }
1179 #endif 1179 #endif
1180 1180
1181 protected: 1181 protected:
1182 explicit Isolate(bool enable_serializer); 1182 explicit Isolate(bool enable_serializer);
1183 bool IsArrayOrObjectPrototype(Object* object); 1183 bool IsArrayOrObjectPrototype(Object* object);
1184 1184
1185 private: 1185 private:
1186 friend struct GlobalState; 1186 friend struct GlobalState;
1187 friend struct InitializeGlobalState; 1187 friend struct InitializeGlobalState;
1188 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map,
1189 const char* name);
1190 1188
1191 // These fields are accessed through the API, offsets must be kept in sync 1189 // These fields are accessed through the API, offsets must be kept in sync
1192 // with v8::internal::Internals (in include/v8.h) constants. This is also 1190 // with v8::internal::Internals (in include/v8.h) constants. This is also
1193 // verified in Isolate::Init() using runtime checks. 1191 // verified in Isolate::Init() using runtime checks.
1194 void* embedder_data_[Internals::kNumIsolateDataSlots]; 1192 void* embedder_data_[Internals::kNumIsolateDataSlots];
1195 Heap heap_; 1193 Heap heap_;
1196 1194
1197 // The per-process lock should be acquired before the ThreadDataTable is 1195 // The per-process lock should be acquired before the ThreadDataTable is
1198 // modified. 1196 // modified.
1199 class ThreadDataTable { 1197 class ThreadDataTable {
(...skipping 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
1682 1680
1683 EmbeddedVector<char, 128> filename_; 1681 EmbeddedVector<char, 128> filename_;
1684 FILE* file_; 1682 FILE* file_;
1685 int scope_depth_; 1683 int scope_depth_;
1686 }; 1684 };
1687 1685
1688 } // namespace internal 1686 } // namespace internal
1689 } // namespace v8 1687 } // namespace v8
1690 1688
1691 #endif // V8_ISOLATE_H_ 1689 #endif // V8_ISOLATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698