1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-10 14:00:21 +02:00
guile/module
Andy Wingo c2a8224a63 Rework VM approach to shuffling unknown numbers of args
* libguile/vm-engine.c (shuffle-down, expand-apply-argument): New
  instructions.
  (tail-call, tail-call-label, return-values): Don't reset the frame.
  The compiler should reset the frame appropriately.
  (tail-call/shuffle, tail-apply): Remove unused instructions.
* libguile/vm.c (vm_builtin_apply_code): Use new shuffle-down and
  expand-apply-argument opcodes.
  (vm_builtin_call_with_values_code): Replace tail-call/shuffle with
  shuffle-down then tail-call.
* libguile/jit.c (compile_shuffle_down, compile_expand_apply_argument):
  Add compiler stubs
  (COMPILE_X8_F12_F12): New definition.
  (compile_tail_call_shuffle, compile_tail_apply): Remove unused
  compilers.
* module/language/cps/compile-bytecode.scm (compile-function): Emit
  reset-frame before tail calls and returns.
* module/system/vm/assembler.scm (system): Remove unbound "emit-return"
  export.
* module/system/vm/disassembler.scm (code-annotation)
  (instruction-has-fallthrough?, define-stack-effect-parser): Adapt for
  opcode changes.
2018-07-20 11:42:30 +02:00
..
ice-9 Use make-struct/simple in psyntax 2018-01-22 08:06:09 +01:00
language Rework VM approach to shuffling unknown numbers of args 2018-07-20 11:42:30 +02:00
oop Add new vtable reserved unboxed field 2017-09-26 20:47:27 +02:00
rnrs Replace "pr" struct fields with "pw" fields 2017-09-23 15:33:02 +02:00
scripts Add (system base optimize) module 2018-01-05 10:19:54 +01:00
srfi Introduce make-struct/simple 2018-01-21 21:03:35 +01:00
sxml Remove duplicate definitions of call/ec' and let/ec'. 2013-04-06 15:40:19 +02:00
system Rework VM approach to shuffling unknown numbers of args 2018-07-20 11:42:30 +02:00
texinfo Remove all deprecated code 2017-05-22 13:36:42 +02:00
web Merge until 2fe9a852fb from stable-2.2 2017-11-29 21:12:01 +01:00
Makefile.am Add (system base optimize) module 2018-01-05 10:19:54 +01:00
rnrs.scm Add R6RS bytevector->string, string->bytevector 2016-06-21 11:29:14 +02:00
statprof.scm Remove all deprecated code 2017-05-22 13:36:42 +02:00
texinfo.scm texinfo: fix @url{@@} parsing 2014-11-09 15:56:33 +00:00