Index: src/full-codegen/arm/full-codegen-arm.cc |
diff --git a/src/full-codegen/arm/full-codegen-arm.cc b/src/full-codegen/arm/full-codegen-arm.cc |
index 8dcb3023e1032c3aa470ee534cf476feae473a60..847ff4bd3baff71d5d4b31aa9b2b68ef2ed0f27c 100644 |
--- a/src/full-codegen/arm/full-codegen-arm.cc |
+++ b/src/full-codegen/arm/full-codegen-arm.cc |
@@ -468,6 +468,9 @@ void FullCodeGenerator::EmitReturnSequence() { |
} |
} |
+void FullCodeGenerator::RestoreContext() { |
+ __ ldr(cp, MemOperand(fp, StandardFrameConstants::kContextOffset)); |
+} |
void FullCodeGenerator::StackValueContext::Plug(Variable* var) const { |
DCHECK(var->IsStackAllocated() || var->IsContextSlot()); |
@@ -3731,7 +3734,7 @@ void FullCodeGenerator::VisitCompareOperation(CompareOperation* expr) { |
switch (op) { |
case Token::IN: |
VisitForStackValue(expr->right()); |
- CallRuntimeWithOperands(Runtime::kHasProperty); |
+ EmitHasProperty(); |
PrepareForBailoutBeforeSplit(expr, false, NULL, NULL); |
__ CompareRoot(r0, Heap::kTrueValueRootIndex); |
Split(eq, if_true, if_false, fall_through); |