Module: YTLJit::VM::TypeCodeGen::FixnumTypeUnboxedCodeGen

Includes:
AbsArch, CommonCodeGen, TypeUtil
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

Methods included from TypeUtil

#gen_copy_common

Instance Method Details

#gen_boxing(context) ⇒ Object



152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
# File 'lib/ytljit/vm_type_gen.rb', line 152

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_copy(context) ⇒ Object



173
174
175
# File 'lib/ytljit/vm_type_gen.rb', line 173

def gen_copy(context)
  context
end

#gen_unboxing(context) ⇒ Object



169
170
171
# File 'lib/ytljit/vm_type_gen.rb', line 169

def gen_unboxing(context)
  context
end

#include_nil?Boolean

Returns:

  • (Boolean)


148
149
150
# File 'lib/ytljit/vm_type_gen.rb', line 148

def include_nil?
  false
end