<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Sorry, completely missed it.<div><br></div><div><span class="Apple-style-span" style="font-family: Times; "><pre style="word-wrap: break-word; white-space: pre-wrap; ">+  // Size == alignment on ARM.
+  void *PtrAddr = JCE.allocIndirectGV(
+      GV, Buffer, sizeof(Buffer), sizeof(Buffer));</pre></span><div>The comment is somewhat misleading. The alignment and size of the buffer happen to be both 4 in this case. Your code makes it seem like they have to be the same.</div><div><br></div><div>Apart from that, it seems fine. Eric, could you test it on x86 and x86_64 Darwin?</div><div><br></div><div>Thanks,</div><div><br></div><div>Evan</div><div><br></div><div><div>On Dec 7, 2009, at 1:34 PM, Jeffrey Yasskin wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi Evan, any word on this?<br><br>On Tue, Nov 24, 2009 at 11:28 AM,  <<a href="mailto:jyasskin@gmail.com">jyasskin@gmail.com</a>> wrote:<br><blockquote type="cite">Reviewers: evan.cheng_apple.com,<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Message:<br></blockquote><blockquote type="cite">Hi Evan, could you take a look?<br></blockquote><blockquote type="cite"><a href="http://codereview.appspot.com/download/issue157145_7.diff">http://codereview.appspot.com/download/issue157145_7.diff</a><br></blockquote><blockquote type="cite">I think this is an ok change for arm (and it passes tests on nlewycky's<br></blockquote><blockquote type="cite">box) because even though the indirect global is generated as part of a<br></blockquote><blockquote type="cite">call stub, it's not actually executed.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Description:<br></blockquote><blockquote type="cite">This lets us remove start/finishGVStub and the BufferState helper class<br></blockquote><blockquote type="cite">from the MachineCodeEmitter interface.  It has the side-effect of not<br></blockquote><blockquote type="cite">setting the indirect global writable and then executable on ARM, but<br></blockquote><blockquote type="cite">that shouldn't be necessary.<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Please review this at <a href="http://codereview.appspot.com/157145">http://codereview.appspot.com/157145</a><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">Affected files:<br></blockquote><blockquote type="cite">  M     include/llvm/CodeGen/JITCodeEmitter.h<br></blockquote><blockquote type="cite">  M     include/llvm/CodeGen/MachineCodeEmitter.h<br></blockquote><blockquote type="cite">  M     lib/ExecutionEngine/JIT/JITEmitter.cpp<br></blockquote><blockquote type="cite">  M     lib/Target/ARM/ARMJITInfo.cpp<br></blockquote><blockquote type="cite">  M     lib/Target/Alpha/AlphaJITInfo.cpp<br></blockquote><blockquote type="cite">  M     lib/Target/PowerPC/PPCJITInfo.cpp<br></blockquote><blockquote type="cite">  M     lib/Target/X86/X86JITInfo.cpp<br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite"><br></blockquote><blockquote type="cite">_______________________________________________<br></blockquote><blockquote type="cite">llvm-commits mailing list<br></blockquote><blockquote type="cite"><a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br></blockquote><blockquote type="cite"><a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br></blockquote><blockquote type="cite"><br></blockquote></div></blockquote></div><br></div></body></html>