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

Unified Diff: src/ia32/disasm-ia32.cc

Issue 3327022: Custom call IC for Math.floor. (Closed)
Patch Set: Oops, forgot to upload the test Created 10 years, 3 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
Index: src/ia32/disasm-ia32.cc
diff --git a/src/ia32/disasm-ia32.cc b/src/ia32/disasm-ia32.cc
index 64305ef69e9b82e84f13ed4268067f099d34b30e..f4956223c57a446b3ba0a5b94bb09b37a4a17f2a 100644
--- a/src/ia32/disasm-ia32.cc
+++ b/src/ia32/disasm-ia32.cc
@@ -1156,6 +1156,15 @@ int DisassemblerIA32::InstructionDecode(v8::internal::Vector<char> out_buffer,
NameOfXMMRegister(regop),
NameOfXMMRegister(rm));
data++;
+ } else if (*data == 0x73) {
+ data++;
+ int mod, regop, rm;
+ get_modrm(*data, &mod, &regop, &rm);
+ int8_t imm8 = *reinterpret_cast<int8_t*>(data + 1);
Erik Corry 2010/09/20 11:56:50 Why not just: int imm8 = data[1]; ?
Vitaly Repeshko 2010/09/21 12:54:49 Almost done. I left static_cast there to avoid uns
+ AppendToBuffer("psllq %s,%d",
+ NameOfXMMRegister(rm),
+ static_cast<int>(imm8));
+ data += 2;;
} else {
UnimplementedInstruction();
}

Powered by Google App Engine
This is Rietveld 408576698