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

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

Issue 1769183003: Fix sticky error propagation from thread to isolate (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: g Created 4 years, 9 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/dart_api_impl.cc ('k') | runtime/vm/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 (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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_ISOLATE_H_ 5 #ifndef VM_ISOLATE_H_
6 #define VM_ISOLATE_H_ 6 #define VM_ISOLATE_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 563 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 void set_metrics_list_head(Metric* metric) { 574 void set_metrics_list_head(Metric* metric) {
575 metrics_list_head_ = metric; 575 metrics_list_head_ = metric;
576 } 576 }
577 577
578 RawGrowableObjectArray* deoptimized_code_array() const { 578 RawGrowableObjectArray* deoptimized_code_array() const {
579 return deoptimized_code_array_; 579 return deoptimized_code_array_;
580 } 580 }
581 void set_deoptimized_code_array(const GrowableObjectArray& value); 581 void set_deoptimized_code_array(const GrowableObjectArray& value);
582 void TrackDeoptimizedCode(const Code& code); 582 void TrackDeoptimizedCode(const Code& code);
583 583
584 RawError* sticky_error() const { return sticky_error_; }
585 void clear_sticky_error();
586
584 bool compilation_allowed() const { return compilation_allowed_; } 587 bool compilation_allowed() const { return compilation_allowed_; }
585 void set_compilation_allowed(bool allowed) { 588 void set_compilation_allowed(bool allowed) {
586 compilation_allowed_ = allowed; 589 compilation_allowed_ = allowed;
587 } 590 }
588 591
589 // In precompilation we finalize all regular classes before compiling. 592 // In precompilation we finalize all regular classes before compiling.
590 bool all_classes_finalized() const { return all_classes_finalized_; } 593 bool all_classes_finalized() const { return all_classes_finalized_; }
591 void set_all_classes_finalized(bool value) { 594 void set_all_classes_finalized(bool value) {
592 all_classes_finalized_ = value; 595 all_classes_finalized_ = value;
593 } 596 }
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
801 int64_t last_allocationprofile_gc_timestamp_; 804 int64_t last_allocationprofile_gc_timestamp_;
802 805
803 // Ring buffer of objects assigned an id. 806 // Ring buffer of objects assigned an id.
804 ObjectIdRing* object_id_ring_; 807 ObjectIdRing* object_id_ring_;
805 808
806 VMTagCounters vm_tag_counters_; 809 VMTagCounters vm_tag_counters_;
807 RawGrowableObjectArray* tag_table_; 810 RawGrowableObjectArray* tag_table_;
808 811
809 RawGrowableObjectArray* deoptimized_code_array_; 812 RawGrowableObjectArray* deoptimized_code_array_;
810 813
814 RawError* sticky_error_;
815
811 // Background compilation. 816 // Background compilation.
812 BackgroundCompiler* background_compiler_; 817 BackgroundCompiler* background_compiler_;
813 818
814 // We use 6 list entries for each pending service extension calls. 819 // We use 6 list entries for each pending service extension calls.
815 enum { 820 enum {
816 kPendingHandlerIndex = 0, 821 kPendingHandlerIndex = 0,
817 kPendingMethodNameIndex, 822 kPendingMethodNameIndex,
818 kPendingKeysIndex, 823 kPendingKeysIndex,
819 kPendingValuesIndex, 824 kPendingValuesIndex,
820 kPendingReplyPortIndex, 825 kPendingReplyPortIndex,
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after
1030 intptr_t* spawn_count_; 1035 intptr_t* spawn_count_;
1031 1036
1032 Dart_IsolateFlags isolate_flags_; 1037 Dart_IsolateFlags isolate_flags_;
1033 bool paused_; 1038 bool paused_;
1034 bool errors_are_fatal_; 1039 bool errors_are_fatal_;
1035 }; 1040 };
1036 1041
1037 } // namespace dart 1042 } // namespace dart
1038 1043
1039 #endif // VM_ISOLATE_H_ 1044 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/dart_api_impl.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698