| Index: src/arm/lithium-codegen-arm.cc
|
| diff --git a/src/arm/lithium-codegen-arm.cc b/src/arm/lithium-codegen-arm.cc
|
| index 74fecc29df17614a9f6b1378ff980b2ca5059146..32411e474a1c8c4a95dc334455229b8148833cdd 100644
|
| --- a/src/arm/lithium-codegen-arm.cc
|
| +++ b/src/arm/lithium-codegen-arm.cc
|
| @@ -4257,6 +4257,22 @@ void LCodeGen::DoDeleteProperty(LDeleteProperty* instr) {
|
| }
|
|
|
|
|
| +void LCodeGen::DoIn(LIn* instr) {
|
| + Register obj = ToRegister(instr->object());
|
| + Register key = ToRegister(instr->key());
|
| + __ Push(key, obj);
|
| + ASSERT(instr->HasPointerMap() && instr->HasDeoptimizationEnvironment());
|
| + LPointerMap* pointers = instr->pointer_map();
|
| + LEnvironment* env = instr->deoptimization_environment();
|
| + RecordPosition(pointers->position());
|
| + RegisterEnvironmentForDeoptimization(env);
|
| + SafepointGenerator safepoint_generator(this,
|
| + pointers,
|
| + env->deoptimization_index());
|
| + __ InvokeBuiltin(Builtins::IN, CALL_JS, &safepoint_generator);
|
| +}
|
| +
|
| +
|
| void LCodeGen::DoStackCheck(LStackCheck* instr) {
|
| // Perform stack overflow check.
|
| Label ok;
|
| @@ -4286,6 +4302,8 @@ void LCodeGen::DoOsrEntry(LOsrEntry* instr) {
|
| }
|
|
|
|
|
| +
|
| +
|
| #undef __
|
|
|
| } } // namespace v8::internal
|
|
|