Commit c5030420 authored by dcarney@chromium.org's avatar dcarney@chromium.org

remove IsOneByteConvertible

R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14298021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 84355ae4
...@@ -4061,7 +4061,7 @@ bool String::IsOneByte() const { ...@@ -4061,7 +4061,7 @@ bool String::IsOneByte() const {
if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) { if (IsDeadCheck(str->GetIsolate(), "v8::String::IsOneByte()")) {
return false; return false;
} }
return str->IsOneByteConvertible(); return str->HasOnlyOneByteChars();
} }
......
...@@ -357,12 +357,8 @@ bool String::IsTwoByteRepresentationUnderneath() { ...@@ -357,12 +357,8 @@ bool String::IsTwoByteRepresentationUnderneath() {
bool String::HasOnlyOneByteChars() { bool String::HasOnlyOneByteChars() {
uint32_t type = map()->instance_type(); uint32_t type = map()->instance_type();
return (type & kOneByteDataHintMask) == kOneByteDataHintTag; return (type & kOneByteDataHintMask) == kOneByteDataHintTag ||
} IsOneByteRepresentation();
bool String::IsOneByteConvertible() {
return HasOnlyOneByteChars() || IsOneByteRepresentation();
} }
......
...@@ -7638,8 +7638,6 @@ class String: public Name { ...@@ -7638,8 +7638,6 @@ class String: public Name {
// possible. // possible.
inline bool HasOnlyOneByteChars(); inline bool HasOnlyOneByteChars();
inline bool IsOneByteConvertible();
// Get and set individual two byte chars in the string. // Get and set individual two byte chars in the string.
inline void Set(int index, uint16_t value); inline void Set(int index, uint16_t value);
// Get individual two byte char in the string. Repeated calls // Get individual two byte char in the string. Repeated calls
......
...@@ -3347,8 +3347,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalRegExpWithString( ...@@ -3347,8 +3347,8 @@ MUST_USE_RESULT static MaybeObject* StringReplaceGlobalRegExpWithString(
// Shortcut for simple non-regexp global replacements // Shortcut for simple non-regexp global replacements
if (regexp->TypeTag() == JSRegExp::ATOM && simple_replace) { if (regexp->TypeTag() == JSRegExp::ATOM && simple_replace) {
if (subject->IsOneByteConvertible() && if (subject->HasOnlyOneByteChars() &&
replacement->IsOneByteConvertible()) { replacement->HasOnlyOneByteChars()) {
return StringReplaceGlobalAtomRegExpWithString<SeqOneByteString>( return StringReplaceGlobalAtomRegExpWithString<SeqOneByteString>(
isolate, subject, regexp, replacement, last_match_info); isolate, subject, regexp, replacement, last_match_info);
} else { } else {
...@@ -3530,7 +3530,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringReplaceGlobalRegExpWithString) { ...@@ -3530,7 +3530,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringReplaceGlobalRegExpWithString) {
if (!subject->IsFlat()) subject = FlattenGetString(subject); if (!subject->IsFlat()) subject = FlattenGetString(subject);
if (replacement->length() == 0) { if (replacement->length() == 0) {
if (subject->IsOneByteConvertible()) { if (subject->HasOnlyOneByteChars()) {
return StringReplaceGlobalRegExpWithEmptyString<SeqOneByteString>( return StringReplaceGlobalRegExpWithEmptyString<SeqOneByteString>(
isolate, subject, regexp, last_match_info); isolate, subject, regexp, last_match_info);
} else { } else {
...@@ -6389,7 +6389,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringBuilderConcat) { ...@@ -6389,7 +6389,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringBuilderConcat) {
if (first->IsString()) return first; if (first->IsString()) return first;
} }
bool one_byte = special->IsOneByteConvertible(); bool one_byte = special->HasOnlyOneByteChars();
int position = 0; int position = 0;
for (int i = 0; i < array_length; i++) { for (int i = 0; i < array_length; i++) {
int increment = 0; int increment = 0;
...@@ -6430,7 +6430,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringBuilderConcat) { ...@@ -6430,7 +6430,7 @@ RUNTIME_FUNCTION(MaybeObject*, Runtime_StringBuilderConcat) {
String* element = String::cast(elt); String* element = String::cast(elt);
int element_length = element->length(); int element_length = element->length();
increment = element_length; increment = element_length;
if (one_byte && !element->IsOneByteConvertible()) { if (one_byte && !element->HasOnlyOneByteChars()) {
one_byte = false; one_byte = false;
} }
} else { } else {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment