Module: YTLJit::VM::TypeCodeGen::FixnumTypeUnboxedCodeGen
- 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, #gen_save_thepr
Instance Method Details
#gen_boxing(context) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/ytljit/vm_type_gen.rb', line 51 def gen_boxing(context) asm = context.assembler val = context.ret_reg vnode = context.ret_node asm.with_retry do if val != TMPR then asm.mov(TMPR, val) end asm.add(TMPR, TMPR) asm.add(TMPR, OpImmidiate8.new(1)) end context.set_reg_content(TMPR, vnode) context.ret_reg = TMPR context end |
#gen_unboxing(context) ⇒ Object
68 69 70 |
# File 'lib/ytljit/vm_type_gen.rb', line 68 def gen_unboxing(context) context end |
#include_nil? ⇒ Boolean
47 48 49 |
# File 'lib/ytljit/vm_type_gen.rb', line 47 def include_nil? false end |