Add opcodes for `struct?', `struct-vtable', and `make-struct'.
authorLudovic Courtès <ludo@gnu.org>
Fri, 11 Dec 2009 11:44:29 +0000 (12:44 +0100)
committerLudovic Courtès <ludo@gnu.org>
Fri, 11 Dec 2009 12:03:45 +0000 (13:03 +0100)
commitbd91ecce14c8df1022d4f7225888906541556570
tree577a83b49d4ddd46556faa5060be16c88a71350e
parent6c20a0b34b3c79c999213320eabf3d46eddd1c6e
Add opcodes for `struct?', `struct-vtable', and `make-struct'.

* libguile/vm-engine.c (VM_NAME)[vm_error_not_a_struct]: New label.

* libguile/vm-i-scheme.c (VM_VALIDATE_STRUCT): New macro.
  (struct_p, struct_vtable, make_struct): New instructions.

* module/language/tree-il/compile-glil.scm (*primcall-ops*): Add
  `struct?', `struct-vtable', and `make-struct'.

* module/language/tree-il/primitives.scm (*interesting-primitive-names*,
  *effect-free-primitives*): Likewise.
libguile/vm-engine.c
libguile/vm-i-scheme.c
module/language/tree-il/compile-glil.scm
module/language/tree-il/primitives.scm