Warning: This is the manual of the legacy Guile 2.2 series. You may want to read the manual of the current stable series instead.
Next: Inlined Atomic Instructions, Previous: Miscellaneous Instructions, Up: Instruction Set [Contents][Index]
The Scheme compiler can recognize the application of standard Scheme procedures. It tries to inline these small operations to avoid the overhead of creating new stack frames. This allows the compiler to optimize better.
Make a vector and write it to dst. The vector will have space for length slots. They will be filled with the value in slot init.
Make a short vector of known size and write it to dst. The vector will have space for length slots, an immediate value. They will be filled with the value in slot init.
Store the length of the vector in src in dst, as an unboxed unsigned 64-bit integer.
Fetch the item at position idx in the vector in src, and store it in dst. The idx value should be an unboxed unsigned 64-bit integer.
Fill dst with the item idx elements into the vector at src. Useful for building data types using vectors.
Store src into the vector dst at index idx. The idx value should be an unboxed unsigned 64-bit integer.
Store src into the vector dst at index idx. Here idx is an immediate value.
Store the vtable of src into dst.
Allocate a new struct with vtable, and place it in dst. The struct will be constructed with space for nfields fields, which should correspond to the field count of the vtable. The idx value should be an unboxed unsigned 64-bit integer.
Fetch the item at slot idx in the struct in src, and store it in dst. The idx value should be an unboxed unsigned 64-bit integer.
Store src into the struct dst at slot idx. The idx value should be an unboxed unsigned 64-bit integer.
Variants of the struct instructions, but in which the nfields or idx fields are immediate values.
Store the vtable of src into dst.
Make a new array with type, fill, and bounds, storing it in dst.
Store the length of the string in src in dst, as an unboxed unsigned 64-bit integer.
Fetch the character at position idx in the string in src, and store it in dst. The idx value should be an unboxed unsigned 64-bit integer.
Store the character src into the string dst at index idx. The idx value should be an unboxed unsigned 64-bit integer.
Cons car and cdr, and store the result in dst.
Place the car of src in dst.
Place the cdr of src in dst.
Set the car of dst to src.
Set the cdr of dst to src.
Note that caddr
and friends compile to a series of car
and cdr
instructions.
Convert the u64
value in src to a Scheme character, and
place it in dst.
Convert the Scheme character in src to an integer, and place it in
dst as an unboxed u64
value.
Next: Inlined Atomic Instructions, Previous: Miscellaneous Instructions, Up: Instruction Set [Contents][Index]