mirror of
https://github.com/hedge-dev/XenonRecomp.git
synced 2025-09-13 14:56:39 +00:00
Compare commits
2 Commits
c3934c624f
...
c017eb630a
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c017eb630a | ||
![]() |
82b4cd3bb7 |
@@ -378,8 +378,9 @@ bool Recompiler::Recompile(
|
|||||||
else if (address == config.setJmpAddress)
|
else if (address == config.setJmpAddress)
|
||||||
{
|
{
|
||||||
println("\t{} = ctx;", env());
|
println("\t{} = ctx;", env());
|
||||||
println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", r(3), r(3));
|
println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", temp(), r(3));
|
||||||
println("\tif ({}.s64 != 0) ctx = {};", r(3), env());
|
println("\tif ({}.s64 != 0) ctx = {};", temp(), env());
|
||||||
|
println("\t{} = {};", r(3), temp());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@@ -123,21 +123,18 @@ struct PPCFuncMapping
|
|||||||
|
|
||||||
extern PPCFuncMapping PPCFuncMappings[];
|
extern PPCFuncMapping PPCFuncMappings[];
|
||||||
|
|
||||||
struct PPCRegister
|
union PPCRegister
|
||||||
{
|
{
|
||||||
union
|
int8_t s8;
|
||||||
{
|
uint8_t u8;
|
||||||
int8_t s8;
|
int16_t s16;
|
||||||
uint8_t u8;
|
uint16_t u16;
|
||||||
int16_t s16;
|
int32_t s32;
|
||||||
uint16_t u16;
|
uint32_t u32;
|
||||||
int32_t s32;
|
int64_t s64;
|
||||||
uint32_t u32;
|
uint64_t u64;
|
||||||
int64_t s64;
|
float f32;
|
||||||
uint64_t u64;
|
double f64;
|
||||||
float f32;
|
|
||||||
double f64;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PPCXERRegister
|
struct PPCXERRegister
|
||||||
@@ -194,21 +191,18 @@ struct PPCCRRegister
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct alignas(0x10) PPCVRegister
|
union alignas(0x10) PPCVRegister
|
||||||
{
|
{
|
||||||
union
|
int8_t s8[16];
|
||||||
{
|
uint8_t u8[16];
|
||||||
int8_t s8[16];
|
int16_t s16[8];
|
||||||
uint8_t u8[16];
|
uint16_t u16[8];
|
||||||
int16_t s16[8];
|
int32_t s32[4];
|
||||||
uint16_t u16[8];
|
uint32_t u32[4];
|
||||||
int32_t s32[4];
|
int64_t s64[2];
|
||||||
uint32_t u32[4];
|
uint64_t u64[2];
|
||||||
int64_t s64[2];
|
float f32[4];
|
||||||
uint64_t u64[2];
|
double f64[2];
|
||||||
float f32[4];
|
|
||||||
double f64[2];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PPC_ROUND_NEAREST 0x00
|
#define PPC_ROUND_NEAREST 0x00
|
||||||
@@ -270,7 +264,7 @@ struct PPCFPSCRRegister
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct PPCContext
|
struct alignas(0x40) PPCContext
|
||||||
{
|
{
|
||||||
PPCRegister r3;
|
PPCRegister r3;
|
||||||
#ifndef PPC_CONFIG_NON_ARGUMENT_AS_LOCAL
|
#ifndef PPC_CONFIG_NON_ARGUMENT_AS_LOCAL
|
||||||
|
Reference in New Issue
Block a user