Module: YTLJit::VM::TypeCodeGen::FixnumTypeUnboxedCodeGen
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
#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
148
149
150
|
# File 'lib/ytljit/vm_type_gen.rb', line 148
def include_nil?
false
end
|