| Index: src/full-codegen/x64/full-codegen-x64.cc
|
| diff --git a/src/full-codegen/x64/full-codegen-x64.cc b/src/full-codegen/x64/full-codegen-x64.cc
|
| index a1507e30d20754558efc789f01c3b50543031963..4050991a387c1b628d48ea0708fc7e753b4d876c 100644
|
| --- a/src/full-codegen/x64/full-codegen-x64.cc
|
| +++ b/src/full-codegen/x64/full-codegen-x64.cc
|
| @@ -3626,6 +3626,17 @@ void FullCodeGenerator::EmitGetCachedArrayIndex(CallRuntime* expr) {
|
| }
|
|
|
|
|
| +void FullCodeGenerator::EmitGetSuperConstructor(CallRuntime* expr) {
|
| + ZoneList<Expression*>* args = expr->arguments();
|
| + DCHECK_EQ(1, args->length());
|
| + VisitForAccumulatorValue(args->at(0));
|
| + __ AssertFunction(rax);
|
| + __ movp(rax, FieldOperand(rax, HeapObject::kMapOffset));
|
| + __ movp(rax, FieldOperand(rax, Map::kPrototypeOffset));
|
| + context()->Plug(rax);
|
| +}
|
| +
|
| +
|
| void FullCodeGenerator::EmitFastOneByteArrayJoin(CallRuntime* expr) {
|
| Label bailout, return_result, done, one_char_separator, long_separator,
|
| non_trivial_array, not_size_one_array, loop,
|
|
|