| 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 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 851 private: | 851 private: |
| 852 RAW_HEAP_OBJECT_IMPLEMENTATION(LocalVarDescriptors); | 852 RAW_HEAP_OBJECT_IMPLEMENTATION(LocalVarDescriptors); |
| 853 intptr_t length_; // Number of descriptors. | 853 intptr_t length_; // Number of descriptors. |
| 854 RawArray* names_; // Array of [length_] variable names. | 854 RawArray* names_; // Array of [length_] variable names. |
| 855 | 855 |
| 856 VarInfo data_[0]; // Variable info with [length_] entries. | 856 VarInfo data_[0]; // Variable info with [length_] entries. |
| 857 }; | 857 }; |
| 858 | 858 |
| 859 | 859 |
| 860 class RawExceptionHandlers : public RawObject { | 860 class RawExceptionHandlers : public RawObject { |
| 861 public: |
| 862 struct HandlerInfo { |
| 863 int16_t try_index; // Try block index associated with handler. |
| 864 int16_t outer_try_index; // Try block index of enclosing try block. |
| 865 intptr_t handler_pc; // PC value of handler. |
| 866 }; |
| 867 private: |
| 861 RAW_HEAP_OBJECT_IMPLEMENTATION(ExceptionHandlers); | 868 RAW_HEAP_OBJECT_IMPLEMENTATION(ExceptionHandlers); |
| 862 | 869 |
| 863 RawSmi* length_; // Number of exception handler entries. | 870 // Number of exception handler entries. |
| 871 intptr_t length_; |
| 864 | 872 |
| 865 // Variable length data follows here. | 873 // Array with [length_] entries. Each entry is an array of all handled |
| 866 intptr_t data_[0]; | 874 // exception types. |
| 875 RawArray* handled_types_data_; |
| 876 |
| 877 // Exception handler info of length [length_]. |
| 878 HandlerInfo data_[0]; |
| 867 }; | 879 }; |
| 868 | 880 |
| 869 | 881 |
| 870 // Contains an array of deoptimization commands, e.g., move a specific register | 882 // Contains an array of deoptimization commands, e.g., move a specific register |
| 871 // into a specific slot of unoptimized frame. | 883 // into a specific slot of unoptimized frame. |
| 872 class RawDeoptInfo : public RawObject { | 884 class RawDeoptInfo : public RawObject { |
| 873 RAW_HEAP_OBJECT_IMPLEMENTATION(DeoptInfo); | 885 RAW_HEAP_OBJECT_IMPLEMENTATION(DeoptInfo); |
| 874 | 886 |
| 875 RawSmi* length_; // Number of deoptimization commands | 887 RawSmi* length_; // Number of deoptimization commands |
| 876 | 888 |
| (...skipping 811 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1688 kExternalUint64ArrayCid == kExternalInt8ArrayCid + 8 && | 1700 kExternalUint64ArrayCid == kExternalInt8ArrayCid + 8 && |
| 1689 kExternalFloat32ArrayCid == kExternalInt8ArrayCid + 9 && | 1701 kExternalFloat32ArrayCid == kExternalInt8ArrayCid + 9 && |
| 1690 kExternalFloat64ArrayCid == kExternalInt8ArrayCid + 10 && | 1702 kExternalFloat64ArrayCid == kExternalInt8ArrayCid + 10 && |
| 1691 kStacktraceCid == kExternalInt8ArrayCid + 11); | 1703 kStacktraceCid == kExternalInt8ArrayCid + 11); |
| 1692 return (index >= kExternalInt8ArrayCid && index <= kExternalFloat64ArrayCid); | 1704 return (index >= kExternalInt8ArrayCid && index <= kExternalFloat64ArrayCid); |
| 1693 } | 1705 } |
| 1694 | 1706 |
| 1695 } // namespace dart | 1707 } // namespace dart |
| 1696 | 1708 |
| 1697 #endif // VM_RAW_OBJECT_H_ | 1709 #endif // VM_RAW_OBJECT_H_ |
| OLD | NEW |