Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index ed2b8b7514d50a77b53520393f46fff09a116f2e..b376bcc30e2b7c9727f69d0481962ccdfe83ffbf 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -232,9 +232,6 @@ static const int kVariableSizeSentinel = 0; |
V(EXTERNAL_SYMBOL_TYPE) \ |
V(EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE) \ |
V(EXTERNAL_ASCII_SYMBOL_TYPE) \ |
- V(SHORT_EXTERNAL_SYMBOL_TYPE) \ |
- V(SHORT_EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE) \ |
- V(SHORT_EXTERNAL_ASCII_SYMBOL_TYPE) \ |
V(STRING_TYPE) \ |
V(ASCII_STRING_TYPE) \ |
V(CONS_STRING_TYPE) \ |
@@ -243,9 +240,6 @@ static const int kVariableSizeSentinel = 0; |
V(EXTERNAL_STRING_TYPE) \ |
V(EXTERNAL_STRING_WITH_ASCII_DATA_TYPE) \ |
V(EXTERNAL_ASCII_STRING_TYPE) \ |
- V(SHORT_EXTERNAL_STRING_TYPE) \ |
- V(SHORT_EXTERNAL_STRING_WITH_ASCII_DATA_TYPE) \ |
- V(SHORT_EXTERNAL_ASCII_STRING_TYPE) \ |
V(PRIVATE_EXTERNAL_ASCII_STRING_TYPE) \ |
\ |
V(MAP_TYPE) \ |
@@ -346,18 +340,6 @@ static const int kVariableSizeSentinel = 0; |
ExternalAsciiString::kSize, \ |
external_ascii_symbol, \ |
ExternalAsciiSymbol) \ |
- V(SHORT_EXTERNAL_SYMBOL_TYPE, \ |
- ExternalTwoByteString::kShortSize, \ |
- short_external_symbol, \ |
- ShortExternalSymbol) \ |
- V(SHORT_EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE, \ |
- ExternalTwoByteString::kShortSize, \ |
- short_external_symbol_with_ascii_data, \ |
- ShortExternalSymbolWithAsciiData) \ |
- V(SHORT_EXTERNAL_ASCII_SYMBOL_TYPE, \ |
- ExternalAsciiString::kShortSize, \ |
- short_external_ascii_symbol, \ |
- ShortExternalAsciiSymbol) \ |
V(STRING_TYPE, \ |
kVariableSizeSentinel, \ |
string, \ |
@@ -393,19 +375,7 @@ static const int kVariableSizeSentinel = 0; |
V(EXTERNAL_ASCII_STRING_TYPE, \ |
ExternalAsciiString::kSize, \ |
external_ascii_string, \ |
- ExternalAsciiString) \ |
- V(SHORT_EXTERNAL_STRING_TYPE, \ |
- ExternalTwoByteString::kShortSize, \ |
- short_external_string, \ |
- ShortExternalString) \ |
- V(SHORT_EXTERNAL_STRING_WITH_ASCII_DATA_TYPE, \ |
- ExternalTwoByteString::kShortSize, \ |
- short_external_string_with_ascii_data, \ |
- ShortExternalStringWithAsciiData) \ |
- V(SHORT_EXTERNAL_ASCII_STRING_TYPE, \ |
- ExternalAsciiString::kShortSize, \ |
- short_external_ascii_string, \ |
- ShortExternalAsciiString) |
+ ExternalAsciiString) |
// 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 |
@@ -489,11 +459,6 @@ STATIC_ASSERT(IS_POWER_OF_TWO(kSlicedNotConsMask) && kSlicedNotConsMask != 0); |
const uint32_t kAsciiDataHintMask = 0x08; |
const uint32_t kAsciiDataHintTag = 0x08; |
-// If bit 7 is clear and string representation indicates an external string, |
-// then bit 4 indicates whether the data pointer is cached. |
-const uint32_t kShortExternalStringMask = 0x10; |
-const uint32_t kShortExternalStringTag = 0x10; |
- |
// A ConsString with an empty string as the right side is a candidate |
// for being shortcut by the garbage collector unless it is a |
@@ -513,13 +478,6 @@ enum InstanceType { |
ASCII_SYMBOL_TYPE = kAsciiStringTag | kSymbolTag | kSeqStringTag, |
CONS_SYMBOL_TYPE = kTwoByteStringTag | kSymbolTag | kConsStringTag, |
CONS_ASCII_SYMBOL_TYPE = kAsciiStringTag | kSymbolTag | kConsStringTag, |
- SHORT_EXTERNAL_SYMBOL_TYPE = kTwoByteStringTag | kSymbolTag | |
- kExternalStringTag | kShortExternalStringTag, |
- SHORT_EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE = |
- kTwoByteStringTag | kSymbolTag | kExternalStringTag | |
- kAsciiDataHintTag | kShortExternalStringTag, |
- SHORT_EXTERNAL_ASCII_SYMBOL_TYPE = kAsciiStringTag | kExternalStringTag | |
- kSymbolTag | kShortExternalStringTag, |
EXTERNAL_SYMBOL_TYPE = kTwoByteStringTag | kSymbolTag | kExternalStringTag, |
EXTERNAL_SYMBOL_WITH_ASCII_DATA_TYPE = |
kTwoByteStringTag | kSymbolTag | kExternalStringTag | kAsciiDataHintTag, |
@@ -531,13 +489,6 @@ enum InstanceType { |
CONS_ASCII_STRING_TYPE = kAsciiStringTag | kConsStringTag, |
SLICED_STRING_TYPE = kTwoByteStringTag | kSlicedStringTag, |
SLICED_ASCII_STRING_TYPE = kAsciiStringTag | kSlicedStringTag, |
- SHORT_EXTERNAL_STRING_TYPE = |
- kTwoByteStringTag | kExternalStringTag | kShortExternalStringTag, |
- SHORT_EXTERNAL_STRING_WITH_ASCII_DATA_TYPE = |
- kTwoByteStringTag | kExternalStringTag | |
- kAsciiDataHintTag | kShortExternalStringTag, |
- SHORT_EXTERNAL_ASCII_STRING_TYPE = |
- kAsciiStringTag | kExternalStringTag | kShortExternalStringTag, |
EXTERNAL_STRING_TYPE = kTwoByteStringTag | kExternalStringTag, |
EXTERNAL_STRING_WITH_ASCII_DATA_TYPE = |
kTwoByteStringTag | kExternalStringTag | kAsciiDataHintTag, |
@@ -6804,12 +6755,12 @@ class ExternalString: public String { |
// Layout description. |
static const int kResourceOffset = POINTER_SIZE_ALIGN(String::kSize); |
- static const int kShortSize = kResourceOffset + kPointerSize; |
static const int kResourceDataOffset = kResourceOffset + kPointerSize; |
static const int kSize = kResourceDataOffset + kPointerSize; |
- // Return whether external string is short (data pointer is not cached). |
- inline bool is_short(); |
+ // Clear the cached pointer to the character array provided by the resource. |
+ // This cache is updated the first time the character array is accessed. |
+ inline void clear_data_cache(); |
STATIC_CHECK(kResourceOffset == Internals::kStringResourceOffset); |
@@ -6830,12 +6781,6 @@ class ExternalAsciiString: public ExternalString { |
inline const Resource* resource(); |
inline void set_resource(const Resource* buffer); |
- // Update the pointer cache to the external character array. |
- // The cached pointer is always valid, as the external character array does = |
- // not move during lifetime. Deserialization is the only exception, after |
- // which the pointer cache has to be refreshed. |
- inline void update_data_cache(); |
- |
inline const char* GetChars(); |
// Dispatched behavior. |
@@ -6875,12 +6820,6 @@ class ExternalTwoByteString: public ExternalString { |
inline const Resource* resource(); |
inline void set_resource(const Resource* buffer); |
- // Update the pointer cache to the external character array. |
- // The cached pointer is always valid, as the external character array does = |
- // not move during lifetime. Deserialization is the only exception, after |
- // which the pointer cache has to be refreshed. |
- inline void update_data_cache(); |
- |
inline const uint16_t* GetChars(); |
// Dispatched behavior. |