__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(r0);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(r0);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(r0);
}
__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(x0);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(x0);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(x0);
}
__ push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(eax);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(eax);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(eax);
}
__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(v0);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(v0);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(v0);
}
__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(v0);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(v0);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(v0);
}
__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(r3);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(r3);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(r3);
}
__ Push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(rax);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(rax);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(rax);
}
__ push(result_register());
EmitNamedSuperPropertyLoad(expr);
}
- PrepareForBailoutForId(expr->LoadId(), TOS_REG);
- context()->Plug(eax);
} else {
if (!expr->IsSuperAccess()) {
VisitForStackValue(expr->obj());
VisitForStackValue(expr->key());
EmitKeyedSuperPropertyLoad(expr);
}
- context()->Plug(eax);
}
+ PrepareForBailoutForId(expr->LoadId(), TOS_REG);
+ context()->Plug(eax);
}
--- /dev/null
+// Copyright 2015 the V8 project authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Flags: --allow-natives-syntax
+
+var o = { };
+o.__defineGetter__("progressChanged", function() { %DeoptimizeFunction(f); return 10; })
+
+function g(a, b, c) {
+ return a + b + c;
+}
+
+function f() {
+ var t="progressChanged";
+ return g(1, o[t], 100);
+}
+
+f();
+f();
+%OptimizeFunctionOnNextCall(f);
+assertEquals(111, f());