| 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_RAW_OBJECT_H_ | 5 #ifndef VM_RAW_OBJECT_H_ |
| 6 #define VM_RAW_OBJECT_H_ | 6 #define VM_RAW_OBJECT_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
| 10 #include "vm/snapshot.h" | 10 #include "vm/snapshot.h" |
| (...skipping 816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 827 | 827 |
| 828 int64_t value_; | 828 int64_t value_; |
| 829 | 829 |
| 830 friend class SnapshotReader; | 830 friend class SnapshotReader; |
| 831 }; | 831 }; |
| 832 | 832 |
| 833 | 833 |
| 834 class RawBigint : public RawInteger { | 834 class RawBigint : public RawInteger { |
| 835 RAW_HEAP_OBJECT_IMPLEMENTATION(Bigint); | 835 RAW_HEAP_OBJECT_IMPLEMENTATION(Bigint); |
| 836 | 836 |
| 837 // Note that the structure is not necessarily valid unless tweaked | 837 // Actual length at the time of allocation (later we may clamp the |
| 838 // by Bigint::BNAddr(). | 838 // operational length but we need to maintain a consistent object |
| 839 BIGNUM bn_; | 839 // length so that the object can be traversed during GC). |
| 840 intptr_t allocated_length_; |
| 840 | 841 |
| 841 // Variable length data follows here. | 842 // Operation length of the bigint object, clamping can cause this length |
| 842 BN_ULONG data_[0]; | 843 // to be reduced. If the signed_length_ is negative then the number |
| 844 // is negative. |
| 845 intptr_t signed_length_; |
| 846 |
| 847 // A sequence of Chunks (typedef in Bignum) representing bignum digits. |
| 848 // Bignum::Chunk chunks_[Utils::Abs(signed_length_)]; |
| 849 uint8_t data_[0]; |
| 843 }; | 850 }; |
| 844 | 851 |
| 845 | 852 |
| 846 class RawDouble : public RawNumber { | 853 class RawDouble : public RawNumber { |
| 847 RAW_HEAP_OBJECT_IMPLEMENTATION(Double); | 854 RAW_HEAP_OBJECT_IMPLEMENTATION(Double); |
| 848 | 855 |
| 849 double value_; | 856 double value_; |
| 850 | 857 |
| 851 friend class SnapshotReader; | 858 friend class SnapshotReader; |
| 852 }; | 859 }; |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1098 RawString* target_name_; // Name of target function. | 1105 RawString* target_name_; // Name of target function. |
| 1099 RawArray* ic_data_; // Contains test classes and target function. | 1106 RawArray* ic_data_; // Contains test classes and target function. |
| 1100 intptr_t id_; // Parser node id corresponding to this IC. | 1107 intptr_t id_; // Parser node id corresponding to this IC. |
| 1101 intptr_t num_args_tested_; // Number of arguments tested in IC. | 1108 intptr_t num_args_tested_; // Number of arguments tested in IC. |
| 1102 }; | 1109 }; |
| 1103 | 1110 |
| 1104 | 1111 |
| 1105 } // namespace dart | 1112 } // namespace dart |
| 1106 | 1113 |
| 1107 #endif // VM_RAW_OBJECT_H_ | 1114 #endif // VM_RAW_OBJECT_H_ |
| OLD | NEW |