Index: src/arm/full-codegen-arm.cc |
diff --git a/src/arm/full-codegen-arm.cc b/src/arm/full-codegen-arm.cc |
index f5dff15ececebd8736fc0b548cb46a63c0c9570e..dfd0e618f1b7db042b75a67072ae0931d9e60ba6 100644 |
--- a/src/arm/full-codegen-arm.cc |
+++ b/src/arm/full-codegen-arm.cc |
@@ -3823,7 +3823,7 @@ void FullCodeGenerator::EmitGetCachedArrayIndex(CallRuntime* expr) { |
} |
-void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
+void FullCodeGenerator::EmitFastOneByteArrayJoin(CallRuntime* expr) { |
Label bailout, done, one_char_separator, long_separator, non_trivial_array, |
not_size_one_array, loop, empty_separator_loop, one_char_separator_loop, |
one_char_separator_loop_entry, long_separator_loop; |
@@ -3870,7 +3870,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ ldr(elements, FieldMemOperand(array, JSArray::kElementsOffset)); |
array = no_reg; // End of array's live range. |
- // Check that all array elements are sequential ASCII strings, and |
+ // Check that all array elements are sequential one-byte strings, and |
// accumulate the sum of their lengths, as a smi-encoded value. |
__ mov(string_length, Operand::Zero()); |
__ add(element, |
@@ -3886,14 +3886,14 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// elements_end: Array end. |
if (generate_debug_code_) { |
__ cmp(array_length, Operand::Zero()); |
- __ Assert(gt, kNoEmptyArraysHereInEmitFastAsciiArrayJoin); |
+ __ Assert(gt, kNoEmptyArraysHereInEmitFastOneByteArrayJoin); |
} |
__ bind(&loop); |
__ ldr(string, MemOperand(element, kPointerSize, PostIndex)); |
__ JumpIfSmi(string, &bailout); |
__ ldr(scratch, FieldMemOperand(string, HeapObject::kMapOffset)); |
__ ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); |
- __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &bailout); |
+ __ JumpIfInstanceTypeIsNotSequentialOneByte(scratch, scratch, &bailout); |
__ ldr(scratch, FieldMemOperand(string, SeqOneByteString::kLengthOffset)); |
__ add(string_length, string_length, Operand(scratch), SetCC); |
__ b(vs, &bailout); |
@@ -3914,11 +3914,11 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// string_length: Sum of string lengths (smi). |
// elements: FixedArray of strings. |
- // Check that the separator is a flat ASCII string. |
+ // Check that the separator is a flat one-byte string. |
__ JumpIfSmi(separator, &bailout); |
__ ldr(scratch, FieldMemOperand(separator, HeapObject::kMapOffset)); |
__ ldrb(scratch, FieldMemOperand(scratch, Map::kInstanceTypeOffset)); |
- __ JumpIfInstanceTypeIsNotSequentialAscii(scratch, scratch, &bailout); |
+ __ JumpIfInstanceTypeIsNotSequentialOneByte(scratch, scratch, &bailout); |
// Add (separator length times array_length) - separator length to the |
// string_length to get the length of the result string. array_length is not |
@@ -3947,12 +3947,10 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// separator: Separator string |
// string_length: Length of result string (not smi) |
// array_length: Length of the array. |
- __ AllocateAsciiString(result, |
- string_length, |
- scratch, |
- string, // used as scratch |
- elements_end, // used as scratch |
- &bailout); |
+ __ AllocateOneByteString(result, string_length, scratch, |
+ string, // used as scratch |
+ elements_end, // used as scratch |
+ &bailout); |
// Prepare for looping. Set up elements_end to end of the array. Set |
// result_pos to the position of the result where to write the first |
// character. |
@@ -3991,7 +3989,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// One-character separator case |
__ bind(&one_char_separator); |
- // Replace separator with its ASCII character value. |
+ // Replace separator with its one-byte character value. |
__ ldrb(separator, FieldMemOperand(separator, SeqOneByteString::kHeaderSize)); |
// Jump into the loop after the code that copies the separator, so the first |
// element is not preceded by a separator |
@@ -4002,7 +4000,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// result_pos: the position to which we are currently copying characters. |
// element: Current array element. |
// elements_end: Array end. |
- // separator: Single separator ASCII char (in lower byte). |
+ // separator: Single separator one-byte char (in lower byte). |
// Copy the separator character to the result. |
__ strb(separator, MemOperand(result_pos, 1, PostIndex)); |