Module: YTLJit::VM::TypeCodeGen::FloatTypeUnboxedCodeGen
- Includes:
- AbsArch, CommonCodeGen
- Defined in:
- lib/ytljit/vm_type_gen.rb
Constant Summary
Constants included from AbsArch
AbsArch::AL, AbsArch::BL, AbsArch::CL, AbsArch::DL, AbsArch::FUNC_ARG, AbsArch::FUNC_ARG_YTL, AbsArch::FUNC_FLOAT_ARG, AbsArch::FUNC_FLOAT_ARG_YTL, AbsArch::INDIRECT_BPR, AbsArch::INDIRECT_RETR, AbsArch::INDIRECT_SPR, AbsArch::INDIRECT_TMPR, AbsArch::INDIRECT_TMPR2, AbsArch::INDIRECT_TMPR3
Constants included from SSE
SSE::XMM0, SSE::XMM1, SSE::XMM2, SSE::XMM3, SSE::XMM4, SSE::XMM5, SSE::XMM6, SSE::XMM7
Instance Method Summary collapse
Methods included from CommonCodeGen
#dump_context, #gen_alloca, #gen_call
Instance Method Details
#gen_boxing(context) ⇒ Object
107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/ytljit/vm_type_gen.rb', line 107 def gen_boxing(context) asm = context.assembler val = context.ret_reg vnode = context.ret_node context.start_using_reg(TMPR2) context.start_arg_reg(FUNC_FLOAT_ARG) context.start_arg_reg rbfloatnew = OpMemAddress.new(address_of("rb_float_new")) =begin # This is sample of backtrace sh = OpMemAddress.new(address_of("ytl_step_handler")) context = gen_call(context, sh, 0, vnode) =end asm.with_retry do asm.mov(FUNC_FLOAT_ARG[0], val) end context.set_reg_content(FUNC_FLOAT_ARG[0].dst_opecode, vnode) context = gen_call(context, rbfloatnew, 1, vnode) context.end_arg_reg context.end_arg_reg(FUNC_FLOAT_ARG) # context.end_using_reg(TMPR3) context.end_using_reg(TMPR2) context.ret_reg = RETR context end |
#gen_unboxing(context) ⇒ Object
133 134 135 |
# File 'lib/ytljit/vm_type_gen.rb', line 133 def gen_unboxing(context) context end |