PNaCl uses the ILP32 data model, even on x86-64 (cf. the x32 ABI). Reactor instead always uses LP64 on 64-bit. The main technical difference is the ILP32 on x86-64 used the address- size override prefix (0x67) for every instruction that accesses memory, which makes it look at only the lower 32-bit part of base and index registers. Note this only works in a sandbox-like environment, where memory is allocated in the lower 4 GiB range, such as PNaCl. Bug: b/179832693 Change-Id: I068ddd12b1827e3babc49a06ddf26b932d2082c5 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/55468 Kokoro-Result: kokoro <noreply+kokoro@google.com> Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| BUILD.gn | Loading commit data... | |
| CMakeLists.txt | Loading commit data... | |
| CPUID.cpp | Loading commit data... | |
| CPUID.hpp | Loading commit data... | |
| Coroutine.hpp | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.hpp | Loading commit data... | |
| EmulatedIntrinsics.cpp | Loading commit data... | |
| EmulatedIntrinsics.hpp | Loading commit data... | |
| ExecutableMemory.cpp | Loading commit data... | |
| ExecutableMemory.hpp | Loading commit data... | |
| LLVMAsm.cpp | Loading commit data... | |
| LLVMAsm.hpp | Loading commit data... | |
| LLVMJIT.cpp | Loading commit data... | |
| LLVMReactor.cpp | Loading commit data... | |
| LLVMReactor.hpp | Loading commit data... | |
| LLVMReactorDebugInfo.cpp | Loading commit data... | |
| LLVMReactorDebugInfo.hpp | Loading commit data... | |
| Nucleus.hpp | Loading commit data... | |
| OptimalIntrinsics.cpp | Loading commit data... | |
| OptimalIntrinsics.hpp | Loading commit data... | |
| Optimizer.cpp | Loading commit data... | |
| Optimizer.hpp | Loading commit data... | |
| Pragma.cpp | Loading commit data... | |
| Pragma.hpp | Loading commit data... | |
| PragmaInternals.hpp | Loading commit data... | |
| Print.hpp | Loading commit data... | |
| Reactor.cpp | Loading commit data... | |
| Reactor.hpp | Loading commit data... | |
| ReactorDebugInfo.cpp | Loading commit data... | |
| ReactorDebugInfo.hpp | Loading commit data... | |
| Routine.hpp | Loading commit data... | |
| SubzeroReactor.cpp | Loading commit data... | |
| Traits.hpp | Loading commit data... | |
| Traits.inl | Loading commit data... | |
| reactor.gni | Loading commit data... | |
| x86.hpp | Loading commit data... |