Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index a1f3f4ec2a226572f145feb4ebfc7c236d44310f..a62462bec4dd3aeb7ecfa1a9d4261c8374d70259 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -3558,7 +3558,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ cmpb(scratch, Immediate(kStringTag | kOneByteStringTag | kSeqStringTag)); |
__ j(not_equal, &bailout); |
__ AddSmiField(string_length, |
- FieldOperand(string, SeqAsciiString::kLengthOffset)); |
+ FieldOperand(string, SeqOneByteString::kLengthOffset)); |
__ j(overflow, &bailout); |
__ incl(index); |
__ cmpl(index, array_length); |
@@ -3605,7 +3605,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
// Add (separator length times (array_length - 1)) to string_length. |
__ SmiToInteger32(scratch, |
- FieldOperand(string, SeqAsciiString::kLengthOffset)); |
+ FieldOperand(string, SeqOneByteString::kLengthOffset)); |
__ decl(index); |
__ imull(scratch, index); |
__ j(overflow, &bailout); |
@@ -3618,10 +3618,10 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ AllocateAsciiString(result_pos, string_length, scratch, |
index, string, &bailout); |
__ movq(result_operand, result_pos); |
- __ lea(result_pos, FieldOperand(result_pos, SeqAsciiString::kHeaderSize)); |
+ __ lea(result_pos, FieldOperand(result_pos, SeqOneByteString::kHeaderSize)); |
__ movq(string, separator_operand); |
- __ SmiCompare(FieldOperand(string, SeqAsciiString::kLengthOffset), |
+ __ SmiCompare(FieldOperand(string, SeqOneByteString::kLengthOffset), |
Smi::FromInt(1)); |
__ j(equal, &one_char_separator); |
__ j(greater, &long_separator); |
@@ -3647,7 +3647,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ SmiToInteger32(string_length, |
FieldOperand(string, String::kLengthOffset)); |
__ lea(string, |
- FieldOperand(string, SeqAsciiString::kHeaderSize)); |
+ FieldOperand(string, SeqOneByteString::kHeaderSize)); |
__ CopyBytes(result_pos, string, string_length); |
__ incl(index); |
__ bind(&loop_1_condition); |
@@ -3665,7 +3665,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ bind(&one_char_separator); |
// Get the separator ASCII character value. |
// Register "string" holds the separator. |
- __ movzxbl(scratch, FieldOperand(string, SeqAsciiString::kHeaderSize)); |
+ __ movzxbl(scratch, FieldOperand(string, SeqOneByteString::kHeaderSize)); |
__ Set(index, 0); |
// Jump into the loop after the code that copies the separator, so the first |
// element is not preceded by a separator |
@@ -3691,7 +3691,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ SmiToInteger32(string_length, |
FieldOperand(string, String::kLengthOffset)); |
__ lea(string, |
- FieldOperand(string, SeqAsciiString::kHeaderSize)); |
+ FieldOperand(string, SeqOneByteString::kHeaderSize)); |
__ CopyBytes(result_pos, string, string_length); |
__ incl(index); |
__ cmpl(index, array_length_operand); |
@@ -3716,7 +3716,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ SmiToInteger32(scratch, |
FieldOperand(string, String::kLengthOffset)); |
__ lea(string, |
- FieldOperand(string, SeqAsciiString::kHeaderSize)); |
+ FieldOperand(string, SeqOneByteString::kHeaderSize)); |
__ movq(separator_operand, string); |
// Jump into the loop after the code that copies the separator, so the first |
@@ -3742,7 +3742,7 @@ void FullCodeGenerator::EmitFastAsciiArrayJoin(CallRuntime* expr) { |
__ SmiToInteger32(string_length, |
FieldOperand(string, String::kLengthOffset)); |
__ lea(string, |
- FieldOperand(string, SeqAsciiString::kHeaderSize)); |
+ FieldOperand(string, SeqOneByteString::kHeaderSize)); |
__ CopyBytes(result_pos, string, string_length); |
__ incq(index); |
__ j(not_equal, &loop_3); // Loop while (index < 0). |