[webkit-dev] Offline Assembler build step always computes hashes even when nothing changes

Keith Miller keith_miller at apple.com
Mon Sep 17 10:36:50 PDT 2018


IIRC, it spends a bunch of time in the offline assembler ruby scripts. AFAIK, those scripts only depend on the LowLevelInterpreter*.asm files. So we should only need to run it if those files have changed. Or, for the assembly generation half, if there is also a new object offsets binary (from LLIntOffsetsExtractor.cpp).

Cheers,
Keith

> On Sep 17, 2018, at 10:21 AM, Filip Pizlo <fpizlo at apple.com> wrote:
> 
> Sorry, I should have asked: does it even rebuild when you change nothing?
> 
> That llint step really does depend on most headers in WTF and JSC, so if you change any of them then I would expect a rebuild of that file. It may be that the right solution is to make that step faster and to make it possible to run it in parallel to other steps. 
> 
> -Filip
> 
> On Sep 17, 2018, at 10:01 AM, Darin Adler <darin at apple.com <mailto:darin at apple.com>> wrote:
> 
>> I don’t know. 
>> 
>> Sent from my iPhone
>> 
>> On Sep 17, 2018, at 7:49 AM, Filip Pizlo <fpizlo at apple.com <mailto:fpizlo at apple.com>> wrote:
>> 
>>> 
>>> 
>>> On Sep 16, 2018, at 8:48 PM, Darin Adler <darin at apple.com <mailto:darin at apple.com>> wrote:
>>> 
>>>>> On Sep 16, 2018, at 5:59 PM, Filip Pizlo <fpizlo at apple.com <mailto:fpizlo at apple.com>> wrote:
>>>>> 
>>>>> Which offline assembler build step are you referring to?
>>>> 
>>>> The one that is the “Offline Assembler” target in Xcode, which runs this command:
>>>> 
>>>> ruby JavaScriptCore/offlineasm/asm.rb JavaScriptCore/llint/LowLevelInterpreter.asm "${BUILT_PRODUCTS_DIR}/JSCLLIntOffsetsExtractor” LLIntAssembly.h
>>>> 
>>>> For a “nothing rebuild” of all of WebKit and all of Safari for iOS on my iMac, it takes about 10 seconds out of a 30 second total “build" time.
>>>> 
>>>> Looking more carefully at the build log now, it seems that recompiling LLIntOffsetExtractor.cpp is also taking multiple seconds. Not executing generate_offset_extractor.rb, but compiling the output.
>>> 
>>> Does every build that you do rebuild LLIntOffsetExtractor.cpp?  Including a clean build?
>>> 
>>> -Filip
>>> 
>>>> 
>>>> — Darin
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20180917/443c2558/attachment.html>


More information about the webkit-dev mailing list