diff options
author | Andy Wingo <wingo@pobox.com> | 2013-05-17 22:10:16 +0200 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2013-06-09 23:59:19 +0200 |
commit | c4c098e355bd2edcd3bc66eb7041c5f9cdeefef0 (patch) | |
tree | c1a55d1fc2dbe44b4201e3eaa076561e20d6fa05 /module/system/vm/program.scm | |
parent | bf8328ec16cbe76b7af9703bb41e964865034561 (diff) | |
download | guile-c4c098e355bd2edcd3bc66eb7041c5f9cdeefef0.tar.gz |
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.
Diffstat (limited to 'module/system/vm/program.scm')
-rw-r--r-- | module/system/vm/program.scm | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/module/system/vm/program.scm b/module/system/vm/program.scm index d719e954c..267e373c5 100644 --- a/module/system/vm/program.scm +++ b/module/system/vm/program.scm @@ -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)) |