| Index: src/x64/full-codegen-x64.cc
|
| diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc
|
| index 650337a29599fc09e685b0df7b08624e70e5b578..02d130e1c485b6536418e48370677fa5e6046b7c 100644
|
| --- a/src/x64/full-codegen-x64.cc
|
| +++ b/src/x64/full-codegen-x64.cc
|
| @@ -3047,6 +3047,36 @@ void FullCodeGenerator::EmitDateField(CallRuntime* expr) {
|
| }
|
|
|
|
|
| +void FullCodeGenerator::EmitOneByteSeqStringSetChar(CallRuntime* expr) {
|
| + ZoneList<Expression*>* args = expr->arguments();
|
| + ASSERT_EQ(3, args->length());
|
| +
|
| + VisitForStackValue(args->at(1)); // index
|
| + VisitForStackValue(args->at(2)); // value
|
| + __ pop(rcx);
|
| + __ pop(rbx);
|
| + VisitForAccumulatorValue(args->at(0)); // string
|
| +
|
| + SeqStringSetCharGenerator::Generate(masm_, true, rax, rbx, rcx);
|
| + context()->Plug(rax);
|
| +}
|
| +
|
| +
|
| +void FullCodeGenerator::EmitTwoByteSeqStringSetChar(CallRuntime* expr) {
|
| + ZoneList<Expression*>* args = expr->arguments();
|
| + ASSERT_EQ(3, args->length());
|
| +
|
| + VisitForStackValue(args->at(1)); // index
|
| + VisitForStackValue(args->at(2)); // value
|
| + __ pop(rcx);
|
| + __ pop(rbx);
|
| + VisitForAccumulatorValue(args->at(0)); // string
|
| +
|
| + SeqStringSetCharGenerator::Generate(masm_, false, rax, rbx, rcx);
|
| + context()->Plug(rax);
|
| +}
|
| +
|
| +
|
| void FullCodeGenerator::EmitMathPow(CallRuntime* expr) {
|
| // Load the arguments on the stack and call the runtime function.
|
| ZoneList<Expression*>* args = expr->arguments();
|
|
|