> On Feb 10, 2016, at 9:14 AM, Konstantin Tokarev <annu...@yandex.ru> wrote:
> 
> 
> 
> 10.02.2016, 20:10, "Filip Pizło" <fpi...@apple.com>:
>>>  On Feb 10, 2016, at 1:40 AM, Konstantin Tokarev <annu...@yandex.ru> wrote:
>>> 
>>>  10.02.2016, 05:41, "Eric Wing" <ewmail...@gmail.com>:
>>>>>  On 2/7/16, Konstantin Tokarev <annu...@yandex.ru> wrote:
>>>>>   Please try updated version of my branch, it now does not use LLVM 
>>>>> unless you
>>>>>   enable USE_LLVM_DISASSEMBLER.
>>>> 
>>>>  I merged your branch. That seemed to build and work.
>>>>  So what would USE_LLVM_DISAAEMBLER get me if I could build it?
>>> 
>>>  It will allow you to disassemble JIT code on architectures that are 
>>> supported by LLVM but lack specialized disassembler inside JSC, e.g. it was 
>>> known to work on ARM traditional.
>> 
>> We should drop the llvm disassembler support since we don't need it for 
>> ARM64, ARMv7, or x86. If we care about disassembly on ARM traditional, we 
>> should write one. It's not that hard.
> 
> Out of curiosity, what is the reason not to reuse LLVM disassemblers? Just 
> because LLVM is "inconvenient" dependency?

It's extremely inconvenient since it doesn't have a stable API. Also in our 
experience that disassembler sometimes only supports those instructions that 
llvm would emit. If you look you'll see that on x86 we choose between the llvm 
disassembler and our own based on whether llvm generated the code or we did, 
since the llvm disassembler has historically had issues handling some of the 
instructions that out MacroAssembler know about. 

There's nothing worse than debugging a jit bug and being blocked on an upstream 
disassembler lacking a feature. It's much better if we have our own. That way 
we won't be blocked. 

> 
> -- 
> Regards,
> Konstantin
_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to