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

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

Issue 2684683002: Explain requirements on fields accessed from generated code. (Closed)
Patch Set: Created 3 years, 10 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 | « no previous file | runtime/vm/scavenger.h » ('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 RUNTIME_VM_ISOLATE_H_ 5 #ifndef RUNTIME_VM_ISOLATE_H_
6 #define RUNTIME_VM_ISOLATE_H_ 6 #define RUNTIME_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 678 matching lines...) Expand 10 before | Expand all | Expand 10 after
689 bool is_mutator, 689 bool is_mutator,
690 bool bypass_safepoint = false); 690 bool bypass_safepoint = false);
691 691
692 // DEPRECATED: Use Thread's methods instead. During migration, these default 692 // DEPRECATED: Use Thread's methods instead. During migration, these default
693 // to using the mutator thread (which must also be the current thread). 693 // to using the mutator thread (which must also be the current thread).
694 Zone* current_zone() const { 694 Zone* current_zone() const {
695 ASSERT(Thread::Current() == mutator_thread()); 695 ASSERT(Thread::Current() == mutator_thread());
696 return mutator_thread()->zone(); 696 return mutator_thread()->zone();
697 } 697 }
698 698
699 // Accessed from generated code: 699 // Accessed from generated code.
700 // ** This block of fields must come first! **
701 // For AOT cross-compilation, we rely on these members having the same offsets
702 // in SIMARM(IA32) and ARM, and the same offsets in SIMARM64(X64) and ARM64.
703 // We use only word-sized fields to avoid differences in struct packing on the
704 // different architectures. See also CheckOffsets in dart.cc.
700 StoreBuffer* store_buffer_; 705 StoreBuffer* store_buffer_;
701 Heap* heap_; 706 Heap* heap_;
702 uword user_tag_; 707 uword user_tag_;
703 RawUserTag* current_tag_; 708 RawUserTag* current_tag_;
704 RawUserTag* default_tag_; 709 RawUserTag* default_tag_;
705 RawCode* ic_miss_code_; 710 RawCode* ic_miss_code_;
706 ObjectStore* object_store_; 711 ObjectStore* object_store_;
707 ClassTable class_table_; 712 ClassTable class_table_;
708 bool single_step_; 713 bool single_step_;
709 714
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 intptr_t* spawn_count_; 992 intptr_t* spawn_count_;
988 993
989 Dart_IsolateFlags isolate_flags_; 994 Dart_IsolateFlags isolate_flags_;
990 bool paused_; 995 bool paused_;
991 bool errors_are_fatal_; 996 bool errors_are_fatal_;
992 }; 997 };
993 998
994 } // namespace dart 999 } // namespace dart
995 1000
996 #endif // RUNTIME_VM_ISOLATE_H_ 1001 #endif // RUNTIME_VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/scavenger.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698