<div dir="ltr"><div>Tom, this sounds awesome.  I'm imagining a wonderful world of CFI hardened browsers.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 10, 2014 at 5:19 PM, Eric Christopher <span dir="ltr"><<a href="mailto:echristo@gmail.com" target="_blank">echristo@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="im">>     1. creates a power-of-two sized InlineAsm jump table (or multiple<br>

> jump tables) filled with jump instructions to each address-taken<br>
> function.<br>
><br><br>
</div>Why inline asm? There's probably a better way to do this via lowering<br>
your jump table in the backend etc.<br></blockquote><div><br></div><div>IIRC this came up before, and I don't think we expose anything like a jump table at the IR level.  As an IR-to-IR transform, I think asm is the only way to do it.</div>
</div></div></div>