(comp-emit-block 'entry)
(comp-emit-annotation (concat "Lisp function: "
(symbol-name (comp-func-symbol-name func))))
- (comp-emit `(const-vector ,(concat (comp-func-c-func-name func) "_data_relocs")
- ,(prin1-to-string (aref (comp-func-byte-func func)
- 2))))
(if (comp-args-p args)
(cl-loop for i below (comp-args-max args)
do (cl-incf (comp-sp))
/* Ex: (comment "Function: foo"). */
emit_comment((char *) SDATA (arg0));
}
- else if (EQ (op, Qconst_vector))
- {
- /* Ex: (const-vector "F666f6f_foo_reloc"
- "[a b c 1 2]"). */
- Lisp_Object vec = SECOND (args);
- EMACS_INT v_len = XFIXNUM (FUNCALL1 (length, vec));
-
- gcc_jit_context_new_global (
- comp.ctxt,
- NULL,
- GCC_JIT_GLOBAL_INTERNAL,
- gcc_jit_context_new_array_type (comp.ctxt,
- NULL,
- comp.lisp_obj_type,
- v_len),
- (char *) SDATA (arg0));
- }
else if (EQ (op, Qreturn))
{
gcc_jit_block_end_with_return (comp.block,