[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