Fixing tests.
This commit is contained in:
parent
fc4727c339
commit
bac3f8c3bd
|
@ -37,10 +37,10 @@ X64CodeCache::~X64CodeCache() {
|
|||
RtlDeleteGrowableFunctionTable(unwind_table_handle_);
|
||||
}
|
||||
if (indirection_table_base_) {
|
||||
VirtualFree(indirection_table_base_, kIndirectionTableSize, MEM_RELEASE);
|
||||
VirtualFree(indirection_table_base_, 0, MEM_RELEASE);
|
||||
}
|
||||
if (generated_code_base_) {
|
||||
VirtualFree(generated_code_base_, kIndirectionTableSize, MEM_RELEASE);
|
||||
VirtualFree(generated_code_base_, 0, MEM_RELEASE);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -37,3 +37,14 @@ Disassembly of section .text:
|
|||
10004c: 54 a5 f8 7e rlwinm r5,r5,31,1,31
|
||||
100050: 7c a6 00 34 cntlzw r6,r5
|
||||
100054: 4e 80 00 20 blr
|
||||
|
||||
0000000000100058 <test_cntlzw_5>:
|
||||
100058: 7c a6 00 34 cntlzw r6,r5
|
||||
10005c: 4e 80 00 20 blr
|
||||
|
||||
0000000000100060 <test_cntlzw_5_constant>:
|
||||
100060: 38 a0 ff ff li r5,-1
|
||||
100064: 78 a5 07 c6 rldicr r5,r5,32,31
|
||||
100068: 38 a5 00 01 addi r5,r5,1
|
||||
10006c: 7c a6 00 34 cntlzw r6,r5
|
||||
100070: 4e 80 00 20 blr
|
||||
|
|
|
@ -6,3 +6,5 @@
|
|||
0000000000000030 t test_cntlzw_3_constant
|
||||
0000000000000040 t test_cntlzw_4
|
||||
0000000000000048 t test_cntlzw_4_constant
|
||||
0000000000000058 t test_cntlzw_5
|
||||
0000000000000060 t test_cntlzw_5_constant
|
||||
|
|
|
@ -35,7 +35,7 @@ using xe::cpu::Runtime;
|
|||
|
||||
typedef std::vector<std::pair<std::string, std::string>> AnnotationList;
|
||||
|
||||
const uint32_t START_ADDRESS = 0x100000;
|
||||
const uint32_t START_ADDRESS = 0x80000000;
|
||||
|
||||
struct TestCase {
|
||||
TestCase(uint32_t address, std::string& name)
|
||||
|
@ -194,6 +194,9 @@ class TestRunner {
|
|||
}
|
||||
processor->AddModule(std::move(module));
|
||||
|
||||
processor->backend()->CommitExecutableRange(START_ADDRESS,
|
||||
START_ADDRESS + 1024 * 1024);
|
||||
|
||||
// Simulate a thread.
|
||||
uint32_t stack_size = 64 * 1024;
|
||||
uint32_t stack_address = START_ADDRESS - stack_size;
|
||||
|
|
|
@ -47,12 +47,13 @@ class TestFunction {
|
|||
for (auto& processor : processors) {
|
||||
auto module = std::make_unique<xe::cpu::TestModule>(
|
||||
processor.get(), "Test",
|
||||
[](uint64_t address) { return address == 0x1000; },
|
||||
[](uint64_t address) { return address == 0x80000000; },
|
||||
[generator](hir::HIRBuilder& b) {
|
||||
generator(b);
|
||||
return true;
|
||||
});
|
||||
processor->AddModule(std::move(module));
|
||||
processor->backend()->CommitExecutableRange(0x80000000, 0x80010000);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -65,7 +66,7 @@ class TestFunction {
|
|||
std::function<void(PPCContext*)> post_call) {
|
||||
for (auto& processor : processors) {
|
||||
xe::cpu::Function* fn;
|
||||
processor->ResolveFunction(0x1000, &fn);
|
||||
processor->ResolveFunction(0x80000000, &fn);
|
||||
|
||||
uint32_t stack_size = 64 * 1024;
|
||||
uint32_t stack_address = memory_size - stack_size;
|
||||
|
|
2
xb.bat
2
xb.bat
|
@ -299,7 +299,7 @@ FOR %%G in (*.s) DO (
|
|||
REM Eat the first 4 lines to kill the file path that'll differ across machines.
|
||||
MORE +4 %TEST_BIN_WIN%\!SRC_NAME!.dis.tmp > %TEST_BIN_WIN%\!SRC_NAME!.dis
|
||||
DEL %TEST_BIN_WIN%\!SRC_NAME!.dis.tmp
|
||||
%PPC_LD% -A powerpc:common64 -melf64ppc -EB -nostdlib --oformat binary -Ttext 0x100000 -e 0x100000 -o %TEST_BIN%/!SRC_NAME!.bin !OBJ_FILE!
|
||||
%PPC_LD% -A powerpc:common64 -melf64ppc -EB -nostdlib --oformat binary -Ttext 0x80000000 -e 0x80000000 -o %TEST_BIN%/!SRC_NAME!.bin !OBJ_FILE!
|
||||
IF !ERRORLEVEL! NEQ 0 (
|
||||
SET ANY_ERRORS=1
|
||||
)
|
||||
|
|
Loading…
Reference in New Issue