UPdate.
WrenCI / mac (push) Waiting to run
WrenCI / windows (push) Waiting to run
WrenCI / linux (push) Failing after 55s

This commit is contained in:
2026-01-26 05:12:14 +01:00
parent a59dbe1d55
commit fe2f087d9f
143 changed files with 13333 additions and 15112 deletions
+1
View File
@@ -1215,6 +1215,7 @@ static WrenInterpretResult runInterpreter(WrenVM* vm, register ObjFiber* fiber)
CASE_CODE(RETURN):
{
Value result = POP();
WREN_PROFILE_EXIT(fiber);
fiber->numFrames--;
// Close any upvalues still in scope.
+17
View File
@@ -6,6 +6,22 @@
#include "wren_value.h"
#include "wren_utils.h"
#ifdef WREN_PROFILE_ENABLED
struct ProfileEntry;
struct ProfileFrame;
struct ProfileState;
extern struct ProfileState* g_profile;
void wrenProfileEnter(WrenVM* vm, ObjFiber* fiber, ObjClosure* closure);
void wrenProfileExit(ObjFiber* fiber);
#define WREN_PROFILE_ENTER(vm, fiber, closure) \
do { if (g_profile) wrenProfileEnter(vm, fiber, closure); } while(0)
#define WREN_PROFILE_EXIT(fiber) \
do { if (g_profile) wrenProfileExit(fiber); } while(0)
#else
#define WREN_PROFILE_ENTER(vm, fiber, closure) ((void)0)
#define WREN_PROFILE_EXIT(fiber) ((void)0)
#endif
// The maximum number of temporary objects that can be made visible to the GC
// at one time.
#define WREN_MAX_TEMP_ROOTS 8
@@ -193,6 +209,7 @@ static inline void wrenCallFunction(WrenVM* vm, ObjFiber* fiber,
wrenEnsureStack(vm, fiber, needed);
wrenAppendCallFrame(vm, fiber, closure, fiber->stackTop - numArgs);
WREN_PROFILE_ENTER(vm, fiber, closure);
}
// Marks [obj] as a GC root so that it doesn't get collected.