MIPS: Fix MacroAssembler::AssertFunction()
authorpaul.lind <paul.lind@imgtec.com>
Tue, 8 Sep 2015 19:29:22 +0000 (12:29 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 8 Sep 2015 19:29:40 +0000 (19:29 +0000)
Porting mistake in ccbb4ff0 '[builtins] Unify the various versions of [[Call]]
with a Call builtin.', which only showed as debug assertion in later commit
db2ba190 '[runtime] Replace many buggy uses of %_CallFunction with %_Call.'

Use temporary register rather than push/pop of 'object' register.

BUG=
TEST=cctest/test-api/SetFunctionEntryHook, cctest/test-serialize/PerIsolateSnapshotBlobs, ...

Review URL: https://codereview.chromium.org/1309163006

Cr-Commit-Position: refs/heads/master@{#30643}

src/mips/macro-assembler-mips.cc
src/mips64/macro-assembler-mips64.cc

index cad0804..9dc042b 100644 (file)
@@ -5180,10 +5180,8 @@ void MacroAssembler::AssertFunction(Register object) {
     STATIC_ASSERT(kSmiTag == 0);
     SmiTst(object, t0);
     Check(ne, kOperandIsASmiAndNotAFunction, t0, Operand(zero_reg));
-    push(object);
-    GetObjectType(object, object, object);
-    pop(object);
-    Check(eq, kOperandIsNotAFunction, object, Operand(JS_FUNCTION_TYPE));
+    GetObjectType(object, t0, t0);
+    Check(eq, kOperandIsNotAFunction, t0, Operand(JS_FUNCTION_TYPE));
   }
 }
 
index d1f8bf3..602cb54 100644 (file)
@@ -5378,10 +5378,8 @@ void MacroAssembler::AssertFunction(Register object) {
     STATIC_ASSERT(kSmiTag == 0);
     SmiTst(object, t0);
     Check(ne, kOperandIsASmiAndNotAFunction, t0, Operand(zero_reg));
-    push(object);
-    GetObjectType(object, object, object);
-    pop(object);
-    Check(eq, kOperandIsNotAFunction, object, Operand(JS_FUNCTION_TYPE));
+    GetObjectType(object, t0, t0);
+    Check(eq, kOperandIsNotAFunction, t0, Operand(JS_FUNCTION_TYPE));
   }
 }