remove dupavlue and freevalue

This commit is contained in:
2026-02-25 09:40:58 -06:00
parent c77f1f8639
commit d0bf757d91
16 changed files with 32 additions and 869 deletions

View File

@@ -280,14 +280,6 @@ static inline JS_BOOL JS_IsTrue(JSValue v) { return v == JS_TRUE; }
static inline JS_BOOL JS_IsFalse(JSValue v) { return v == JS_FALSE; }
JS_BOOL JS_IsActor(JSContext *ctx, JSValue val);
/* ============================================================
GC References — no-ops with copying GC
============================================================ */
#define JS_DupValue(ctx, v) (v)
#define JS_FreeValue(ctx, v) ((void)0)
#define JS_DupValueRT(rt, v) (v)
#define JS_FreeValueRT(rt, v) ((void)0)
/* ============================================================
C Function Typedefs
============================================================ */
@@ -1102,19 +1094,16 @@ JS_SetClassProto(js, js_##TYPE##_id, TYPE##_proto); \
// Safe integer property extraction (null → 0)
#define JS_GETINT(JS, TARGET, VALUE, PROP) { \
JSValue __##PROP##__v = JS_GetPropertyStr(JS, VALUE, #PROP); \
TARGET = JS_IsNull(__##PROP##__v) ? 0 : (int)js2number(JS, __##PROP##__v); \
JS_FreeValue(JS, __##PROP##__v); }
TARGET = JS_IsNull(__##PROP##__v) ? 0 : (int)js2number(JS, __##PROP##__v); }
// Common macros for property access
#define JS_GETPROP(JS, TARGET, VALUE, PROP, TYPE) {\
JSValue __##PROP##__v = JS_GetPropertyStr(JS,VALUE,#PROP); \
TARGET = js2##TYPE(JS, __##PROP##__v); \
JS_FreeValue(JS,__##PROP##__v); }\
TARGET = js2##TYPE(JS, __##PROP##__v); }\
#define JS_GETATOM(JS, TARGET, VALUE, ATOM, TYPE) {\
JSValue __##PROP##__v = JS_GetPropertyStr(JS,VALUE,#ATOM); \
TARGET = js2##TYPE(JS, __##PROP##__v); \
JS_FreeValue(JS,__##PROP##__v); }\
TARGET = js2##TYPE(JS, __##PROP##__v); }\
/* ============================================================
Enum Mapping System