mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-07-16 06:21:25 -07:00
extend eval space size to allow u128 key for hash store & related cache keys, + some extra metadata determined by user (user-defined kind & extra u64)
This commit is contained in:
+28
-2
@@ -78,8 +78,6 @@ struct E_OpInfo
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Evaluation Spaces
|
||||
|
||||
typedef U128 E_Space;
|
||||
//
|
||||
// NOTE(rjf): Evaluations occur within the context of a "space". Each "space"
|
||||
// refers to a different offset/address-space, but it's a bit looser of a
|
||||
@@ -91,6 +89,29 @@ typedef U128 E_Space;
|
||||
// value for understanding a key *into* a space, e.g. 1+2 -> 3, in a null
|
||||
// space, or &foo, in the space of PID: 1234.
|
||||
|
||||
typedef U64 E_SpaceKind;
|
||||
enum
|
||||
{
|
||||
E_SpaceKind_Null,
|
||||
E_SpaceKind_FileSystem,
|
||||
E_SpaceKind_FirstUserDefined,
|
||||
};
|
||||
|
||||
typedef struct E_Space E_Space;
|
||||
struct E_Space
|
||||
{
|
||||
E_SpaceKind kind;
|
||||
union
|
||||
{
|
||||
U64 u64s[3];
|
||||
struct
|
||||
{
|
||||
U64 u64_0;
|
||||
U128 u128;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Evaluation Modes
|
||||
|
||||
@@ -134,4 +155,9 @@ internal void e_msg(Arena *arena, E_MsgList *msgs, E_MsgKind kind, void *locatio
|
||||
internal void e_msgf(Arena *arena, E_MsgList *msgs, E_MsgKind kind, void *location, char *fmt, ...);
|
||||
internal void e_msg_list_concat_in_place(E_MsgList *dst, E_MsgList *to_push);
|
||||
|
||||
////////////////////////////////
|
||||
//~ rjf: Space Functions
|
||||
|
||||
internal E_Space e_space_make(E_SpaceKind kind);
|
||||
|
||||
#endif // EVAL_CORE_H
|
||||
|
||||
Reference in New Issue
Block a user