Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Asmjit updated

  • Loading branch information...
commit a71053ae15d0cd3eb8f363fb63cc3cd9cad590c1 1 parent dab3d6c
@Nekotekina Nekotekina authored
2  asmjit
@@ -1 +1 @@
-Subproject commit a66efd54609aab7dd98e34c069937f34aa7c8f95
+Subproject commit 3363e4138b003be36dfb63cf8c63cf360f04276f
View
34 asmjitsrc/asmjit.vcxproj
@@ -23,31 +23,55 @@
<ClCompile Include="..\asmjit\src\asmjit\base\codegen.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\compiler.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\constpool.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\containers.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\context.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\cpuinfo.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\cputicks.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\error.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\globals.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\intutil.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\logger.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\operand.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\base\podvector.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\runtime.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\string.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\vmem.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\zone.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\contrib\winremoteruntime.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86assembler.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86compiler.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86context.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86cpuinfo.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86func.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86inst.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86operand.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86regs.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86util.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86operand_regs.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86scheduler.cpp" />
</ItemGroup>
<ItemGroup>
+ <ClInclude Include="..\asmjit\src\asmjit\base\assembler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\codegen.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\compiler.h" />
<ClInclude Include="..\asmjit\src\asmjit\base\constpool.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\containers.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\context_p.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\cpuinfo.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\cputicks.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\error.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\globals.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\intutil.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\lock.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\logger.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\operand.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\runtime.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\string.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\vectypes.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\vmem.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\zone.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86assembler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86compiler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86context_p.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86cpuinfo.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86inst.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86operand.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86scheduler_p.h" />
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectGuid>{AC40FF01-426E-4838-A317-66354CEFAE88}</ProjectGuid>
View
46 asmjitsrc/asmjit.vcxproj.filters
@@ -1,34 +1,58 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86assembler.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86compiler.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86context.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86cpuinfo.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86func.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\contrib\winremoteruntime.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\assembler.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\codegen.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\compiler.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\constpool.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\containers.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\context.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\cpuinfo.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\cputicks.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\error.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\globals.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\intutil.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\logger.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\base\podvector.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\base\operand.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\runtime.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\string.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\vmem.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\base\zone.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\base\constpool.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\base\operand.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86assembler.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86compiler.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86context.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86cpuinfo.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86inst.cpp" />
<ClCompile Include="..\asmjit\src\asmjit\x86\x86operand.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86regs.cpp" />
- <ClCompile Include="..\asmjit\src\asmjit\x86\x86util.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86operand_regs.cpp" />
+ <ClCompile Include="..\asmjit\src\asmjit\x86\x86scheduler.cpp" />
</ItemGroup>
<ItemGroup>
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86assembler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86compiler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86context_p.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86cpuinfo.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86inst.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86operand.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\x86\x86scheduler_p.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\assembler.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\codegen.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\compiler.h" />
<ClInclude Include="..\asmjit\src\asmjit\base\constpool.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\containers.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\context_p.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\cpuinfo.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\cputicks.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\error.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\globals.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\intutil.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\lock.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\logger.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\operand.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\runtime.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\string.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\vectypes.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\vmem.h" />
+ <ClInclude Include="..\asmjit\src\asmjit\base\zone.h" />
</ItemGroup>
</Project>
View
28 rpcs3/Emu/Cell/SPURecompiler.h
@@ -148,7 +148,7 @@ class SPURecompilerCore : public CPUDecoder
if (#a1[0] == 'r') XmmInvalidate(a1); \
if (#a2[0] == 'r') XmmInvalidate(a2); \
if (#a3[0] == 'r') XmmInvalidate(a3); \
- X86X64CallNode* call##a0 = c.call(imm_ptr(reinterpret_cast<void*>(&opwr_##a0::opcode)), kFuncConvHost, FuncBuilder4<FnVoid, u32, u32, u32, u32>()); \
+ X86CallNode* call##a0 = c.call(imm_ptr(reinterpret_cast<void*>(&opwr_##a0::opcode)), kFuncConvHost, FuncBuilder4<void, u32, u32, u32, u32>()); \
call##a0->setArg(0, imm_u(a0)); \
call##a0->setArg(1, imm_u(a1)); \
call##a0->setArg(2, imm_u(a2)); \
@@ -163,24 +163,24 @@ class SPURecompiler : public SPUOpcodes
SPURecompilerCore& rec;
public:
- Compiler* compiler;
+ X86Compiler* compiler;
bool do_finalize;
// input:
- GpVar* cpu_var;
- GpVar* ls_var;
- GpVar* imm_var;
- GpVar* g_imm_var;
+ X86GpVar* cpu_var;
+ X86GpVar* ls_var;
+ X86GpVar* imm_var;
+ X86GpVar* g_imm_var;
// output:
- GpVar* pos_var;
+ X86GpVar* pos_var;
// temporary:
- GpVar* addr;
- GpVar* qw0;
- GpVar* qw1;
- GpVar* qw2;
+ X86GpVar* addr;
+ X86GpVar* qw0;
+ X86GpVar* qw1;
+ X86GpVar* qw2;
struct XmmLink
{
- XmmVar* data;
+ X86XmmVar* data;
s8 reg;
bool taken;
mutable bool got;
@@ -443,7 +443,7 @@ class SPURecompiler : public SPUOpcodes
}
};
c.mov(cpu_qword(PC), (u32)CPU.PC);
- X86X64CallNode* call = c.call(imm_ptr(reinterpret_cast<void*>(&STOP_wrapper::STOP)), kFuncConvHost, FuncBuilder1<FnVoid, u32>());
+ X86CallNode* call = c.call(imm_ptr(reinterpret_cast<void*>(&STOP_wrapper::STOP)), kFuncConvHost, FuncBuilder1<void, u32>());
call->setArg(0, imm_u(code));
c.mov(*pos_var, (CPU.PC >> 2) + 1);
do_finalize = true;
@@ -1114,7 +1114,7 @@ class SPURecompiler : public SPUOpcodes
/*XmmInvalidate(rt);
- GpVar v(c, kVarTypeUInt32);
+ X86GpVar v(c, kVarTypeUInt32);
c.mov(v, cpu_dword(GPR[rt]._u32[3]));
switch (ra)
{
View
22 rpcs3/Emu/Cell/SPURecompilerCore.cpp
@@ -42,7 +42,7 @@ void SPURecompilerCore::Compile(u16 pos)
StringLogger stringLogger;
stringLogger.setOption(kLoggerOptionBinaryForm, true);
- Compiler compiler(&runtime);
+ X86Compiler compiler(&runtime);
m_enc->compiler = &compiler;
compiler.setLogger(&stringLogger);
@@ -51,40 +51,40 @@ void SPURecompilerCore::Compile(u16 pos)
u32 excess = 0;
entry[start].count = 0;
- GpVar cpu_var(compiler, kVarTypeIntPtr, "cpu");
+ X86GpVar cpu_var(compiler, kVarTypeIntPtr, "cpu");
compiler.setArg(0, cpu_var);
compiler.alloc(cpu_var);
m_enc->cpu_var = &cpu_var;
- GpVar ls_var(compiler, kVarTypeIntPtr, "ls");
+ X86GpVar ls_var(compiler, kVarTypeIntPtr, "ls");
compiler.setArg(1, ls_var);
compiler.alloc(ls_var);
m_enc->ls_var = &ls_var;
- GpVar imm_var(compiler, kVarTypeIntPtr, "imm");
+ X86GpVar imm_var(compiler, kVarTypeIntPtr, "imm");
compiler.setArg(2, imm_var);
compiler.alloc(imm_var);
m_enc->imm_var = &imm_var;
- GpVar g_imm_var(compiler, kVarTypeIntPtr, "g_imm");
+ X86GpVar g_imm_var(compiler, kVarTypeIntPtr, "g_imm");
compiler.setArg(3, g_imm_var);
compiler.alloc(g_imm_var);
m_enc->g_imm_var = &g_imm_var;
- GpVar pos_var(compiler, kVarTypeUInt32, "pos");
+ X86GpVar pos_var(compiler, kVarTypeUInt32, "pos");
m_enc->pos_var = &pos_var;
- GpVar addr_var(compiler, kVarTypeUInt32, "addr");
+ X86GpVar addr_var(compiler, kVarTypeUInt32, "addr");
m_enc->addr = &addr_var;
- GpVar qw0_var(compiler, kVarTypeUInt64, "qw0");
+ X86GpVar qw0_var(compiler, kVarTypeUInt64, "qw0");
m_enc->qw0 = &qw0_var;
- GpVar qw1_var(compiler, kVarTypeUInt64, "qw1");
+ X86GpVar qw1_var(compiler, kVarTypeUInt64, "qw1");
m_enc->qw1 = &qw1_var;
- GpVar qw2_var(compiler, kVarTypeUInt64, "qw2");
+ X86GpVar qw2_var(compiler, kVarTypeUInt64, "qw2");
m_enc->qw2 = &qw2_var;
for (u32 i = 0; i < 16; i++)
{
- m_enc->xmm_var[i].data = new XmmVar(compiler, kVarTypeXmm, fmt::Format("reg_%d", i).c_str());
+ m_enc->xmm_var[i].data = new X86XmmVar(compiler, kX86VarTypeXmm, fmt::Format("reg_%d", i).c_str());
}
compiler.xor_(pos_var, pos_var);
View
2  rpcs3/Emu/Cell/SPUThread.h
@@ -362,7 +362,7 @@ class SPUThread : public PPCThread
void Init()
{
- m_index = 0;
+ m_indval = 0;
}
__forceinline bool Pop(u32& res)
View
10 rpcs3/Emu/SysCalls/lv2/sys_timer.cpp
@@ -103,31 +103,31 @@ s32 sys_timer_disconnect_event_queue(u32 timer_id)
s32 sys_timer_sleep(u32 sleep_time)
{
- sys_timer.Warning("sys_timer_sleep(sleep_time=%d)", sleep_time);
+ sys_timer.Log("sys_timer_sleep(sleep_time=%d)", sleep_time);
for (u32 i = 0; i < sleep_time; i++)
{
+ std::this_thread::sleep_for(std::chrono::seconds(1));
if (Emu.IsStopped())
{
sys_timer.Warning("sys_timer_sleep(sleep_time=%d)", sleep_time);
return CELL_OK;
}
- std::this_thread::sleep_for(std::chrono::seconds(1));
}
return CELL_OK;
}
s32 sys_timer_usleep(u64 sleep_time)
{
- sys_timer.Warning("sys_timer_usleep(sleep_time=%lld)", sleep_time);
+ sys_timer.Log("sys_timer_usleep(sleep_time=%lld)", sleep_time);
if (sleep_time > 0xFFFFFFFFFFFF) sleep_time = 0xFFFFFFFFFFFF; //2^48-1
- for (u64 i = 0; i < sleep_time; i += 1000000)
+ for (u32 i = 0; i < sleep_time / 1000000; i++)
{
+ std::this_thread::sleep_for(std::chrono::seconds(1));
if (Emu.IsStopped())
{
sys_timer.Warning("sys_timer_usleep(sleep_time=%lld)", sleep_time);
return CELL_OK;
}
- std::this_thread::sleep_for(std::chrono::seconds(1));
}
std::this_thread::sleep_for(std::chrono::microseconds(sleep_time % 1000000));
return CELL_OK;
Please sign in to comment.
Something went wrong with that request. Please try again.