| 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 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 1372 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1383 | 1383 |
| 1384 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } | 1384 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } |
| 1385 void set_is_native(bool value) const; | 1385 void set_is_native(bool value) const; |
| 1386 | 1386 |
| 1387 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } | 1387 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } |
| 1388 void set_is_abstract(bool value) const; | 1388 void set_is_abstract(bool value) const; |
| 1389 | 1389 |
| 1390 bool IsInlineable() const; | 1390 bool IsInlineable() const; |
| 1391 void set_is_inlinable(bool value) const; | 1391 void set_is_inlinable(bool value) const; |
| 1392 | 1392 |
| 1393 bool is_visible() const { |
| 1394 return VisibleBit::decode(raw_ptr()->kind_tag_); |
| 1395 } |
| 1396 void set_is_visible(bool value) const; |
| 1397 |
| 1393 enum IntrinsicKind { | 1398 enum IntrinsicKind { |
| 1394 kUnknownIntrinsic = 0, // Initial value. | 1399 kUnknownIntrinsic = 0, // Initial value. |
| 1395 kIsIntrinsic, | 1400 kIsIntrinsic, |
| 1396 kIsNotIntrinsic, | 1401 kIsNotIntrinsic, |
| 1397 }; | 1402 }; |
| 1398 | 1403 |
| 1399 IntrinsicKind intrinsic_kind() const { | 1404 IntrinsicKind intrinsic_kind() const { |
| 1400 return IntrinsicKindBits::decode(raw_ptr()->kind_tag_); | 1405 return IntrinsicKindBits::decode(raw_ptr()->kind_tag_); |
| 1401 } | 1406 } |
| 1402 void set_intrinsic_kind(IntrinsicKind value) const; | 1407 void set_intrinsic_kind(IntrinsicKind value) const; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1538 private: | 1543 private: |
| 1539 enum KindTagBits { | 1544 enum KindTagBits { |
| 1540 kStaticBit = 0, | 1545 kStaticBit = 0, |
| 1541 kConstBit = 1, | 1546 kConstBit = 1, |
| 1542 kOptimizableBit = 2, | 1547 kOptimizableBit = 2, |
| 1543 kInlinableBit = 3, | 1548 kInlinableBit = 3, |
| 1544 kHasFinallyBit = 4, | 1549 kHasFinallyBit = 4, |
| 1545 kNativeBit = 5, | 1550 kNativeBit = 5, |
| 1546 kAbstractBit = 6, | 1551 kAbstractBit = 6, |
| 1547 kExternalBit = 7, | 1552 kExternalBit = 7, |
| 1548 kIntrinsicTagBit = 8, | 1553 kVisibleBit = 8, |
| 1554 kIntrinsicTagBit = 9, |
| 1549 kIntrinsicTagSize = 2, | 1555 kIntrinsicTagSize = 2, |
| 1550 kKindTagBit = 10, | 1556 kKindTagBit = 11, |
| 1551 kKindTagSize = 4, | 1557 kKindTagSize = 4, |
| 1552 }; | 1558 }; |
| 1553 class StaticBit : public BitField<bool, kStaticBit, 1> {}; | 1559 class StaticBit : public BitField<bool, kStaticBit, 1> {}; |
| 1554 class ConstBit : public BitField<bool, kConstBit, 1> {}; | 1560 class ConstBit : public BitField<bool, kConstBit, 1> {}; |
| 1555 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; | 1561 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; |
| 1556 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; | 1562 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; |
| 1557 class HasFinallyBit : public BitField<bool, kHasFinallyBit, 1> {}; | 1563 class HasFinallyBit : public BitField<bool, kHasFinallyBit, 1> {}; |
| 1558 class NativeBit : public BitField<bool, kNativeBit, 1> {}; | 1564 class NativeBit : public BitField<bool, kNativeBit, 1> {}; |
| 1559 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; | 1565 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; |
| 1560 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; | 1566 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; |
| 1567 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; |
| 1561 class IntrinsicKindBits : | 1568 class IntrinsicKindBits : |
| 1562 public BitField<Function::IntrinsicKind, | 1569 public BitField<Function::IntrinsicKind, |
| 1563 kIntrinsicTagBit, kIntrinsicTagSize> {}; // NOLINT | 1570 kIntrinsicTagBit, kIntrinsicTagSize> {}; // NOLINT |
| 1564 class KindBits : | 1571 class KindBits : |
| 1565 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT | 1572 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT |
| 1566 | 1573 |
| 1567 void set_name(const String& value) const; | 1574 void set_name(const String& value) const; |
| 1568 void set_kind(RawFunction::Kind value) const; | 1575 void set_kind(RawFunction::Kind value) const; |
| 1569 void set_is_static(bool value) const; | 1576 void set_is_static(bool value) const; |
| 1570 void set_is_const(bool value) const; | 1577 void set_is_const(bool value) const; |
| (...skipping 4704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6275 | 6282 |
| 6276 | 6283 |
| 6277 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, | 6284 RawObject* MegamorphicCache::GetTargetFunction(const Array& array, |
| 6278 intptr_t index) { | 6285 intptr_t index) { |
| 6279 return array.At((index * kEntryLength) + kTargetFunctionIndex); | 6286 return array.At((index * kEntryLength) + kTargetFunctionIndex); |
| 6280 } | 6287 } |
| 6281 | 6288 |
| 6282 } // namespace dart | 6289 } // namespace dart |
| 6283 | 6290 |
| 6284 #endif // VM_OBJECT_H_ | 6291 #endif // VM_OBJECT_H_ |
| OLD | NEW |