| Index: src/objects.h
|
| ===================================================================
|
| --- src/objects.h (revision 2356)
|
| +++ src/objects.h (working copy)
|
| @@ -297,97 +297,202 @@
|
| V(JS_FUNCTION_TYPE) \
|
|
|
|
|
| +
|
| // Since string types are not consecutive, this macro is used to
|
| // iterate over them.
|
| #define STRING_TYPE_LIST(V) \
|
| - V(SHORT_SYMBOL_TYPE, SeqTwoByteString::kAlignedSize, short_symbol) \
|
| - V(MEDIUM_SYMBOL_TYPE, SeqTwoByteString::kAlignedSize, medium_symbol) \
|
| - V(LONG_SYMBOL_TYPE, SeqTwoByteString::kAlignedSize, long_symbol) \
|
| - V(SHORT_ASCII_SYMBOL_TYPE, SeqAsciiString::kAlignedSize, short_ascii_symbol) \
|
| + V(SHORT_SYMBOL_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + short_symbol, \
|
| + ShortSymbol) \
|
| + V(MEDIUM_SYMBOL_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + medium_symbol, \
|
| + MediumSymbol) \
|
| + V(LONG_SYMBOL_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + long_symbol, \
|
| + LongSymbol) \
|
| + V(SHORT_ASCII_SYMBOL_TYPE, \
|
| + SeqAsciiString::kAlignedSize, \
|
| + short_ascii_symbol, \
|
| + ShortAsciiSymbol) \
|
| V(MEDIUM_ASCII_SYMBOL_TYPE, \
|
| SeqAsciiString::kAlignedSize, \
|
| - medium_ascii_symbol) \
|
| - V(LONG_ASCII_SYMBOL_TYPE, SeqAsciiString::kAlignedSize, long_ascii_symbol) \
|
| - V(SHORT_CONS_SYMBOL_TYPE, ConsString::kSize, short_cons_symbol) \
|
| - V(MEDIUM_CONS_SYMBOL_TYPE, ConsString::kSize, medium_cons_symbol) \
|
| - V(LONG_CONS_SYMBOL_TYPE, ConsString::kSize, long_cons_symbol) \
|
| - V(SHORT_CONS_ASCII_SYMBOL_TYPE, ConsString::kSize, short_cons_ascii_symbol) \
|
| - V(MEDIUM_CONS_ASCII_SYMBOL_TYPE, ConsString::kSize, medium_cons_ascii_symbol)\
|
| - V(LONG_CONS_ASCII_SYMBOL_TYPE, ConsString::kSize, long_cons_ascii_symbol) \
|
| - V(SHORT_SLICED_SYMBOL_TYPE, SlicedString::kSize, short_sliced_symbol) \
|
| - V(MEDIUM_SLICED_SYMBOL_TYPE, SlicedString::kSize, medium_sliced_symbol) \
|
| - V(LONG_SLICED_SYMBOL_TYPE, SlicedString::kSize, long_sliced_symbol) \
|
| + medium_ascii_symbol, \
|
| + MediumAsciiSymbol) \
|
| + V(LONG_ASCII_SYMBOL_TYPE, \
|
| + SeqAsciiString::kAlignedSize, \
|
| + long_ascii_symbol, \
|
| + LongAsciiSymbol) \
|
| + V(SHORT_CONS_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + short_cons_symbol, \
|
| + ShortConsSymbol) \
|
| + V(MEDIUM_CONS_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + medium_cons_symbol, \
|
| + MediumConsSymbol) \
|
| + V(LONG_CONS_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + long_cons_symbol, \
|
| + LongConsSymbol) \
|
| + V(SHORT_CONS_ASCII_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + short_cons_ascii_symbol, \
|
| + ShortConsAsciiSymbol) \
|
| + V(MEDIUM_CONS_ASCII_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + medium_cons_ascii_symbol, \
|
| + MediumConsAsciiSymbol) \
|
| + V(LONG_CONS_ASCII_SYMBOL_TYPE, \
|
| + ConsString::kSize, \
|
| + long_cons_ascii_symbol, \
|
| + LongConsAsciiSymbol) \
|
| + V(SHORT_SLICED_SYMBOL_TYPE, \
|
| + SlicedString::kSize, \
|
| + short_sliced_symbol, \
|
| + ShortSlicedSymbol) \
|
| + V(MEDIUM_SLICED_SYMBOL_TYPE, \
|
| + SlicedString::kSize, \
|
| + medium_sliced_symbol, \
|
| + MediumSlicedSymbol) \
|
| + V(LONG_SLICED_SYMBOL_TYPE, \
|
| + SlicedString::kSize, \
|
| + long_sliced_symbol, \
|
| + LongSlicedSymbol) \
|
| V(SHORT_SLICED_ASCII_SYMBOL_TYPE, \
|
| SlicedString::kSize, \
|
| - short_sliced_ascii_symbol) \
|
| + short_sliced_ascii_symbol, \
|
| + ShortSlicedAsciiSymbol) \
|
| V(MEDIUM_SLICED_ASCII_SYMBOL_TYPE, \
|
| SlicedString::kSize, \
|
| - medium_sliced_ascii_symbol) \
|
| + medium_sliced_ascii_symbol, \
|
| + MediumSlicedAsciiSymbol) \
|
| V(LONG_SLICED_ASCII_SYMBOL_TYPE, \
|
| SlicedString::kSize, \
|
| - long_sliced_ascii_symbol) \
|
| + long_sliced_ascii_symbol, \
|
| + LongSlicedAsciiSymbol) \
|
| V(SHORT_EXTERNAL_SYMBOL_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - short_external_symbol) \
|
| + short_external_symbol, \
|
| + ShortExternalSymbol) \
|
| V(MEDIUM_EXTERNAL_SYMBOL_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - medium_external_symbol) \
|
| + medium_external_symbol, \
|
| + MediumExternalSymbol) \
|
| V(LONG_EXTERNAL_SYMBOL_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - long_external_symbol) \
|
| + long_external_symbol, \
|
| + LongExternalSymbol) \
|
| V(SHORT_EXTERNAL_ASCII_SYMBOL_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - short_external_ascii_symbol) \
|
| + short_external_ascii_symbol, \
|
| + ShortExternalAsciiSymbol) \
|
| V(MEDIUM_EXTERNAL_ASCII_SYMBOL_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - medium_external_ascii_symbol) \
|
| + medium_external_ascii_symbol, \
|
| + MediumExternalAsciiSymbol) \
|
| V(LONG_EXTERNAL_ASCII_SYMBOL_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - long_external_ascii_symbol) \
|
| - V(SHORT_STRING_TYPE, SeqTwoByteString::kAlignedSize, short_string) \
|
| - V(MEDIUM_STRING_TYPE, SeqTwoByteString::kAlignedSize, medium_string) \
|
| - V(LONG_STRING_TYPE, SeqTwoByteString::kAlignedSize, long_string) \
|
| - V(SHORT_ASCII_STRING_TYPE, SeqAsciiString::kAlignedSize, short_ascii_string) \
|
| + long_external_ascii_symbol, \
|
| + LongExternalAsciiSymbol) \
|
| + V(SHORT_STRING_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + short_string, \
|
| + ShortString) \
|
| + V(MEDIUM_STRING_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + medium_string, \
|
| + MediumString) \
|
| + V(LONG_STRING_TYPE, \
|
| + SeqTwoByteString::kAlignedSize, \
|
| + long_string, \
|
| + LongString) \
|
| + V(SHORT_ASCII_STRING_TYPE, \
|
| + SeqAsciiString::kAlignedSize, \
|
| + short_ascii_string, \
|
| + ShortAsciiString) \
|
| V(MEDIUM_ASCII_STRING_TYPE, \
|
| SeqAsciiString::kAlignedSize, \
|
| - medium_ascii_string) \
|
| - V(LONG_ASCII_STRING_TYPE, SeqAsciiString::kAlignedSize, long_ascii_string) \
|
| - V(SHORT_CONS_STRING_TYPE, ConsString::kSize, short_cons_string) \
|
| - V(MEDIUM_CONS_STRING_TYPE, ConsString::kSize, medium_cons_string) \
|
| - V(LONG_CONS_STRING_TYPE, ConsString::kSize, long_cons_string) \
|
| - V(SHORT_CONS_ASCII_STRING_TYPE, ConsString::kSize, short_cons_ascii_string) \
|
| - V(MEDIUM_CONS_ASCII_STRING_TYPE, ConsString::kSize, medium_cons_ascii_string)\
|
| - V(LONG_CONS_ASCII_STRING_TYPE, ConsString::kSize, long_cons_ascii_string) \
|
| - V(SHORT_SLICED_STRING_TYPE, SlicedString::kSize, short_sliced_string) \
|
| - V(MEDIUM_SLICED_STRING_TYPE, SlicedString::kSize, medium_sliced_string) \
|
| - V(LONG_SLICED_STRING_TYPE, SlicedString::kSize, long_sliced_string) \
|
| + medium_ascii_string, \
|
| + MediumAsciiString) \
|
| + V(LONG_ASCII_STRING_TYPE, \
|
| + SeqAsciiString::kAlignedSize, \
|
| + long_ascii_string, \
|
| + LongAsciiString) \
|
| + V(SHORT_CONS_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + short_cons_string, \
|
| + ShortConsString) \
|
| + V(MEDIUM_CONS_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + medium_cons_string, \
|
| + MediumConsString) \
|
| + V(LONG_CONS_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + long_cons_string, \
|
| + LongConsString) \
|
| + V(SHORT_CONS_ASCII_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + short_cons_ascii_string, \
|
| + ShortConsAsciiString) \
|
| + V(MEDIUM_CONS_ASCII_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + medium_cons_ascii_string, \
|
| + MediumConsAsciiString) \
|
| + V(LONG_CONS_ASCII_STRING_TYPE, \
|
| + ConsString::kSize, \
|
| + long_cons_ascii_string, \
|
| + LongConsAsciiString) \
|
| + V(SHORT_SLICED_STRING_TYPE, \
|
| + SlicedString::kSize, \
|
| + short_sliced_string, \
|
| + ShortSlicedString) \
|
| + V(MEDIUM_SLICED_STRING_TYPE, \
|
| + SlicedString::kSize, \
|
| + medium_sliced_string, \
|
| + MediumSlicedString) \
|
| + V(LONG_SLICED_STRING_TYPE, \
|
| + SlicedString::kSize, \
|
| + long_sliced_string, \
|
| + LongSlicedString) \
|
| V(SHORT_SLICED_ASCII_STRING_TYPE, \
|
| SlicedString::kSize, \
|
| - short_sliced_ascii_string) \
|
| + short_sliced_ascii_string, \
|
| + ShortSlicedAsciiString) \
|
| V(MEDIUM_SLICED_ASCII_STRING_TYPE, \
|
| SlicedString::kSize, \
|
| - medium_sliced_ascii_string) \
|
| + medium_sliced_ascii_string, \
|
| + MediumSlicedAsciiString) \
|
| V(LONG_SLICED_ASCII_STRING_TYPE, \
|
| SlicedString::kSize, \
|
| - long_sliced_ascii_string) \
|
| + long_sliced_ascii_string, \
|
| + LongSlicedAsciiString) \
|
| V(SHORT_EXTERNAL_STRING_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - short_external_string) \
|
| + short_external_string, \
|
| + ShortExternalString) \
|
| V(MEDIUM_EXTERNAL_STRING_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - medium_external_string) \
|
| + medium_external_string, \
|
| + MediumExternalString) \
|
| V(LONG_EXTERNAL_STRING_TYPE, \
|
| ExternalTwoByteString::kSize, \
|
| - long_external_string) \
|
| + long_external_string, \
|
| + LongExternalString) \
|
| V(SHORT_EXTERNAL_ASCII_STRING_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - short_external_ascii_string) \
|
| + short_external_ascii_string, \
|
| + ShortExternalAsciiString) \
|
| V(MEDIUM_EXTERNAL_ASCII_STRING_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - medium_external_ascii_string) \
|
| + medium_external_ascii_string, \
|
| + MediumExternalAsciiString) \
|
| V(LONG_EXTERNAL_ASCII_STRING_TYPE, \
|
| ExternalAsciiString::kSize, \
|
| - long_external_ascii_string)
|
| + long_external_ascii_string, \
|
| + LongExternalAsciiString)
|
|
|
| // A struct is a simple object a set of object-valued fields. Including an
|
| // object type in this causes the compiler to generate most of the boilerplate
|
|
|