| Index: src/full-codegen/mips64/full-codegen-mips64.cc
|
| diff --git a/src/full-codegen/mips64/full-codegen-mips64.cc b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| index a93489da7f2bf52b8fe7452f7e71e2de7767929b..c2795db56457aa8ac40a96e25d683f740c1457a9 100644
|
| --- a/src/full-codegen/mips64/full-codegen-mips64.cc
|
| +++ b/src/full-codegen/mips64/full-codegen-mips64.cc
|
| @@ -2907,81 +2907,6 @@ void FullCodeGenerator::EmitValueOf(CallRuntime* expr) {
|
| }
|
|
|
|
|
| -void FullCodeGenerator::EmitOneByteSeqStringSetChar(CallRuntime* expr) {
|
| - ZoneList<Expression*>* args = expr->arguments();
|
| - DCHECK_EQ(3, args->length());
|
| -
|
| - Register string = v0;
|
| - Register index = a1;
|
| - Register value = a2;
|
| -
|
| - VisitForStackValue(args->at(0)); // index
|
| - VisitForStackValue(args->at(1)); // value
|
| - VisitForAccumulatorValue(args->at(2)); // string
|
| - PopOperands(index, value);
|
| -
|
| - if (FLAG_debug_code) {
|
| - __ SmiTst(value, at);
|
| - __ Check(eq, kNonSmiValue, at, Operand(zero_reg));
|
| - __ SmiTst(index, at);
|
| - __ Check(eq, kNonSmiIndex, at, Operand(zero_reg));
|
| - __ SmiUntag(index, index);
|
| - static const uint32_t one_byte_seq_type = kSeqStringTag | kOneByteStringTag;
|
| - Register scratch = t1;
|
| - __ EmitSeqStringSetCharCheck(
|
| - string, index, value, scratch, one_byte_seq_type);
|
| - __ SmiTag(index, index);
|
| - }
|
| -
|
| - __ SmiUntag(value, value);
|
| - __ Daddu(at,
|
| - string,
|
| - Operand(SeqOneByteString::kHeaderSize - kHeapObjectTag));
|
| - __ SmiUntag(index);
|
| - __ Daddu(at, at, index);
|
| - __ sb(value, MemOperand(at));
|
| - context()->Plug(string);
|
| -}
|
| -
|
| -
|
| -void FullCodeGenerator::EmitTwoByteSeqStringSetChar(CallRuntime* expr) {
|
| - ZoneList<Expression*>* args = expr->arguments();
|
| - DCHECK_EQ(3, args->length());
|
| -
|
| - Register string = v0;
|
| - Register index = a1;
|
| - Register value = a2;
|
| -
|
| - VisitForStackValue(args->at(0)); // index
|
| - VisitForStackValue(args->at(1)); // value
|
| - VisitForAccumulatorValue(args->at(2)); // string
|
| - PopOperands(index, value);
|
| -
|
| - if (FLAG_debug_code) {
|
| - __ SmiTst(value, at);
|
| - __ Check(eq, kNonSmiValue, at, Operand(zero_reg));
|
| - __ SmiTst(index, at);
|
| - __ Check(eq, kNonSmiIndex, at, Operand(zero_reg));
|
| - __ SmiUntag(index, index);
|
| - static const uint32_t two_byte_seq_type = kSeqStringTag | kTwoByteStringTag;
|
| - Register scratch = t1;
|
| - __ EmitSeqStringSetCharCheck(
|
| - string, index, value, scratch, two_byte_seq_type);
|
| - __ SmiTag(index, index);
|
| - }
|
| -
|
| - __ SmiUntag(value, value);
|
| - __ Daddu(at,
|
| - string,
|
| - Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag));
|
| - __ dsra(index, index, 32 - 1);
|
| - __ Daddu(at, at, index);
|
| - STATIC_ASSERT(kSmiTagSize == 1 && kSmiTag == 0);
|
| - __ sh(value, MemOperand(at));
|
| - context()->Plug(string);
|
| -}
|
| -
|
| -
|
| void FullCodeGenerator::EmitStringCharFromCode(CallRuntime* expr) {
|
| ZoneList<Expression*>* args = expr->arguments();
|
| DCHECK(args->length() == 1);
|
|
|