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

Side by Side Diff: src/isolate.h

Issue 290633010: Move microtask queueing logic from JavaScript to C++ (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Handle comments Created 6 years, 7 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 | Annotate | Revision Log
« no previous file with comments | « src/heap.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 "../include/v8-debug.h" 8 #include "../include/v8-debug.h"
9 #include "allocation.h" 9 #include "allocation.h"
10 #include "assert-scope.h" 10 #include "assert-scope.h"
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 V(FunctionInfoListener*, active_function_info_listener, NULL) \ 342 V(FunctionInfoListener*, active_function_info_listener, NULL) \
343 /* State for Relocatable. */ \ 343 /* State for Relocatable. */ \
344 V(Relocatable*, relocatable_top, NULL) \ 344 V(Relocatable*, relocatable_top, NULL) \
345 V(DebugObjectCache*, string_stream_debug_object_cache, NULL) \ 345 V(DebugObjectCache*, string_stream_debug_object_cache, NULL) \
346 V(Object*, string_stream_current_security_token, NULL) \ 346 V(Object*, string_stream_current_security_token, NULL) \
347 /* Serializer state. */ \ 347 /* Serializer state. */ \
348 V(ExternalReferenceTable*, external_reference_table, NULL) \ 348 V(ExternalReferenceTable*, external_reference_table, NULL) \
349 /* AstNode state. */ \ 349 /* AstNode state. */ \
350 V(int, ast_node_id, 0) \ 350 V(int, ast_node_id, 0) \
351 V(unsigned, ast_node_count, 0) \ 351 V(unsigned, ast_node_count, 0) \
352 V(bool, microtask_pending, false) \ 352 V(int, pending_microtask_count, 0) \
353 V(bool, autorun_microtasks, true) \ 353 V(bool, autorun_microtasks, true) \
354 V(HStatistics*, hstatistics, NULL) \ 354 V(HStatistics*, hstatistics, NULL) \
355 V(HTracer*, htracer, NULL) \ 355 V(HTracer*, htracer, NULL) \
356 V(CodeTracer*, code_tracer, NULL) \ 356 V(CodeTracer*, code_tracer, NULL) \
357 V(bool, fp_stubs_generated, false) \ 357 V(bool, fp_stubs_generated, false) \
358 V(int, max_available_threads, 0) \ 358 V(int, max_available_threads, 0) \
359 V(uint32_t, per_isolate_assert_data, 0xFFFFFFFFu) \ 359 V(uint32_t, per_isolate_assert_data, 0xFFFFFFFFu) \
360 V(InterruptCallback, api_interrupt_callback, NULL) \ 360 V(InterruptCallback, api_interrupt_callback, NULL) \
361 V(void*, api_interrupt_callback_data, NULL) \ 361 V(void*, api_interrupt_callback_data, NULL) \
362 ISOLATE_INIT_SIMULATOR_LIST(V) 362 ISOLATE_INIT_SIMULATOR_LIST(V)
(...skipping 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
1060 return id; 1060 return id;
1061 } 1061 }
1062 1062
1063 // Get (and lazily initialize) the registry for per-isolate symbols. 1063 // Get (and lazily initialize) the registry for per-isolate symbols.
1064 Handle<JSObject> GetSymbolRegistry(); 1064 Handle<JSObject> GetSymbolRegistry();
1065 1065
1066 void AddCallCompletedCallback(CallCompletedCallback callback); 1066 void AddCallCompletedCallback(CallCompletedCallback callback);
1067 void RemoveCallCompletedCallback(CallCompletedCallback callback); 1067 void RemoveCallCompletedCallback(CallCompletedCallback callback);
1068 void FireCallCompletedCallback(); 1068 void FireCallCompletedCallback();
1069 1069
1070 void EnqueueMicrotask(Handle<JSFunction> microtask);
1070 void RunMicrotasks(); 1071 void RunMicrotasks();
1071 1072
1072 private: 1073 private:
1073 Isolate(); 1074 Isolate();
1074 1075
1075 friend struct GlobalState; 1076 friend struct GlobalState;
1076 friend struct InitializeGlobalState; 1077 friend struct InitializeGlobalState;
1077 1078
1078 enum State { 1079 enum State {
1079 UNINITIALIZED, // Some components may not have been allocated. 1080 UNINITIALIZED, // Some components may not have been allocated.
(...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after
1479 } 1480 }
1480 1481
1481 EmbeddedVector<char, 128> filename_; 1482 EmbeddedVector<char, 128> filename_;
1482 FILE* file_; 1483 FILE* file_;
1483 int scope_depth_; 1484 int scope_depth_;
1484 }; 1485 };
1485 1486
1486 } } // namespace v8::internal 1487 } } // namespace v8::internal
1487 1488
1488 #endif // V8_ISOLATE_H_ 1489 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698