use synchronous reads for call stack computation, but extend artifact cache with the ability to say that a non-retryable failure occurred, so that we can fall back to stale call stacks

This commit is contained in:
Ryan Fleury committed 2026-06-23 20:00:57 -06:00
1 parent 3d6851c57a
commit 1901e67f39
19 files changed
+122 -96

No files matched your search

+2 -2
View File
@@ -146,7 +146,7 @@ struct DASM_Artifact
};
internal AC_Artifact
dasm_artifact_create(String8 key, B32 *cancel_signal, B32 *retry_out, U64 *gen_out)
dasm_artifact_create(String8 key, B32 *cancel_signal, AC_Status *status_out, U64 *gen_out)
{
DASM_Artifact *artifact = 0;
if(lane_idx() == 0)
@@ -338,7 +338,7 @@ dasm_artifact_create(String8 key, B32 *cancel_signal, B32 *retry_out, U64 *gen_o
//- rjf: if stale, retry
if(stale)
{
retry_out[0] = 1;
status_out[0] = AC_Status_NeedRetry;
}
//- rjf: mark dependency on data hash
+1 -1
View File
@@ -201,7 +201,7 @@ internal U64 dasm_line_array_code_off_from_idx(DASM_LineArray *array, U64 idx);
////////////////////////////////
//~ rjf: Artifact Cache Hooks / Lookups
internal AC_Artifact dasm_artifact_create(String8 key, B32 *cancel_signal, B32 *retry_out, U64 *gen_out);
internal AC_Artifact dasm_artifact_create(String8 key, B32 *cancel_signal, AC_Status *status_out, U64 *gen_out);
internal void dasm_artifact_destroy(AC_Artifact artifact);
internal DASM_Info dasm_info_from_hash_params(Access *access, U128 hash, DASM_Params *params);
internal DASM_Info dasm_info_from_key_params(Access *access, C_Key key, DASM_Params *params, U128 *hash_out);