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