OLD | NEW |
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 RUNTIME_VM_RAW_OBJECT_H_ | 5 #ifndef RUNTIME_VM_RAW_OBJECT_H_ |
6 #define RUNTIME_VM_RAW_OBJECT_H_ | 6 #define RUNTIME_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 1184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1195 | 1195 |
1196 | 1196 |
1197 class RawPcDescriptors : public RawObject { | 1197 class RawPcDescriptors : public RawObject { |
1198 public: | 1198 public: |
1199 enum Kind { | 1199 enum Kind { |
1200 kDeopt = 1, // Deoptimization continuation point. | 1200 kDeopt = 1, // Deoptimization continuation point. |
1201 kIcCall = kDeopt << 1, // IC call. | 1201 kIcCall = kDeopt << 1, // IC call. |
1202 kUnoptStaticCall = kIcCall << 1, // Call to a known target via stub. | 1202 kUnoptStaticCall = kIcCall << 1, // Call to a known target via stub. |
1203 kRuntimeCall = kUnoptStaticCall << 1, // Runtime call. | 1203 kRuntimeCall = kUnoptStaticCall << 1, // Runtime call. |
1204 kOsrEntry = kRuntimeCall << 1, // OSR entry point in unopt. code. | 1204 kOsrEntry = kRuntimeCall << 1, // OSR entry point in unopt. code. |
1205 kOther = kOsrEntry << 1, | 1205 kRewind = kOsrEntry << 1, // Call rewind target address. |
| 1206 kOther = kRewind << 1, |
1206 kLastKind = kOther, | 1207 kLastKind = kOther, |
1207 kAnyKind = -1 | 1208 kAnyKind = -1 |
1208 }; | 1209 }; |
1209 | 1210 |
1210 class MergedKindTry { | 1211 class MergedKindTry { |
1211 public: | 1212 public: |
1212 // Most of the time try_index will be small and merged field will fit into | 1213 // Most of the time try_index will be small and merged field will fit into |
1213 // one byte. | 1214 // one byte. |
1214 static intptr_t Encode(intptr_t kind, intptr_t try_index) { | 1215 static intptr_t Encode(intptr_t kind, intptr_t try_index) { |
1215 intptr_t kind_shift = Utils::ShiftForPowerOfTwo(kind); | 1216 intptr_t kind_shift = Utils::ShiftForPowerOfTwo(kind); |
(...skipping 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2399 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2400 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2400 kTypedDataInt8ArrayViewCid + 15); | 2401 kTypedDataInt8ArrayViewCid + 15); |
2401 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2402 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2402 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2403 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2403 return (kNullCid - kTypedDataInt8ArrayCid); | 2404 return (kNullCid - kTypedDataInt8ArrayCid); |
2404 } | 2405 } |
2405 | 2406 |
2406 } // namespace dart | 2407 } // namespace dart |
2407 | 2408 |
2408 #endif // RUNTIME_VM_RAW_OBJECT_H_ | 2409 #endif // RUNTIME_VM_RAW_OBJECT_H_ |
OLD | NEW |