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

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

Issue 583583007: 1. Add user tag to the pointers traversed in the object store (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/intrinsifier_x64.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/base_isolate.h" 10 #include "vm/base_isolate.h"
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
557 557
558 uword user_tag() const { 558 uword user_tag() const {
559 return user_tag_; 559 return user_tag_;
560 } 560 }
561 static intptr_t user_tag_offset() { 561 static intptr_t user_tag_offset() {
562 return OFFSET_OF(Isolate, user_tag_); 562 return OFFSET_OF(Isolate, user_tag_);
563 } 563 }
564 static intptr_t current_tag_offset() { 564 static intptr_t current_tag_offset() {
565 return OFFSET_OF(Isolate, current_tag_); 565 return OFFSET_OF(Isolate, current_tag_);
566 } 566 }
567 static intptr_t default_tag_offset() {
568 return OFFSET_OF(Isolate, default_tag_);
569 }
567 570
568 #define ISOLATE_METRIC_ACCESSOR(type, variable, name, unit) \ 571 #define ISOLATE_METRIC_ACCESSOR(type, variable, name, unit) \
569 type* Get##variable##Metric() { return &metric_##variable##_; } 572 type* Get##variable##Metric() { return &metric_##variable##_; }
570 ISOLATE_METRIC_LIST(ISOLATE_METRIC_ACCESSOR); 573 ISOLATE_METRIC_LIST(ISOLATE_METRIC_ACCESSOR);
571 #undef ISOLATE_METRIC_ACCESSOR 574 #undef ISOLATE_METRIC_ACCESSOR
572 575
573 static intptr_t IsolateListLength(); 576 static intptr_t IsolateListLength();
574 577
575 RawGrowableObjectArray* tag_table() const { return tag_table_; } 578 RawGrowableObjectArray* tag_table() const { return tag_table_; }
576 void set_tag_table(const GrowableObjectArray& value); 579 void set_tag_table(const GrowableObjectArray& value);
577 580
578 RawUserTag* current_tag() const { return current_tag_; } 581 RawUserTag* current_tag() const { return current_tag_; }
579 void set_current_tag(const UserTag& tag); 582 void set_current_tag(const UserTag& tag);
580 583
584 RawUserTag* default_tag() const { return default_tag_; }
585 void set_default_tag(const UserTag& tag);
586
581 Metric* metrics_list_head() { 587 Metric* metrics_list_head() {
582 return metrics_list_head_; 588 return metrics_list_head_;
583 } 589 }
584 590
585 void set_metrics_list_head(Metric* metric) { 591 void set_metrics_list_head(Metric* metric) {
586 metrics_list_head_ = metric; 592 metrics_list_head_ = metric;
587 } 593 }
588 594
589 #if defined(DEBUG) 595 #if defined(DEBUG)
590 #define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \ 596 #define REUSABLE_HANDLE_SCOPE_ACCESSORS(object) \
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
684 TraceBuffer* trace_buffer_; 690 TraceBuffer* trace_buffer_;
685 691
686 IsolateProfilerData* profiler_data_; 692 IsolateProfilerData* profiler_data_;
687 Mutex profiler_data_mutex_; 693 Mutex profiler_data_mutex_;
688 InterruptableThreadState* thread_state_; 694 InterruptableThreadState* thread_state_;
689 695
690 VMTagCounters vm_tag_counters_; 696 VMTagCounters vm_tag_counters_;
691 uword user_tag_; 697 uword user_tag_;
692 RawGrowableObjectArray* tag_table_; 698 RawGrowableObjectArray* tag_table_;
693 RawUserTag* current_tag_; 699 RawUserTag* current_tag_;
700 RawUserTag* default_tag_;
694 701
695 Metric* metrics_list_head_; 702 Metric* metrics_list_head_;
696 703
697 Counters counters_; 704 Counters counters_;
698 705
699 // Isolate list next pointer. 706 // Isolate list next pointer.
700 Isolate* next_; 707 Isolate* next_;
701 708
702 // Reusable handles support. 709 // Reusable handles support.
703 #define REUSABLE_HANDLE_FIELDS(object) \ 710 #define REUSABLE_HANDLE_FIELDS(object) \
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
849 char* exception_callback_name_; 856 char* exception_callback_name_;
850 uint8_t* serialized_args_; 857 uint8_t* serialized_args_;
851 intptr_t serialized_args_len_; 858 intptr_t serialized_args_len_;
852 uint8_t* serialized_message_; 859 uint8_t* serialized_message_;
853 intptr_t serialized_message_len_; 860 intptr_t serialized_message_len_;
854 }; 861 };
855 862
856 } // namespace dart 863 } // namespace dart
857 864
858 #endif // VM_ISOLATE_H_ 865 #endif // VM_ISOLATE_H_
OLDNEW
« no previous file with comments | « runtime/vm/intrinsifier_x64.cc ('k') | runtime/vm/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698