Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(27)

Unified Diff: src/a64/lithium-codegen-a64.cc

Issue 140633006: A64: Fix constraints for LWrapReceiver (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/a64/lithium-a64.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/a64/lithium-codegen-a64.cc
diff --git a/src/a64/lithium-codegen-a64.cc b/src/a64/lithium-codegen-a64.cc
index 9d9b2eaaca6badcf4524a5a455d16ba3b2eabae0..a58c7cf97e0e64f7ad1951e99d76457bf558f6de 100644
--- a/src/a64/lithium-codegen-a64.cc
+++ b/src/a64/lithium-codegen-a64.cc
@@ -5589,25 +5589,24 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
Register receiver = ToRegister(instr->receiver());
Register function = ToRegister(instr->function());
Register result = ToRegister(instr->result());
- Register temp = ToRegister(instr->temp());
// If the receiver is null or undefined, we have to pass the global object as
// a receiver to normal functions. Values have to be passed unchanged to
// builtins and strict-mode functions.
Label global_object, done, deopt;
- __ Ldr(temp, FieldMemOperand(function,
+ __ Ldr(result, FieldMemOperand(function,
JSFunction::kSharedFunctionInfoOffset));
// CompilerHints is an int32 field. See objects.h.
- __ Ldr(temp.W(),
- FieldMemOperand(temp, SharedFunctionInfo::kCompilerHintsOffset));
+ __ Ldr(result.W(),
+ FieldMemOperand(result, SharedFunctionInfo::kCompilerHintsOffset));
// Do not transform the receiver to object for strict mode functions.
- __ Tbnz(temp, SharedFunctionInfo::kStrictModeFunction, &done);
+ __ Tbnz(result, SharedFunctionInfo::kStrictModeFunction, &done);
// Do not transform the receiver to object for builtins.
- __ Tbnz(temp, SharedFunctionInfo::kNative, &done);
+ __ Tbnz(result, SharedFunctionInfo::kNative, &done);
// Normal function. Replace undefined or null with global receiver.
__ JumpIfRoot(receiver, Heap::kNullValueRootIndex, &global_object);
@@ -5615,7 +5614,7 @@ void LCodeGen::DoWrapReceiver(LWrapReceiver* instr) {
// Deoptimize if the receiver is not a JS object.
__ JumpIfSmi(receiver, &deopt);
- __ CompareObjectType(receiver, temp, temp, FIRST_SPEC_OBJECT_TYPE);
+ __ CompareObjectType(receiver, result, result, FIRST_SPEC_OBJECT_TYPE);
__ B(ge, &done);
// Otherwise, fall through to deopt.
« no previous file with comments | « src/a64/lithium-a64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698