Got most of the new memory architecture roughed out.

This commit is contained in:
Simon Brooke 2026-03-25 11:24:33 +00:00
parent 19d6b0df29
commit 604fca3c24
36 changed files with 1118 additions and 0 deletions

View file

@ -0,0 +1,28 @@
/**
* payloads/exception.h
*
* An exception; required three pointers, so use object of size class 3.
*
* (c) 2026 Simon Brooke <simon@journeyman.cc>
* Licensed under GPL version 2.0, or, at your option, any later version.
*/
#ifndef __psse_payloads_exception_h
#define __psse_payloads_exception_h
#include "memory/pointer.h"
/**
* @brief An exception; required three pointers, so use object of size class 3.
*/
struct exception_payload {
/** @brief the exception message. Expected to be a string, but may be anything printable. */
struct pso_pointer message;
/** @brief the stack frame at which the exception was thrown. */
struct pso_pointer stack;
/** @brief the cause; expected to be another exception, or (usually) `nil`. */
struct cons_pointer cause;
};
#endif