Details
Diff Detail
Event Timeline
The code looks correct, but I left a comment inline.
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | ||
---|---|---|
417–421 | This is correct, but while you're here, I'd rather see if you can have a common helper for all the relocations updating immediates in AArch64 instructions (e.g., ldr, str) as we do in lld (see or32AArch64Imm). |
Addressed review comments.
Now lld and RuntimeDyldELF uses two identical sets of helper functions, so it probably makes sense to move them to header file and provide patch for lld.
This looks much better now. Please split in two patches. The first one which does the refactoring, the second one which adds the new functionality. @lhames , what do you think?
Minor comment inline.
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | ||
---|---|---|
42–45 | Prefer the ternary operator here: |
Maybe. I have no opinions on the topic (bluntly, I don't care), but there have been discussions recently about sharing code between the JIT and the static linker. You may want to check with the involved parties before going on, but I think it makes sense to do this as a follow-up.
lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp | ||
---|---|---|
42–45 | Ok, but it's actually void. |
Prefer the ternary operator here:
return (isBE) ? write<T, support::big>(...) : write<T, support:little>(...);