[webkit-dev] Offline Assembler build step always computes hashes even when nothing changes
fpizlo at apple.com
Mon Sep 17 14:36:26 PDT 2018
> On Sep 17, 2018, at 1:41 PM, Darin Adler <darin at apple.com> wrote:
> Sent from my iPhone
>> 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?
> I don’t know what it’s doing, only how long it takes. My test was to build and then build again. In many cases I am only changing a source file far downstream in dependencies but I am rebuilding everything because I just push the build button in Xcode or type make.
>> 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.
> I was not changing headers.
>> 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.
> In many other cases skipping the entire build step based on file modification times is a great approach. I understand it might be hard to know which files need to be checked in a case like this so maybe that’s why we can’t apply the classic solution.
Also, there are many changes to the headers that don’t necessitate a llint rebuild. The use of hashes is supposed to protect against this.
After looking at it with Michael, we believe that the issue is just how the hash is computed. There’s a step where Ruby code is building a ruby array of ruby ints to represent a file and then looping. That should probably use strings and regexes.
> — Darin
More information about the webkit-dev