| 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/token.h" | 10 #include "vm/token.h" |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 V(ExternalInt32Array) \ | 85 V(ExternalInt32Array) \ |
| 86 V(ExternalUint32Array) \ | 86 V(ExternalUint32Array) \ |
| 87 V(ExternalInt64Array) \ | 87 V(ExternalInt64Array) \ |
| 88 V(ExternalUint64Array) \ | 88 V(ExternalUint64Array) \ |
| 89 V(ExternalFloat32Array) \ | 89 V(ExternalFloat32Array) \ |
| 90 V(ExternalFloat64Array) \ | 90 V(ExternalFloat64Array) \ |
| 91 V(Stacktrace) \ | 91 V(Stacktrace) \ |
| 92 V(JSRegExp) \ | 92 V(JSRegExp) \ |
| 93 V(WeakProperty) \ | 93 V(WeakProperty) \ |
| 94 V(DartFunction) \ | 94 V(DartFunction) \ |
| 95 V(Closure) \ | |
| 96 | 95 |
| 97 #define CLASS_LIST(V) \ | 96 #define CLASS_LIST(V) \ |
| 98 V(Object) \ | 97 V(Object) \ |
| 99 CLASS_LIST_NO_OBJECT(V) | 98 CLASS_LIST_NO_OBJECT(V) |
| 100 | 99 |
| 101 | 100 |
| 102 // Forward declarations. | 101 // Forward declarations. |
| 103 class Isolate; | 102 class Isolate; |
| 104 #define DEFINE_FORWARD_DECLARATION(clazz) \ | 103 #define DEFINE_FORWARD_DECLARATION(clazz) \ |
| 105 class Raw##clazz; | 104 class Raw##clazz; |
| (...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1426 | 1425 |
| 1427 ExternalByteArrayData<double>* external_data_; | 1426 ExternalByteArrayData<double>* external_data_; |
| 1428 }; | 1427 }; |
| 1429 | 1428 |
| 1430 | 1429 |
| 1431 class RawDartFunction : public RawInstance { | 1430 class RawDartFunction : public RawInstance { |
| 1432 RAW_HEAP_OBJECT_IMPLEMENTATION(DartFunction); | 1431 RAW_HEAP_OBJECT_IMPLEMENTATION(DartFunction); |
| 1433 }; | 1432 }; |
| 1434 | 1433 |
| 1435 | 1434 |
| 1436 class RawClosure : public RawInstance { | |
| 1437 RAW_HEAP_OBJECT_IMPLEMENTATION(Closure); | |
| 1438 | |
| 1439 RawObject** from() { | |
| 1440 return reinterpret_cast<RawObject**>(&ptr()->type_arguments_); | |
| 1441 } | |
| 1442 RawAbstractTypeArguments* type_arguments_; | |
| 1443 RawFunction* function_; | |
| 1444 RawContext* context_; | |
| 1445 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->context_); } | |
| 1446 }; | |
| 1447 | |
| 1448 | |
| 1449 // VM type for capturing stacktraces when exceptions are thrown, | 1435 // VM type for capturing stacktraces when exceptions are thrown, |
| 1450 // Currently we don't have any interface that this object is supposed | 1436 // Currently we don't have any interface that this object is supposed |
| 1451 // to implement so we just support the 'toString' method which | 1437 // to implement so we just support the 'toString' method which |
| 1452 // converts the stack trace into a string. | 1438 // converts the stack trace into a string. |
| 1453 class RawStacktrace : public RawInstance { | 1439 class RawStacktrace : public RawInstance { |
| 1454 RAW_HEAP_OBJECT_IMPLEMENTATION(Stacktrace); | 1440 RAW_HEAP_OBJECT_IMPLEMENTATION(Stacktrace); |
| 1455 | 1441 |
| 1456 RawObject** from() { | 1442 RawObject** from() { |
| 1457 return reinterpret_cast<RawObject**>(&ptr()->function_array_); | 1443 return reinterpret_cast<RawObject**>(&ptr()->function_array_); |
| 1458 } | 1444 } |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1620 kExternalUint64ArrayCid == kByteArrayCid + 18 && | 1606 kExternalUint64ArrayCid == kByteArrayCid + 18 && |
| 1621 kExternalFloat32ArrayCid == kByteArrayCid + 19 && | 1607 kExternalFloat32ArrayCid == kByteArrayCid + 19 && |
| 1622 kExternalFloat64ArrayCid == kByteArrayCid + 20 && | 1608 kExternalFloat64ArrayCid == kByteArrayCid + 20 && |
| 1623 kStacktraceCid == kByteArrayCid + 21); | 1609 kStacktraceCid == kByteArrayCid + 21); |
| 1624 return (index >= kByteArrayCid && index <= kExternalFloat64ArrayCid); | 1610 return (index >= kByteArrayCid && index <= kExternalFloat64ArrayCid); |
| 1625 } | 1611 } |
| 1626 | 1612 |
| 1627 } // namespace dart | 1613 } // namespace dart |
| 1628 | 1614 |
| 1629 #endif // VM_RAW_OBJECT_H_ | 1615 #endif // VM_RAW_OBJECT_H_ |
| OLD | NEW |