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 kRewind = kOsrEntry << 1, // Call rewind target address. | 1200 kOther = kOsrEntry << 1, |
1201 kOther = kRewind << 1, | |
1202 kLastKind = kOther, | 1201 kLastKind = kOther, |
1203 kAnyKind = -1 | 1202 kAnyKind = -1 |
1204 }; | 1203 }; |
1205 | 1204 |
1206 class MergedKindTry { | 1205 class MergedKindTry { |
1207 public: | 1206 public: |
1208 // Most of the time try_index will be small and merged field will fit into | 1207 // Most of the time try_index will be small and merged field will fit into |
1209 // one byte. | 1208 // one byte. |
1210 static intptr_t Encode(intptr_t kind, intptr_t try_index) { | 1209 static intptr_t Encode(intptr_t kind, intptr_t try_index) { |
1211 intptr_t kind_shift = Utils::ShiftForPowerOfTwo(kind); | 1210 intptr_t kind_shift = Utils::ShiftForPowerOfTwo(kind); |
(...skipping 1183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2395 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2394 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2396 kTypedDataInt8ArrayViewCid + 15); | 2395 kTypedDataInt8ArrayViewCid + 15); |
2397 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2396 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2398 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2397 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2399 return (kNullCid - kTypedDataInt8ArrayCid); | 2398 return (kNullCid - kTypedDataInt8ArrayCid); |
2400 } | 2399 } |
2401 | 2400 |
2402 } // namespace dart | 2401 } // namespace dart |
2403 | 2402 |
2404 #endif // RUNTIME_VM_RAW_OBJECT_H_ | 2403 #endif // RUNTIME_VM_RAW_OBJECT_H_ |
OLD | NEW |