Module: YTLJit::VM::Node::MethodEndCodeGen
- Includes:
- AbsArch
- Included in:
- BlockEndNode, ClassEndNode, ExceptionTopNode, MethodEndNode, ThrowNode
- Defined in:
- lib/ytljit/vm_codegen.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
Instance Method Details
#gen_method_epilogue(context) ⇒ Object
580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 |
# File 'lib/ytljit/vm_codegen.rb', line 580 def gen_method_epilogue(context) asm = context.assembler # Make linkage of frame pointer asm.with_retry do asm.mov(SPR, BPR) asm.pop(BPR) if @is_escape != :local_export and @is_escape != :global_export then asm.pop(THEPR) end asm.mov(SPR, BPR) asm.pop(BPR) end context.stack_content = [] context end |