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

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

Issue 2279563002: AOT: Single target stub. (Closed)
Patch Set: add offset assertions Created 4 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
« no previous file with comments | « runtime/vm/object_service.cc ('k') | runtime/vm/raw_object.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_RAW_OBJECT_H_ 5 #ifndef VM_RAW_OBJECT_H_
6 #define VM_RAW_OBJECT_H_ 6 #define VM_RAW_OBJECT_H_
7 7
8 #include "platform/assert.h" 8 #include "platform/assert.h"
9 #include "vm/atomic.h" 9 #include "vm/atomic.h"
10 #include "vm/globals.h" 10 #include "vm/globals.h"
(...skipping 21 matching lines...) Expand all
32 V(Code) \ 32 V(Code) \
33 V(Instructions) \ 33 V(Instructions) \
34 V(ObjectPool) \ 34 V(ObjectPool) \
35 V(PcDescriptors) \ 35 V(PcDescriptors) \
36 V(CodeSourceMap) \ 36 V(CodeSourceMap) \
37 V(Stackmap) \ 37 V(Stackmap) \
38 V(LocalVarDescriptors) \ 38 V(LocalVarDescriptors) \
39 V(ExceptionHandlers) \ 39 V(ExceptionHandlers) \
40 V(Context) \ 40 V(Context) \
41 V(ContextScope) \ 41 V(ContextScope) \
42 V(SingleTargetCache) \
42 V(ICData) \ 43 V(ICData) \
43 V(MegamorphicCache) \ 44 V(MegamorphicCache) \
44 V(SubtypeTestCache) \ 45 V(SubtypeTestCache) \
45 V(Error) \ 46 V(Error) \
46 V(ApiError) \ 47 V(ApiError) \
47 V(LanguageError) \ 48 V(LanguageError) \
48 V(UnhandledException) \ 49 V(UnhandledException) \
49 V(UnwindError) \ 50 V(UnwindError) \
50 V(Instance) \ 51 V(Instance) \
51 V(LibraryPrefix) \ 52 V(LibraryPrefix) \
(...skipping 1421 matching lines...) Expand 10 before | Expand all | Expand 10 after
1473 // 'end' is the address just beyond the last descriptor, so step back. 1474 // 'end' is the address just beyond the last descriptor, so step back.
1474 return reinterpret_cast<RawObject**>(end - kWordSize); 1475 return reinterpret_cast<RawObject**>(end - kWordSize);
1475 } 1476 }
1476 1477
1477 friend class Object; 1478 friend class Object;
1478 friend class RawClosureData; 1479 friend class RawClosureData;
1479 friend class SnapshotReader; 1480 friend class SnapshotReader;
1480 }; 1481 };
1481 1482
1482 1483
1484 class RawSingleTargetCache : public RawObject {
1485 RAW_HEAP_OBJECT_IMPLEMENTATION(SingleTargetCache);
1486 RawObject** from() {
1487 return reinterpret_cast<RawObject**>(&ptr()->target_);
1488 }
1489 RawCode* target_;
1490 RawObject** to() {
1491 return reinterpret_cast<RawObject**>(&ptr()->target_);
1492 }
1493 uword entry_point_;
1494 classid_t lower_limit_;
1495 classid_t upper_limit_;
1496 };
1497
1498
1483 class RawICData : public RawObject { 1499 class RawICData : public RawObject {
1484 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData); 1500 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData);
1485 1501
1486 RawObject** from() { 1502 RawObject** from() {
1487 return reinterpret_cast<RawObject**>(&ptr()->ic_data_); 1503 return reinterpret_cast<RawObject**>(&ptr()->ic_data_);
1488 } 1504 }
1489 RawArray* ic_data_; // Contains class-ids, target and count. 1505 RawArray* ic_data_; // Contains class-ids, target and count.
1490 RawString* target_name_; // Name of target function. 1506 RawString* target_name_; // Name of target function.
1491 RawArray* args_descriptor_; // Arguments descriptor. 1507 RawArray* args_descriptor_; // Arguments descriptor.
1492 RawObject* owner_; // Parent/calling function or original IC of cloned IC. 1508 RawObject* owner_; // Parent/calling function or original IC of cloned IC.
(...skipping 945 matching lines...) Expand 10 before | Expand all | Expand 10 after
2438 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == 2454 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid ==
2439 kTypedDataInt8ArrayViewCid + 15); 2455 kTypedDataInt8ArrayViewCid + 15);
2440 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); 2456 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14);
2441 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); 2457 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1);
2442 return (kNullCid - kTypedDataInt8ArrayCid); 2458 return (kNullCid - kTypedDataInt8ArrayCid);
2443 } 2459 }
2444 2460
2445 } // namespace dart 2461 } // namespace dart
2446 2462
2447 #endif // VM_RAW_OBJECT_H_ 2463 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/object_service.cc ('k') | runtime/vm/raw_object.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698