1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-11 06:20:23 +02:00
guile/module/language/tree-il
Andy Wingo 557acdbbba Instruction explosion for struct-ref, struct-set!
* module/language/cps/effects-analysis.scm (&memory-kind-mask): Add
  &bitmask, for the bitmask in vtables.
  (annotation->memory-kind): Add 'bitmask case.
* module/language/tree-il/compile-cps.scm (ensure-struct-index-in-range):
  (prepare-struct-scm-access): New helpers.
  (struct-ref/immediate, struct-set!/immediate): New exploded lowering
  routines.
  (struct-ref, struct-set!): New lowering routines that just do a call.
  (canonicalize): Remove struct-ref hack; lowering procedures will
  handle it.
* module/language/tree-il/cps-primitives.scm (bytevector-length): Define
  struct-set! as returning a value.
2018-01-19 21:57:03 +01:00
..
analyze.scm Add -Wmacro-use-before-definition 2016-06-25 18:08:28 +02:00
canonicalize.scm Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
compile-cps.scm Instruction explosion for struct-ref, struct-set! 2018-01-19 21:57:03 +01:00
cps-primitives.scm Instruction explosion for struct-ref, struct-set! 2018-01-19 21:57:03 +01:00
debug.scm <prompt> body and handler are lambdas; add escape-only? field 2013-07-06 20:27:21 +09:00
effects.scm with-dynamic-state compiler and VM support 2016-12-05 22:57:29 +01:00
fix-letrec.scm psyntax: Generate identifiers in a deterministic fashion. 2017-03-07 20:48:40 +01:00
optimize.scm Disable resolve-primitives pass below -O2 2018-01-05 10:40:03 +01:00
peval.scm error, scm-error primcalls expand to `throw' 2017-11-05 15:00:16 +01:00
primitives.scm Improve compilation of make-vector without init 2018-01-05 15:18:16 +01:00
spec.scm Rename CPS2 to CPS 2015-07-22 17:19:04 +02:00