Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 13584263d8105bbfb0de1d68604f58ae40184bf8..c362a983a35008a516a6c7b5629c4bbdf0bd1f7c 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -275,11 +275,6 @@ bool HeapObject::IsConsString() const { |
return StringShape(String::cast(this)).IsCons(); |
} |
-bool HeapObject::IsThinString() const { |
- if (!IsString()) return false; |
- return StringShape(String::cast(this)).IsThin(); |
-} |
- |
bool HeapObject::IsSlicedString() const { |
if (!IsString()) return false; |
return StringShape(String::cast(this)).IsSliced(); |
@@ -703,7 +698,6 @@ CAST_ACCESSOR(StringTable) |
CAST_ACCESSOR(Struct) |
CAST_ACCESSOR(Symbol) |
CAST_ACCESSOR(TemplateInfo) |
-CAST_ACCESSOR(ThinString) |
CAST_ACCESSOR(Uint16x8) |
CAST_ACCESSOR(Uint32x4) |
CAST_ACCESSOR(Uint8x16) |
@@ -850,10 +844,6 @@ bool StringShape::IsCons() { |
return (type_ & kStringRepresentationMask) == kConsStringTag; |
} |
-bool StringShape::IsThin() { |
- return (type_ & kStringRepresentationMask) == kThinStringTag; |
-} |
- |
bool StringShape::IsSliced() { |
return (type_ & kStringRepresentationMask) == kSlicedStringTag; |
} |
@@ -3714,19 +3704,10 @@ bool String::Equals(Handle<String> one, Handle<String> two) { |
Handle<String> String::Flatten(Handle<String> string, PretenureFlag pretenure) { |
- if (string->IsConsString()) { |
- Handle<ConsString> cons = Handle<ConsString>::cast(string); |
- if (cons->IsFlat()) { |
- string = handle(cons->first()); |
- } else { |
- return SlowFlatten(cons, pretenure); |
- } |
- } |
- if (string->IsThinString()) { |
- string = handle(Handle<ThinString>::cast(string)->actual()); |
- DCHECK(!string->IsConsString()); |
- } |
- return string; |
+ if (!string->IsConsString()) return string; |
+ Handle<ConsString> cons = Handle<ConsString>::cast(string); |
+ if (cons->IsFlat()) return handle(cons->first()); |
+ return SlowFlatten(cons, pretenure); |
} |
@@ -3747,9 +3728,6 @@ uint16_t String::Get(int index) { |
case kSlicedStringTag | kOneByteStringTag: |
case kSlicedStringTag | kTwoByteStringTag: |
return SlicedString::cast(this)->SlicedStringGet(index); |
- case kThinStringTag | kOneByteStringTag: |
- case kThinStringTag | kTwoByteStringTag: |
- return ThinString::cast(this)->ThinStringGet(index); |
default: |
break; |
} |
@@ -3781,7 +3759,6 @@ String* String::GetUnderlying() { |
DCHECK(this->IsFlat()); |
DCHECK(StringShape(this).IsIndirect()); |
STATIC_ASSERT(ConsString::kFirstOffset == SlicedString::kParentOffset); |
- STATIC_ASSERT(ConsString::kFirstOffset == ThinString::kActualOffset); |
const int kUnderlyingOffset = SlicedString::kParentOffset; |
return String::cast(READ_FIELD(this, kUnderlyingOffset)); |
} |
@@ -3833,11 +3810,6 @@ ConsString* String::VisitFlat(Visitor* visitor, |
case kConsStringTag | kTwoByteStringTag: |
return ConsString::cast(string); |
- case kThinStringTag | kOneByteStringTag: |
- case kThinStringTag | kTwoByteStringTag: |
- string = ThinString::cast(string)->actual(); |
- continue; |
- |
default: |
UNREACHABLE(); |
return NULL; |
@@ -3969,7 +3941,6 @@ void ConsString::set_second(String* value, WriteBarrierMode mode) { |
CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kSecondOffset, value, mode); |
} |
-ACCESSORS(ThinString, actual, String, kActualOffset); |
bool ExternalString::is_short() { |
InstanceType type = map()->instance_type(); |