Module: YTLJit::VM::TypeCodeGen::RangeTypeBoxedCodeGen

Includes:
RangeTypeCommonCodeGen, 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 Attribute Summary

Attributes included from RangeTypeCommonCodeGen

#args, #element_type

Instance Method Summary collapse

Methods included from RangeTypeCommonCodeGen

#==, #have_element?, #init, #inspect

Methods included from TypeUtil

#gen_copy_common

Methods included from CommonCodeGen

#dump_context, #gen_alloca, #gen_call, #gen_save_thepr

Instance Method Details

#copy_typeObject



471
472
473
474
475
476
477
# File 'lib/ytljit/vm_type_gen.rb', line 471

def copy_type
  dro = self.class.from_ruby_class(@ruby_type)
  dro = dro.to_box
  dro.element_type = @element_type
  dro.args = @args
  dro
end

#instanceObject



464
465
466
467
468
469
# File 'lib/ytljit/vm_type_gen.rb', line 464

def instance
  ni = self.dup
  ni.instance_eval { extend RangeTypeBoxedCodeGen }
  ni.init
  ni
end