1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00
guile/module
Andy Wingo 83023160b1 Simplify module variable lookup slow-path
* libguile/intrinsics.h:
* libguile/intrinsics.c (lookup_bound_public, lookup_bound_private): Two
new intrinsics.
(scm_bootstrap_intrinsics): Wire them up.
* libguile/jit.c (compile_call_scm_from_scmn_scmn):
(compile_call_scm_from_scmn_scmn_slow):
(COMPILE_X8_S24__N32__N32__C32): Add JIT support for new instruction
kind.
* libguile/vm-engine.c (call-scm<-scmn-scmn): New instruction, takes
arguments as non-immediate offsets, to avoid needless loads and register
pressure.
* module/language/cps/effects-analysis.scm: Add cases for new
primcalls.
* module/language/cps/compile-bytecode.scm (compile-function): Add new
primcalls.
* module/language/cps/reify-primitives.scm (cached-module-box): If the
variable is bound, call lookup-bound-public / lookup-bound-private as
appropriate instead of separately resolving the module, name, and doing
the bound check.
* module/language/tree-il/compile-bytecode.scm (emit-cached-module-box):
Use new instructions.
* module/system/vm/assembler.scm (define-scm<-scmn-scmn-intrinsic):
(lookup-bound-public, lookup-bound-private): Add assembler support.
2021-04-26 09:48:52 +02:00
..
ice-9 Fix suspendable implementation of 'get-bytevector-some!' 2021-03-12 22:11:58 +01:00
language Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
oop goops: Preserve all slot options in redefinable classes. 2021-03-19 21:45:53 +01:00
rnrs Write a proper vector-map and vector-for-each for (rnrs base) 2021-03-09 21:10:04 +01:00
scheme (scheme base) member: return #f, not (), for no match 2021-01-17 13:25:40 -06:00
scripts Bump copyright years for user-visible copyright messages 2021-01-07 13:00:46 +01:00
srfi Fix hash-table-merge! bug. 2021-03-12 22:31:00 +01:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Simplify module variable lookup slow-path 2021-04-26 09:48:52 +02:00
texinfo texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00
web web: 'tls-wrap' returns an unbuffered custom port. 2021-03-19 14:13:31 +01:00
Makefile.am New pass: elide-arity-checks 2021-04-21 22:41:12 +02:00
rnrs.scm Define top-level bindings for aux syntax: else, =>, _, ... 2019-09-12 21:50:51 +02:00
statprof.scm Statprof reports primitive names 2020-06-04 11:46:34 +02:00
texinfo.scm texinfo: Add basic support for @w{...}. 2020-06-18 00:30:30 +02:00