port
abc35080b33cc31e47b9913e64ac99ec687c6b65 (r28339)
original commit message:
This stub will be used as the basis of a Math.floor-specific CallIC to
detect and track calls to floor that return -0.
Along the way:
- Create a TurboFanCodeStub super class from which the StringLength and
MathRound TF stubs derive.
- Fix the ugly hack that passes the first stub parameter as the "this"
pointer in the the TF-compiled JS function.
- Fix bugs in the ia32/x64 disassembler.
BUG=
Review URL: https://codereview.chromium.org/
1134323002
Cr-Commit-Position: refs/heads/master@{#28386}
} else if (*data == 0x16) {
data++;
int mod, regop, rm;
- get_modrm(*data, &mod, ®op, &rm);
+ get_modrm(*data, &mod, &rm, ®op);
int8_t imm8 = static_cast<int8_t>(data[1]);
AppendToBuffer("pextrd %s,%s,%d",
NameOfCPURegister(regop),
};
data->Initialize(arraysize(registers), registers, representations);
}
+
+
+void MathRoundVariantDescriptor::Initialize(CallInterfaceDescriptorData* data) {
+ Register registers[] = {
+ esi, // context
+ edi, // math rounding function
+ edx, // vector slot id
+ };
+ Representation representations[] = {
+ Representation::Tagged(), //
+ Representation::Tagged(), //
+ Representation::Tagged(), //
+ };
+ data->Initialize(arraysize(registers), registers, representations);
+}
}
} // namespace v8::internal