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

Side by Side Diff: runtime/vm/thread.h

Issue 2314133003: AOT: Use a cid range check when possible to implement type tests. (Closed)
Patch Set: symbols 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 | « runtime/vm/symbols.h ('k') | runtime/vm/thread.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 (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_THREAD_H_ 5 #ifndef VM_THREAD_H_
6 #define VM_THREAD_H_ 6 #define VM_THREAD_H_
7 7
8 #include "include/dart_api.h" 8 #include "include/dart_api.h"
9 #include "platform/assert.h" 9 #include "platform/assert.h"
10 #include "vm/atomic.h" 10 #include "vm/atomic.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 class RawError; 44 class RawError;
45 class RawGrowableObjectArray; 45 class RawGrowableObjectArray;
46 class RawString; 46 class RawString;
47 class RuntimeEntry; 47 class RuntimeEntry;
48 class Smi; 48 class Smi;
49 class StackResource; 49 class StackResource;
50 class String; 50 class String;
51 class TimelineStream; 51 class TimelineStream;
52 class TypeArguments; 52 class TypeArguments;
53 class TypeParameter; 53 class TypeParameter;
54 class TypeRangeCache;
54 class Zone; 55 class Zone;
55 56
56 #define REUSABLE_HANDLE_LIST(V) \ 57 #define REUSABLE_HANDLE_LIST(V) \
57 V(AbstractType) \ 58 V(AbstractType) \
58 V(Array) \ 59 V(Array) \
59 V(Class) \ 60 V(Class) \
60 V(Code) \ 61 V(Code) \
61 V(Error) \ 62 V(Error) \
62 V(ExceptionHandlers) \ 63 V(ExceptionHandlers) \
63 V(Field) \ 64 V(Field) \
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 CHA* cha() const { 294 CHA* cha() const {
294 ASSERT(isolate_ != NULL); 295 ASSERT(isolate_ != NULL);
295 return cha_; 296 return cha_;
296 } 297 }
297 298
298 void set_cha(CHA* value) { 299 void set_cha(CHA* value) {
299 ASSERT(isolate_ != NULL); 300 ASSERT(isolate_ != NULL);
300 cha_ = value; 301 cha_ = value;
301 } 302 }
302 303
304 TypeRangeCache* type_range_cache() const { return type_range_cache_; }
305 void set_type_range_cache(TypeRangeCache* value) {
306 type_range_cache_ = value;
307 }
308
303 int32_t no_callback_scope_depth() const { 309 int32_t no_callback_scope_depth() const {
304 return no_callback_scope_depth_; 310 return no_callback_scope_depth_;
305 } 311 }
306 312
307 void IncrementNoCallbackScopeDepth() { 313 void IncrementNoCallbackScopeDepth() {
308 ASSERT(no_callback_scope_depth_ < INT_MAX); 314 ASSERT(no_callback_scope_depth_ < INT_MAX);
309 no_callback_scope_depth_ += 1; 315 no_callback_scope_depth_ += 1;
310 } 316 }
311 317
312 void DecrementNoCallbackScopeDepth() { 318 void DecrementNoCallbackScopeDepth() {
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 #endif 691 #endif
686 VMHandles reusable_handles_; 692 VMHandles reusable_handles_;
687 uword saved_stack_limit_; 693 uword saved_stack_limit_;
688 intptr_t defer_oob_messages_count_; 694 intptr_t defer_oob_messages_count_;
689 uint16_t deferred_interrupts_mask_; 695 uint16_t deferred_interrupts_mask_;
690 uint16_t deferred_interrupts_; 696 uint16_t deferred_interrupts_;
691 int32_t stack_overflow_count_; 697 int32_t stack_overflow_count_;
692 698
693 // Compiler state: 699 // Compiler state:
694 CHA* cha_; 700 CHA* cha_;
701 TypeRangeCache* type_range_cache_;
695 intptr_t deopt_id_; // Compilation specific counter. 702 intptr_t deopt_id_; // Compilation specific counter.
696 RawGrowableObjectArray* pending_functions_; 703 RawGrowableObjectArray* pending_functions_;
697 704
698 RawError* sticky_error_; 705 RawError* sticky_error_;
699 706
700 CompilerStats* compiler_stats_; 707 CompilerStats* compiler_stats_;
701 708
702 // Reusable handles support. 709 // Reusable handles support.
703 #define REUSABLE_HANDLE_FIELDS(object) \ 710 #define REUSABLE_HANDLE_FIELDS(object) \
704 object* object##_handle_; 711 object* object##_handle_;
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
771 // Disable thread interrupts. 778 // Disable thread interrupts.
772 class DisableThreadInterruptsScope : public StackResource { 779 class DisableThreadInterruptsScope : public StackResource {
773 public: 780 public:
774 explicit DisableThreadInterruptsScope(Thread* thread); 781 explicit DisableThreadInterruptsScope(Thread* thread);
775 ~DisableThreadInterruptsScope(); 782 ~DisableThreadInterruptsScope();
776 }; 783 };
777 784
778 } // namespace dart 785 } // namespace dart
779 786
780 #endif // VM_THREAD_H_ 787 #endif // VM_THREAD_H_
OLDNEW
« no previous file with comments | « runtime/vm/symbols.h ('k') | runtime/vm/thread.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698