| 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 1374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1385 | 1385 |
| 1386 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } | 1386 bool is_native() const { return NativeBit::decode(raw_ptr()->kind_tag_); } |
| 1387 void set_is_native(bool value) const; | 1387 void set_is_native(bool value) const; |
| 1388 | 1388 |
| 1389 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } | 1389 bool is_abstract() const { return AbstractBit::decode(raw_ptr()->kind_tag_); } |
| 1390 void set_is_abstract(bool value) const; | 1390 void set_is_abstract(bool value) const; |
| 1391 | 1391 |
| 1392 bool IsInlineable() const; | 1392 bool IsInlineable() const; |
| 1393 void set_is_inlinable(bool value) const; | 1393 void set_is_inlinable(bool value) const; |
| 1394 | 1394 |
| 1395 bool is_visible() const { |
| 1396 return VisibleBit::decode(raw_ptr()->kind_tag_); |
| 1397 } |
| 1398 void set_is_visible(bool value) const; |
| 1399 |
| 1395 enum IntrinsicKind { | 1400 enum IntrinsicKind { |
| 1396 kUnknownIntrinsic = 0, // Initial value. | 1401 kUnknownIntrinsic = 0, // Initial value. |
| 1397 kIsIntrinsic, | 1402 kIsIntrinsic, |
| 1398 kIsNotIntrinsic, | 1403 kIsNotIntrinsic, |
| 1399 }; | 1404 }; |
| 1400 | 1405 |
| 1401 IntrinsicKind intrinsic_kind() const { | 1406 IntrinsicKind intrinsic_kind() const { |
| 1402 return IntrinsicKindBits::decode(raw_ptr()->kind_tag_); | 1407 return IntrinsicKindBits::decode(raw_ptr()->kind_tag_); |
| 1403 } | 1408 } |
| 1404 void set_intrinsic_kind(IntrinsicKind value) const; | 1409 void set_intrinsic_kind(IntrinsicKind value) const; |
| (...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1540 private: | 1545 private: |
| 1541 enum KindTagBits { | 1546 enum KindTagBits { |
| 1542 kStaticBit = 0, | 1547 kStaticBit = 0, |
| 1543 kConstBit = 1, | 1548 kConstBit = 1, |
| 1544 kOptimizableBit = 2, | 1549 kOptimizableBit = 2, |
| 1545 kInlinableBit = 3, | 1550 kInlinableBit = 3, |
| 1546 kHasFinallyBit = 4, | 1551 kHasFinallyBit = 4, |
| 1547 kNativeBit = 5, | 1552 kNativeBit = 5, |
| 1548 kAbstractBit = 6, | 1553 kAbstractBit = 6, |
| 1549 kExternalBit = 7, | 1554 kExternalBit = 7, |
| 1550 kIntrinsicTagBit = 8, | 1555 kVisibleBit = 8, |
| 1556 kIntrinsicTagBit = 9, |
| 1551 kIntrinsicTagSize = 2, | 1557 kIntrinsicTagSize = 2, |
| 1552 kKindTagBit = 10, | 1558 kKindTagBit = 11, |
| 1553 kKindTagSize = 4, | 1559 kKindTagSize = 4, |
| 1554 }; | 1560 }; |
| 1555 class StaticBit : public BitField<bool, kStaticBit, 1> {}; | 1561 class StaticBit : public BitField<bool, kStaticBit, 1> {}; |
| 1556 class ConstBit : public BitField<bool, kConstBit, 1> {}; | 1562 class ConstBit : public BitField<bool, kConstBit, 1> {}; |
| 1557 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; | 1563 class OptimizableBit : public BitField<bool, kOptimizableBit, 1> {}; |
| 1558 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; | 1564 class InlinableBit : public BitField<bool, kInlinableBit, 1> {}; |
| 1559 class HasFinallyBit : public BitField<bool, kHasFinallyBit, 1> {}; | 1565 class HasFinallyBit : public BitField<bool, kHasFinallyBit, 1> {}; |
| 1560 class NativeBit : public BitField<bool, kNativeBit, 1> {}; | 1566 class NativeBit : public BitField<bool, kNativeBit, 1> {}; |
| 1561 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; | 1567 class AbstractBit : public BitField<bool, kAbstractBit, 1> {}; |
| 1562 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; | 1568 class ExternalBit : public BitField<bool, kExternalBit, 1> {}; |
| 1569 class VisibleBit : public BitField<bool, kVisibleBit, 1> {}; |
| 1563 class IntrinsicKindBits : | 1570 class IntrinsicKindBits : |
| 1564 public BitField<Function::IntrinsicKind, | 1571 public BitField<Function::IntrinsicKind, |
| 1565 kIntrinsicTagBit, kIntrinsicTagSize> {}; // NOLINT | 1572 kIntrinsicTagBit, kIntrinsicTagSize> {}; // NOLINT |
| 1566 class KindBits : | 1573 class KindBits : |
| 1567 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT | 1574 public BitField<RawFunction::Kind, kKindTagBit, kKindTagSize> {}; // NOLINT |
| 1568 | 1575 |
| 1569 void set_name(const String& value) const; | 1576 void set_name(const String& value) const; |
| 1570 void set_kind(RawFunction::Kind value) const; | 1577 void set_kind(RawFunction::Kind value) const; |
| 1571 void set_is_static(bool value) const; | 1578 void set_is_static(bool value) const; |
| 1572 void set_is_const(bool value) const; | 1579 void set_is_const(bool value) const; |
| (...skipping 4702 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 |