| Index: src/full-codegen/mips/full-codegen-mips.cc
|
| diff --git a/src/full-codegen/mips/full-codegen-mips.cc b/src/full-codegen/mips/full-codegen-mips.cc
|
| index e61c3e4e7109ccabafe6b35c0a496e0566c401f8..55f7f3e0e1fb65bfdc537a31773145edeff9b35a 100644
|
| --- a/src/full-codegen/mips/full-codegen-mips.cc
|
| +++ b/src/full-codegen/mips/full-codegen-mips.cc
|
| @@ -2908,80 +2908,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 = t5;
|
| - __ EmitSeqStringSetCharCheck(
|
| - string, index, value, scratch, one_byte_seq_type);
|
| - __ SmiTag(index, index);
|
| - }
|
| -
|
| - __ SmiUntag(value, value);
|
| - __ Addu(at,
|
| - string,
|
| - Operand(SeqOneByteString::kHeaderSize - kHeapObjectTag));
|
| - __ SmiUntag(index);
|
| - __ Addu(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 = t5;
|
| - __ EmitSeqStringSetCharCheck(
|
| - string, index, value, scratch, two_byte_seq_type);
|
| - __ SmiTag(index, index);
|
| - }
|
| -
|
| - __ SmiUntag(value, value);
|
| - __ Addu(at,
|
| - string,
|
| - Operand(SeqTwoByteString::kHeaderSize - kHeapObjectTag));
|
| - __ Addu(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);
|
|
|