any architecture (using miniinterpreter)
-------------------------------------------------------------------------- */
-StgThreadReturnCode StgRun(StgFunPtr f, StgRegTable *basereg STG_UNUSED)
+StgRegTable * StgRun(StgFunPtr f, StgRegTable *basereg STG_UNUSED)
{
while (f) {
IF_DEBUG(interpreter,
);
f = (StgFunPtr) (f)();
}
- return (StgThreadReturnCode)R1.i;
+ return (StgRegTable *)R1.p;
}
StgFunPtr StgReturn(void)
#define STG_GLOBAL ".global "
#endif
-StgThreadReturnCode
+StgRegTable *
StgRun(StgFunPtr f, StgRegTable *basereg) {
unsigned char space[ RESERVED_C_STACK_BYTES + 4*sizeof(void *) ];
- StgThreadReturnCode r;
+ StgRegTable * r;
__asm__ volatile (
/*
#ifdef x86_64_HOST_ARCH
-extern StgThreadReturnCode StgRun(StgFunPtr f, StgRegTable *basereg);
+extern StgRegTable * StgRun(StgFunPtr f, StgRegTable *basereg);
-static void StgRunIsImplementedInAssembler(void)
+void StgRunIsImplementedInAssembler(void);
+void StgRunIsImplementedInAssembler(void)
{
__asm__ volatile (
/*
#ifdef sparc_HOST_ARCH
-StgThreadReturnCode
+StgRegTable *
StgRun(StgFunPtr f, StgRegTable *basereg) {
unsigned char space[RESERVED_C_STACK_BYTES];
__asm__ volatile ("ld %1,%0"
: "=r" (i7) : "m" (((void **)(space))[100]));
#endif
- return (StgThreadReturnCode)R1.i;
+ return (StgRegTable *)R1.i;
}
#endif
#ifdef alpha_HOST_ARCH
-StgThreadReturnCode
+StgRegTable *
StgRun(StgFunPtr f, StgRegTable *basereg)
{
register long real_ra __asm__("$26"); volatile long save_ra;
register StgFunPtr real_pv __asm__("$27");
- StgThreadReturnCode ret;
+ StgRegTable * ret;
save_ra = real_ra;
save_gp = real_gp;
#ifdef hppa1_1_HOST_ARCH
-StgThreadReturnCode
+StgRegTable *
StgRun(StgFunPtr f, StgRegTable *basereg)
{
StgChar space[RESERVED_C_STACK_BYTES+16*sizeof(long)+10*sizeof(double)];
- StgThreadReturnCode ret;
+ StgRegTable * ret;
__asm__ volatile ("ldo %0(%%r30),%%r19\n"
"\tstw %%r3, 0(0,%%r19)\n"
#ifdef powerpc_HOST_ARCH
-extern StgThreadReturnCode StgRun(StgFunPtr f, StgRegTable *basereg);
+extern StgRegTable * StgRun(StgFunPtr f, StgRegTable *basereg);
#ifdef darwin_HOST_OS
static void StgRunIsImplementedInAssembler(void)
#ifdef powerpc64_HOST_ARCH
#ifdef linux_HOST_OS
-extern StgThreadReturnCode StgRun(StgFunPtr f, StgRegTable *basereg);
+extern StgRegTable * StgRun(StgFunPtr f, StgRegTable *basereg);
static void StgRunIsImplementedInAssembler(void)
{