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

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

Issue 2395123003: Make adding a pending deopt atomic. (Closed)
Patch Set: Created 4 years, 2 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
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 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
397 return shutdown_callback_; 397 return shutdown_callback_;
398 } 398 }
399 399
400 void set_object_id_ring(ObjectIdRing* ring) { 400 void set_object_id_ring(ObjectIdRing* ring) {
401 object_id_ring_ = ring; 401 object_id_ring_ = ring;
402 } 402 }
403 ObjectIdRing* object_id_ring() { 403 ObjectIdRing* object_id_ring() {
404 return object_id_ring_; 404 return object_id_ring_;
405 } 405 }
406 406
407 MallocGrowableArray<PendingLazyDeopt>* pending_deopts() { 407 void AddPendingDeopt(uword fp, uword pc);
408 uword FindPendingDeopt(uword fp) const;
409 void ClearPendingDeoptsAtOrBelow(uword fp) const;
siva 2016/10/10 04:10:26 This function is marked as const but it seems to m
410 MallocGrowableArray<PendingLazyDeopt>* pending_deopts() const {
408 return pending_deopts_; 411 return pending_deopts_;
409 } 412 }
410 bool IsDeoptimizing() const { return deopt_context_ != NULL; } 413 bool IsDeoptimizing() const { return deopt_context_ != NULL; }
411 DeoptContext* deopt_context() const { return deopt_context_; } 414 DeoptContext* deopt_context() const { return deopt_context_; }
412 void set_deopt_context(DeoptContext* value) { 415 void set_deopt_context(DeoptContext* value) {
413 ASSERT(value == NULL || deopt_context_ == NULL); 416 ASSERT(value == NULL || deopt_context_ == NULL);
414 deopt_context_ = value; 417 deopt_context_ = value;
415 } 418 }
416 419
417 BackgroundCompiler* background_compiler() const { 420 BackgroundCompiler* background_compiler() const {
(...skipping 590 matching lines...) Expand 10 before | Expand all | Expand 10 after
1008 intptr_t* spawn_count_; 1011 intptr_t* spawn_count_;
1009 1012
1010 Dart_IsolateFlags isolate_flags_; 1013 Dart_IsolateFlags isolate_flags_;
1011 bool paused_; 1014 bool paused_;
1012 bool errors_are_fatal_; 1015 bool errors_are_fatal_;
1013 }; 1016 };
1014 1017
1015 } // namespace dart 1018 } // namespace dart
1016 1019
1017 #endif // VM_ISOLATE_H_ 1020 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator.cc ('k') | runtime/vm/isolate.cc » ('j') | runtime/vm/isolate.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698