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

Side by Side Diff: src/isolate.h

Issue 2338793002: Fix a race condition in simulator that happens when flushing icache. (Closed)
Patch Set: add new line Created 4 years, 3 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/assembler.cc ('k') | no next file » | 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 <memory>
9 #include <queue> 9 #include <queue>
10 10
(...skipping 1146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 void SetRAILMode(RAILMode rail_mode); 1157 void SetRAILMode(RAILMode rail_mode);
1158 1158
1159 void IsolateInForegroundNotification(); 1159 void IsolateInForegroundNotification();
1160 1160
1161 void IsolateInBackgroundNotification(); 1161 void IsolateInBackgroundNotification();
1162 1162
1163 bool IsIsolateInBackground() { return is_isolate_in_background_; } 1163 bool IsIsolateInBackground() { return is_isolate_in_background_; }
1164 1164
1165 PRINTF_FORMAT(2, 3) void PrintWithTimestamp(const char* format, ...); 1165 PRINTF_FORMAT(2, 3) void PrintWithTimestamp(const char* format, ...);
1166 1166
1167 #ifdef USE_SIMULATOR
1168 base::Mutex* simulator_i_cache_mutex() { return &simulator_i_cache_mutex_; }
1169 #endif
1170
1167 protected: 1171 protected:
1168 explicit Isolate(bool enable_serializer); 1172 explicit Isolate(bool enable_serializer);
1169 bool IsArrayOrObjectPrototype(Object* object); 1173 bool IsArrayOrObjectPrototype(Object* object);
1170 1174
1171 private: 1175 private:
1172 friend struct GlobalState; 1176 friend struct GlobalState;
1173 friend struct InitializeGlobalState; 1177 friend struct InitializeGlobalState;
1174 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map, 1178 Handle<JSObject> SetUpSubregistry(Handle<JSObject> registry, Handle<Map> map,
1175 const char* name); 1179 const char* name);
1176 1180
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
1433 1437
1434 v8::ArrayBuffer::Allocator* array_buffer_allocator_; 1438 v8::ArrayBuffer::Allocator* array_buffer_allocator_;
1435 1439
1436 FutexWaitListNode futex_wait_list_node_; 1440 FutexWaitListNode futex_wait_list_node_;
1437 1441
1438 CancelableTaskManager* cancelable_task_manager_; 1442 CancelableTaskManager* cancelable_task_manager_;
1439 1443
1440 v8::Isolate::AbortOnUncaughtExceptionCallback 1444 v8::Isolate::AbortOnUncaughtExceptionCallback
1441 abort_on_uncaught_exception_callback_; 1445 abort_on_uncaught_exception_callback_;
1442 1446
1447 #ifdef USE_SIMULATOR
1448 base::Mutex simulator_i_cache_mutex_;
1449 #endif
1450
1443 friend class ExecutionAccess; 1451 friend class ExecutionAccess;
1444 friend class HandleScopeImplementer; 1452 friend class HandleScopeImplementer;
1445 friend class OptimizingCompileDispatcher; 1453 friend class OptimizingCompileDispatcher;
1446 friend class SweeperThread; 1454 friend class SweeperThread;
1447 friend class ThreadManager; 1455 friend class ThreadManager;
1448 friend class Simulator; 1456 friend class Simulator;
1449 friend class StackGuard; 1457 friend class StackGuard;
1450 friend class ThreadId; 1458 friend class ThreadId;
1451 friend class v8::Isolate; 1459 friend class v8::Isolate;
1452 friend class v8::Locker; 1460 friend class v8::Locker;
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
1671 1679
1672 EmbeddedVector<char, 128> filename_; 1680 EmbeddedVector<char, 128> filename_;
1673 FILE* file_; 1681 FILE* file_;
1674 int scope_depth_; 1682 int scope_depth_;
1675 }; 1683 };
1676 1684
1677 } // namespace internal 1685 } // namespace internal
1678 } // namespace v8 1686 } // namespace v8
1679 1687
1680 #endif // V8_ISOLATE_H_ 1688 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/assembler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698