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

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

Issue 10227006: (Redoing the change 6946) Progress toward inlined type checks for classes with type arguments: fact… (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 8 years, 8 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/code_generator_ia32.cc ('k') | runtime/vm/stub_code_ia32.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) 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_H_ 5 #ifndef VM_OBJECT_H_
6 #define VM_OBJECT_H_ 6 #define VM_OBJECT_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 "platform/utils.h" 10 #include "platform/utils.h"
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 524
525 // If this class is parameterized, each instance has a type_arguments field. 525 // If this class is parameterized, each instance has a type_arguments field.
526 static const intptr_t kNoTypeArguments = -1; 526 static const intptr_t kNoTypeArguments = -1;
527 intptr_t type_arguments_instance_field_offset() const { 527 intptr_t type_arguments_instance_field_offset() const {
528 ASSERT(is_finalized() || is_prefinalized()); 528 ASSERT(is_finalized() || is_prefinalized());
529 return raw_ptr()->type_arguments_instance_field_offset_; 529 return raw_ptr()->type_arguments_instance_field_offset_;
530 } 530 }
531 void set_type_arguments_instance_field_offset(intptr_t value) const { 531 void set_type_arguments_instance_field_offset(intptr_t value) const {
532 raw_ptr()->type_arguments_instance_field_offset_ = value; 532 raw_ptr()->type_arguments_instance_field_offset_ = value;
533 } 533 }
534 static intptr_t type_arguments_instance_field_offset_offset() {
regis 2012/04/25 21:11:36 Do you need this?
srdjan 2012/04/25 21:13:27 Forgot to mention: this is needed by the following
535 return OFFSET_OF(RawClass, type_arguments_instance_field_offset_);
536 }
534 537
535 // The super type of this class, Object type if not explicitly specified. 538 // The super type of this class, Object type if not explicitly specified.
536 RawType* super_type() const { return raw_ptr()->super_type_; } 539 RawType* super_type() const { return raw_ptr()->super_type_; }
537 void set_super_type(const Type& value) const; 540 void set_super_type(const Type& value) const;
538 static intptr_t super_type_offset() { 541 static intptr_t super_type_offset() {
539 return OFFSET_OF(RawClass, super_type_); 542 return OFFSET_OF(RawClass, super_type_);
540 } 543 }
541 544
542 // Asserts that the class of the super type has been resolved. 545 // Asserts that the class of the super type has been resolved.
543 RawClass* SuperClass() const; 546 RawClass* SuperClass() const;
(...skipping 3456 matching lines...) Expand 10 before | Expand all | Expand 10 after
4000 } 4003 }
4001 4004
4002 4005
4003 intptr_t Stackmap::SizeInBits() const { 4006 intptr_t Stackmap::SizeInBits() const {
4004 return (Smi::Value(raw_ptr()->bitmap_size_in_bytes_) * kBitsPerByte); 4007 return (Smi::Value(raw_ptr()->bitmap_size_in_bytes_) * kBitsPerByte);
4005 } 4008 }
4006 4009
4007 } // namespace dart 4010 } // namespace dart
4008 4011
4009 #endif // VM_OBJECT_H_ 4012 #endif // VM_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/code_generator_ia32.cc ('k') | runtime/vm/stub_code_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698