| Index: src/hydrogen.cc
|
| diff --git a/src/hydrogen.cc b/src/hydrogen.cc
|
| index 1590ab36698d9d5b98605111966ed17b8c7bc2a8..99009699b2598ca60ddb31dd7adeb96bae2c285d 100644
|
| --- a/src/hydrogen.cc
|
| +++ b/src/hydrogen.cc
|
| @@ -9125,6 +9125,37 @@ void HGraphBuilder::GenerateDateField(CallRuntime* call) {
|
| }
|
|
|
|
|
| +void HGraphBuilder::GenerateOneByteSeqStringSetChar(CallRuntime* call) {
|
| + ASSERT(call->arguments()->length() == 3);
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(1)));
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(2)));
|
| + HValue* value = Pop();
|
| + HValue* index = Pop();
|
| + HValue* string = Pop();
|
| + HSeqStringSetChar* result =
|
| + new(zone()) HSeqStringSetChar(true, string, index, value);
|
| + return ast_context()->ReturnInstruction(result, call->id());
|
| +}
|
| +
|
| +
|
| +void HGraphBuilder::GenerateTwoByteSeqStringSetChar(CallRuntime* call) {
|
| + ASSERT(call->arguments()->length() == 3);
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(1)));
|
| + CHECK_ALIVE(VisitForValue(call->arguments()->at(2)));
|
| + HValue* value = Pop();
|
| + HValue* index = Pop();
|
| + HValue* string = Pop();
|
| + HValue* context = environment()->LookupContext();
|
| + HStringCharCodeAt* char_code = BuildStringCharCodeAt(context, string, index);
|
| + AddInstruction(char_code);
|
| + HSeqStringSetChar* result =
|
| + new(zone()) HSeqStringSetChar(false, string, index, value);
|
| + return ast_context()->ReturnInstruction(result, call->id());
|
| +}
|
| +
|
| +
|
| void HGraphBuilder::GenerateSetValueOf(CallRuntime* call) {
|
| ASSERT(call->arguments()->length() == 2);
|
| CHECK_ALIVE(VisitForValue(call->arguments()->at(0)));
|
|
|