> On Apr 12, 2018, at 5:21 AM, Yusuke SUZUKI <utatane....@gmail.com> wrote:
> Hi, WebKittens, in particular, JSC folks,
> Recently I largely removed duplicate 32bit DFG code by unifying the 
> implementation of 32bit and 64bit. Initially, we have separate code for 32bit 
> and 64bit. But as our DFG infrastructure grows, we have fancy DFG features 
> that enables writing unified implementation for 32bit and 64bit. For example, 
> JSValueRegs families offer the way to handle JSValue registers transparently.
> Unifying the code significantly reduces the size of 
> DFGSpeculativeJIT32_64.cpp. It reduces maintenance burden. In addition, it 
> finds bugs, for example, 32bit code sometimes lacks the changes done in 64bit 
> code (e.g. mutatorFence). This unification finds and fixes such a bug.
mutatorFence isn’t needed on 32-bit since it doesn’t have the concurrent GC.

> So I suggest not adding code to DFGSpeculativeJIT32_64.cpp as much as 
> possible. We can implement large part of DFG code in 32/64 unified code with 
> our infrastructure. If your 32bit code is slightly different from 64bit code, 
> I believe adding ifdef in DFGSpeculativeJIT.cpp is rather fine. It highlights 
> what our infrastructure is missing to implement it in unified code. And 
> later, such ifdefs will be removed.
This seems like a good approach to me.

- Saam
> Best regards,
> Yusuke Suzuki
> _______________________________________________
> jsc-dev mailing list
> jsc-...@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/jsc-dev
webkit-dev mailing list

Reply via email to