mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-24 12:20:20 +02:00
procedure-properties for RTL functions
* module/system/vm/assembler.scm (link-procprops, link-objects): Arrange to write procedure property links out to a separate section. * libguile/procprop.c (scm_procedure_properties): * libguile/programs.h: * libguile/programs.c (scm_i_rtl_program_properties): * module/system/vm/debug.scm (find-program-properties): Wire up procedure-properties for RTL procedures. Yeah! Fistpumps! :) * module/system/vm/debug.scm (find-program-debug-info): Return #f if the string is "", as it is if we don't have a name. Perhaps elf-symbol-name should return #f in that case... * test-suite/tests/rtl.test: Add some tests.
This commit is contained in:
parent
bf8328ec16
commit
c4c098e355
7 changed files with 179 additions and 8 deletions
|
@ -54,24 +54,24 @@
|
|||
(load-extension (string-append "libguile-" (effective-version))
|
||||
"scm_init_programs")
|
||||
|
||||
;; This procedure is called by programs.c.
|
||||
;; These procedures are called by programs.c.
|
||||
(define (rtl-program-name program)
|
||||
(unless (rtl-program? program)
|
||||
(error "shouldn't get here"))
|
||||
(and=> (find-program-debug-info (rtl-program-code program))
|
||||
program-debug-info-name))
|
||||
|
||||
;; This procedure is called by programs.c.
|
||||
(define (rtl-program-documentation program)
|
||||
(unless (rtl-program? program)
|
||||
(error "shouldn't get here"))
|
||||
(find-program-docstring (rtl-program-code program)))
|
||||
|
||||
;; This procedure is called by programs.c.
|
||||
(define (rtl-program-minimum-arity program)
|
||||
(unless (rtl-program? program)
|
||||
(error "shouldn't get here"))
|
||||
(program-minimum-arity (rtl-program-code program)))
|
||||
(define (rtl-program-properties program)
|
||||
(unless (rtl-program? program)
|
||||
(error "shouldn't get here"))
|
||||
(find-program-properties (rtl-program-code program)))
|
||||
|
||||
(define (make-binding name boxed? index start end)
|
||||
(list name boxed? index start end))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue