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

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

Issue 1672853002: Move sticky_error_ from isolate to thread (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: r Created 4 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
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, 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_OBJECT_STORE_H_ 5 #ifndef VM_OBJECT_STORE_H_
6 #define VM_OBJECT_STORE_H_ 6 #define VM_OBJECT_STORE_H_
7 7
8 #include "vm/object.h" 8 #include "vm/object.h"
9 9
10 namespace dart { 10 namespace dart {
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
358 } 358 }
359 359
360 RawGrowableObjectArray* exit_listeners() const { 360 RawGrowableObjectArray* exit_listeners() const {
361 return exit_listeners_; 361 return exit_listeners_;
362 } 362 }
363 363
364 RawGrowableObjectArray* error_listeners() const { 364 RawGrowableObjectArray* error_listeners() const {
365 return error_listeners_; 365 return error_listeners_;
366 } 366 }
367 367
368 RawError* sticky_error() const { return sticky_error_; }
369 void set_sticky_error(const Error& value) {
370 // TODO(asiva): Move sticky_error_ into thread specific area.
371 ASSERT(Thread::Current()->IsMutatorThread());
372 ASSERT(!value.IsNull());
373 sticky_error_ = value.raw();
374 }
375 void clear_sticky_error() { sticky_error_ = Error::null(); }
376
377 RawContext* empty_context() const { return empty_context_; } 368 RawContext* empty_context() const { return empty_context_; }
378 void set_empty_context(const Context& value) { 369 void set_empty_context(const Context& value) {
379 empty_context_ = value.raw(); 370 empty_context_ = value.raw();
380 } 371 }
381 372
382 RawInstance* stack_overflow() const { return stack_overflow_; } 373 RawInstance* stack_overflow() const { return stack_overflow_; }
383 void set_stack_overflow(const Instance& value) { 374 void set_stack_overflow(const Instance& value) {
384 stack_overflow_ = value.raw(); 375 stack_overflow_ = value.raw();
385 } 376 }
386 377
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 // Hold onto the code so it is traced and not detached from the function. 472 // Hold onto the code so it is traced and not detached from the function.
482 megamorphic_miss_code_ = code.raw(); 473 megamorphic_miss_code_ = code.raw();
483 megamorphic_miss_function_ = func.raw(); 474 megamorphic_miss_function_ = func.raw();
484 } 475 }
485 476
486 // Visit all object pointers. 477 // Visit all object pointers.
487 void VisitObjectPointers(ObjectPointerVisitor* visitor); 478 void VisitObjectPointers(ObjectPointerVisitor* visitor);
488 479
489 // Called to initialize objects required by the vm but which invoke 480 // Called to initialize objects required by the vm but which invoke
490 // dart code. If an error occurs then false is returned and error 481 // dart code. If an error occurs then false is returned and error
491 // information is stored in sticky_error(). 482 // information is stored in Thread::sticky_error().
492 bool PreallocateObjects(); 483 bool PreallocateObjects();
493 484
494 void InitKnownObjects(); 485 void InitKnownObjects();
495 486
496 static void Init(Isolate* isolate); 487 static void Init(Isolate* isolate);
497 488
498 private: 489 private:
499 ObjectStore(); 490 ObjectStore();
500 491
501 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); } 492 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); }
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
556 RawLibrary* root_library_; 547 RawLibrary* root_library_;
557 RawLibrary* typed_data_library_; 548 RawLibrary* typed_data_library_;
558 RawLibrary* vmservice_library_; 549 RawLibrary* vmservice_library_;
559 RawGrowableObjectArray* libraries_; 550 RawGrowableObjectArray* libraries_;
560 RawGrowableObjectArray* closure_functions_; 551 RawGrowableObjectArray* closure_functions_;
561 RawGrowableObjectArray* pending_classes_; 552 RawGrowableObjectArray* pending_classes_;
562 RawGrowableObjectArray* pending_deferred_loads_; 553 RawGrowableObjectArray* pending_deferred_loads_;
563 RawGrowableObjectArray* resume_capabilities_; 554 RawGrowableObjectArray* resume_capabilities_;
564 RawGrowableObjectArray* exit_listeners_; 555 RawGrowableObjectArray* exit_listeners_;
565 RawGrowableObjectArray* error_listeners_; 556 RawGrowableObjectArray* error_listeners_;
566 RawError* sticky_error_;
567 RawContext* empty_context_; 557 RawContext* empty_context_;
568 RawInstance* stack_overflow_; 558 RawInstance* stack_overflow_;
569 RawInstance* out_of_memory_; 559 RawInstance* out_of_memory_;
570 RawUnhandledException* preallocated_unhandled_exception_; 560 RawUnhandledException* preallocated_unhandled_exception_;
571 RawStacktrace* preallocated_stack_trace_; 561 RawStacktrace* preallocated_stack_trace_;
572 RawFunction* lookup_port_handler_; 562 RawFunction* lookup_port_handler_;
573 RawTypedData* empty_uint32_array_; 563 RawTypedData* empty_uint32_array_;
574 RawFunction* handle_message_function_; 564 RawFunction* handle_message_function_;
575 RawArray* library_load_error_table_; 565 RawArray* library_load_error_table_;
576 RawArray* compile_time_constants_; 566 RawArray* compile_time_constants_;
(...skipping 13 matching lines...) Expand all
590 friend class FullSnapshotWriter; 580 friend class FullSnapshotWriter;
591 friend class SnapshotReader; 581 friend class SnapshotReader;
592 friend class VmIsolateSnapshotReader; 582 friend class VmIsolateSnapshotReader;
593 583
594 DISALLOW_COPY_AND_ASSIGN(ObjectStore); 584 DISALLOW_COPY_AND_ASSIGN(ObjectStore);
595 }; 585 };
596 586
597 } // namespace dart 587 } // namespace dart
598 588
599 #endif // VM_OBJECT_STORE_H_ 589 #endif // VM_OBJECT_STORE_H_
OLDNEW
« no previous file with comments | « runtime/vm/object.cc ('k') | runtime/vm/object_store.cc » ('j') | runtime/vm/thread.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698