impc:ir:compile:pop_zone   scheme


Defined in:  https://github.com/digego/extempore/tree/v0.8.9/runtime/llvmir.xtm

Implementation

(define impc:ir:compile:pop_zone
  (lambda (ast types)
    (let* ((os (make-string 0)))
      (emit (impc:ir:gname "oldzone" "%mzone*") " = call %mzone* @llvm_pop_zone_stack()\n" os)
      (emit (impc:ir:gname "newzone" "%mzone") " = call %mzone* @llvm_peek_zone_stack()\n" os)
      (emit (impc:ir:gname "zone_ptr" "i8*") " = bitcast %mzone* " (car (impc:ir:gname "newzone")) " to i8*\n" os)
      (emit "store i8* " (car (impc:ir:gname "zone_ptr")) ", i8** %_impzPtr\n" os)
      (let ((zone (impc:ir:gname "oldzone")))
        (impc:ir:gname "ret" (car zone) (cadr zone)))
      (impc:ir:strip-space os))))


Back to Index

Similar Entries

  • Zone    xtlang    /digego/extempore/tree/v0.8.9/libs/base/base.xtm
  • bindfunc_with_zone_size    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/aot-compilation.xtm
  • bindfunc_with_zone_size_and_docstring    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/aot-compilation.xtm
  • create-zone    scheme    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • create-zone1    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • create-zone2    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • destroy_zone    xtlang    /digego/extempore/tree/v0.8.9/libs/base/base.xtm
  • icr:destroy-zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • icr:new-zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • icr:set-zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • icr:set-zone-default    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-needs-zone-delay-error    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:compiler:print-needs-zone-size-error    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ir:compile:create_zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ir:compile:push_new_zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ir:compile:push_zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ir:compiler:zone-alloc    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ir:compiler:zone-alloc-with-size    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ir:compiler:zone-alloc-without-size    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmir.xtm
  • impc:ti:check-memzone-void?    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:create_zone-check    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:get-closure-zone-size    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:initialize-closure-with-new-zone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:memzone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:memzone    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:pop_zone-check    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:push_new_zone-check    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:push_zone-check    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:set-closure-zone-size    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:zone-alloc-check    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • impc:ti:zone_cleanup    scheme    /digego/extempore/tree/v0.8.9/runtime/llvmti.xtm
  • is_popup    xtlang    /digego/extempore/tree/v0.8.9/libs/external/cef/cef.xtm
  • peek_zone    xtlang    /digego/extempore/tree/v0.8.9/libs/base/base.xtm
  • pop    xtlang    /digego/extempore/tree/v0.8.9/libs/core/adt.xtm
  • pop-handler    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • pop-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • push-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • qbuf_pop    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/stream.xtm
  • reset-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • reset_zone    xtlang    /digego/extempore/tree/v0.8.9/libs/base/base.xtm
  • sampler-populate-slot    scheme    /digego/extempore/tree/v0.8.9/libs/external/instruments_ext-scm.xtm
  • thread_native_call_with_zone    xtlang    /digego/extempore/tree/v0.8.9/libs/core/xthread.xtm
  • what-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm