[JSC] LLInt slow path call should not have third argument
Created attachment 396908 [details] Patch
Created attachment 396909 [details] Patch
Comment on attachment 396909 [details] Patch r=me
Comment on attachment 396909 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=396909&action=review Wasn’t the goal to speed this up though? > Source/JavaScriptCore/ChangeLog:8 > + LLInt callSlowPath does not work with third argument in Windows, CLoop etc. LLInt slow-path should not take third argument, Why doesn’t it work?
(In reply to Saam Barati from comment #4) > Comment on attachment 396909 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=396909&action=review > > Wasn’t the goal to speed this up though? > > > Source/JavaScriptCore/ChangeLog:8 > > + LLInt callSlowPath does not work with third argument in Windows, CLoop etc. LLInt slow-path should not take third argument, > > Why doesn’t it work? Because the CLoop is able to call arbitrary native functions. It needs to be taught how call a native function with different arguments. As for Windows, I suspect it is just a matter teaching it how to call with a 3rd argument due to ABI differences.
(In reply to Mark Lam from comment #5) > (In reply to Saam Barati from comment #4) > > Comment on attachment 396909 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=396909&action=review > > > > Wasn’t the goal to speed this up though? > > > > > Source/JavaScriptCore/ChangeLog:8 > > > + LLInt callSlowPath does not work with third argument in Windows, CLoop etc. LLInt slow-path should not take third argument, > > > > Why doesn’t it work? > > Because the CLoop is able to call arbitrary native functions. typo: I meant "is NOT able to"
I think this change does not introduce speed down in LLInt since LLInt is anyway loading metadata in asm side. For baseline, it would be possible that this causes speed down. I think in this case, the right thing is introducing JIT operation instead of sharing this with LLInt. I'll create a patch for Baseline after landing this to fix Windows.
Committed r260344: <https://trac.webkit.org/changeset/260344>
<rdar://problem/62033808>