impc:ir:compile:push_zone   scheme


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

Implementation

(define impc:ir:compile:push_zone
  (lambda (ast types)
    (let* ((os (make-string 0))
           (zone-str (impc:ir:compiler (cadr ast) types))
           (zone (impc:ir:gname)))
      (emit zone-str os)
      (emit "call void @llvm_push_zone_stack(%mzone* " (car zone) ")\n" os)
      (emit (impc:ir:gname "zone_ptr" "i8*") " = bitcast %mzone* " (car zone) " to i8*\n" os)
      (emit "store i8* " (car (impc:ir:gname "zone_ptr")) ", i8** %_impzPtr\n" os)
      (impc:ir:gname "voidmark" (impc:ir:get-type-str *impc:ir:void*))
      (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:pop_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: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
  • peek_zone    xtlang    /digego/extempore/tree/v0.8.9/libs/base/base.xtm
  • pop-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • push-handler    scheme    /digego/extempore/tree/v0.8.9/runtime/init.xtm
  • push-zone    xtlang    /digego/extempore/tree/v0.8.9/libs/contrib/xtmcv.xtm
  • qbuf_push    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
  • 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