Unaligned accesses are undefined behavior, but they're common in our ELF binary patching code for variable length instruction sets (namely x86). We can use memcpy() and rely on target-specific compiler optimizations to make it efficient. Utility functions and classes were added to aid readability. Bug b/119823623 Change-Id: I8a82672a0d18d1e1783f580eb629f8cc09a009cd Reviewed-on: https://swiftshader-review.googlesource.com/c/22828Tested-by:Nicolas Capens <nicolascapens@google.com> Reviewed-by:
Alexis Hétu <sugoi@google.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| SubmoduleCheck/gtest | Loading commit data... | |
| Android.mk | Loading commit data... | |
| BUILD.gn | Loading commit data... | |
| CPUID.cpp | Loading commit data... | |
| CPUID.hpp | Loading commit data... | |
| Debug.cpp | Loading commit data... | |
| Debug.hpp | Loading commit data... | |
| DebugAndroid.cpp | Loading commit data... | |
| DebugAndroid.hpp | Loading commit data... | |
| ExecutableMemory.cpp | Loading commit data... | |
| ExecutableMemory.hpp | Loading commit data... | |
| LLVMReactor.cpp | Loading commit data... | |
| LLVMRoutine.cpp | Loading commit data... | |
| LLVMRoutine.hpp | Loading commit data... | |
| LLVMRoutineManager.cpp | Loading commit data... | |
| LLVMRoutineManager.hpp | Loading commit data... | |
| MutexLock.hpp | Loading commit data... | |
| Nucleus.hpp | Loading commit data... | |
| Optimizer.cpp | Loading commit data... | |
| Optimizer.hpp | Loading commit data... | |
| Reactor.hpp | Loading commit data... | |
| Reactor.vcxproj | Loading commit data... | |
| Reactor.vcxproj.filters | Loading commit data... | |
| ReactorUnitTests.cpp | Loading commit data... | |
| ReactorUnitTests.vcxproj | Loading commit data... | |
| ReactorUnitTests.vcxproj.filters | Loading commit data... | |
| Routine.cpp | Loading commit data... | |
| Routine.hpp | Loading commit data... | |
| Subzero.sln | Loading commit data... | |
| Subzero.vcxproj | Loading commit data... | |
| Subzero.vcxproj.filters | Loading commit data... | |
| SubzeroLLVMDependencies.vcxproj | Loading commit data... | |
| SubzeroLLVMDependencies.vcxproj.filters | Loading commit data... | |
| SubzeroReactor.cpp | Loading commit data... | |
| Thread.cpp | Loading commit data... | |
| Thread.hpp | Loading commit data... | |
| x86.hpp | Loading commit data... |