41 using namespace v8::internal;
 
   48                                               bool inline_fastpath) {
 
   56   MacroAssembler masm(isolate, buffer, static_cast<int>(actual_size));
 
   57   DoubleToIStub stub(source_reg, destination_reg, 0, 
true, inline_fastpath);
 
   59   byte* start = stub.GetCode(isolate)->instruction_start();
 
   72   __ Move(source_reg, 
sp);
 
   79     if (!reg.
is(destination_reg)) {
 
   90   if (inline_fastpath) {
 
   92     __ TryInlineTruncateDoubleToI(destination_reg, 
f12, &done);
 
   93     if (destination_reg.
is(source_reg) && !source_reg.
is(
sp)) {
 
   95       __ Addu(source_reg, 
sp, 
Operand(source_reg_offset));
 
   98   __ Call(start, RelocInfo::EXTERNAL_REFERENCE);
 
  104   for (--reg_num; reg_num >= 2; --reg_num) {
 
  106     if (!reg.
is(destination_reg)) {
 
  108       __ Assert(
eq, kRegisterWasClobbered, reg, 
Operand(at));
 
  115   __ Move(v0, destination_reg);
 
  130   CPU::FlushICache(buffer, actual_size);
 
  131   return (reinterpret_cast<ConvertDToIFunc>(
 
  132       reinterpret_cast<intptr_t>(buffer)));
 
  139   return reinterpret_cast<Isolate*
>((*context)->GetIsolate());
 
  146   Simulator::current(Isolate::Current())->CallFP(
FUNCTION_ADDR(func), from, 0.);
 
  147   return Simulator::current(Isolate::Current())->get_register(v0.code());
 
  149   return (*func)(from);
 
  157   Isolate* isolate = GetIsolateFrom(&context);
 
  168       sp, v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5};
 
  170       v0, v1, a0, a1, a2, a3, t0, t1, t2, t3, t4, t5};
 
  172   for (
size_t s = 0; s < 
sizeof(source_registers) / 
sizeof(
Register); s++) {
 
  173     for (
size_t d = 0; d < 
sizeof(dest_registers) / 
sizeof(
Register); d++) {
 
void RunAllTruncationTests(ConvertDToIFunc func)
int32_t RunGeneratedCodeCallWrapper(ConvertDToIFunc func, double from)
static int NumAllocatableRegisters()
static const int kMinimalBufferSize
const bool IsMipsSoftFloatABI
void GetCode(CodeDesc *desc)
const RegList kCalleeSaved
static Register from_code(int code)
ConvertDToIFunc MakeConvertDToIFuncTrampoline(Isolate *isolate, Register source_reg, Register destination_reg, bool inline_fastpath)
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)
ConvertDToIFuncType * ConvertDToIFunc