41 using namespace v8::internal;
55 MacroAssembler assm(isolate, buffer, static_cast<int>(actual_size));
58 DoubleToIStub stub(source_reg, destination_reg, offset,
true);
59 byte* start = stub.GetCode(isolate)->instruction_start();
67 if (!source_reg.
is(
esp)) {
76 if (!reg.
is(
esp) && !reg.
is(
ebp) && !reg.
is(destination_reg)) {
87 __ call(start, RelocInfo::EXTERNAL_REFERENCE);
92 for (--reg_num; reg_num >= 0; --reg_num) {
94 if (!reg.
is(
esp) && !reg.
is(
ebp) && !reg.
is(destination_reg)) {
96 __ Assert(
equal, kRegisterWasClobbered);
101 __ mov(
eax, destination_reg);
114 reinterpret_cast<intptr_t
>(buffer));
121 return reinterpret_cast<Isolate*
>((*context)->GetIsolate());
128 Isolate* isolate = GetIsolateFrom(&context);
141 for (
size_t s = 0; s <
sizeof(source_registers) /
sizeof(
Register); s++) {
142 for (
size_t d = 0; d <
sizeof(dest_registers) /
sizeof(
Register); d++) {
void RunAllTruncationTests(ConvertDToIFunc func)
static int NumAllocatableRegisters()
static const int kMinimalBufferSize
static const int kValueOffset
void GetCode(CodeDesc *desc)
static Register FromAllocationIndex(int index)
bool is(Register reg) const
static void InitializeVM()
static void * Allocate(const size_t requested, size_t *allocated, bool is_executable)
int STDCALL ConvertDToICVersion(double d)
ConvertDToIFunc MakeConvertDToIFuncTrampoline(Isolate *isolate, Register source_reg, Register destination_reg)
ConvertDToIFuncType * ConvertDToIFunc