RESOLVED FIXED 202569
[JSC] Change signature of HostFunction to (JSGlobalObject*, CallFrame*)
https://bugs.webkit.org/show_bug.cgi?id=202569
Summary [JSC] Change signature of HostFunction to (JSGlobalObject*, CallFrame*)
Yusuke Suzuki
Reported 2019-10-04 00:46:13 PDT
...
Attachments
Patch (1.21 MB, patch)
2019-10-04 01:30 PDT, Yusuke Suzuki
no flags
WIP (1.23 MB, patch)
2019-10-04 02:04 PDT, Yusuke Suzuki
no flags
WIP (1.24 MB, patch)
2019-10-04 02:56 PDT, Yusuke Suzuki
no flags
Patch (1.24 MB, patch)
2019-10-04 13:01 PDT, Yusuke Suzuki
no flags
Patch (1.24 MB, patch)
2019-10-04 13:37 PDT, Yusuke Suzuki
no flags
Patch (1.24 MB, patch)
2019-10-04 15:39 PDT, Yusuke Suzuki
saam: review+
Radar WebKit Bug Importer
Comment 1 2019-10-04 00:47:00 PDT
Yusuke Suzuki
Comment 2 2019-10-04 01:30:49 PDT
Created attachment 380195 [details] Patch WIP
Yusuke Suzuki
Comment 3 2019-10-04 02:04:10 PDT
Yusuke Suzuki
Comment 4 2019-10-04 02:56:36 PDT
Yusuke Suzuki
Comment 5 2019-10-04 02:59:35 PDT
OK, let's see the status of EWS.
Yusuke Suzuki
Comment 6 2019-10-04 13:01:54 PDT
Yusuke Suzuki
Comment 7 2019-10-04 13:37:18 PDT
Yusuke Suzuki
Comment 8 2019-10-04 15:39:07 PDT
Yusuke Suzuki
Comment 9 2019-10-04 15:41:39 PDT
Comment on attachment 380260 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380260&action=review The other parts are mechanical one. > Source/JavaScriptCore/interpreter/Interpreter.cpp:840 > ProtoCallFrame protoCallFrame; ProtoCallFrame's globalObject change is important. > Source/JavaScriptCore/jit/ThunkGenerators.cpp:273 > // Calling convention: f(edi, esi, edx, ecx, ...); ThunkGenerators.cpp change is important. > Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:265 > + makeCall(entry, protoCallFrame, t3, t4) LLInt change is important.
Saam Barati
Comment 10 2019-10-07 15:30:43 PDT
Comment on attachment 380260 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380260&action=review r=me >> Source/JavaScriptCore/jit/ThunkGenerators.cpp:273 >> // Calling convention: f(edi, esi, edx, ecx, ...); > > ThunkGenerators.cpp change is important. can we file a bug on using GPRInfo here instead of naming registers? > Source/JavaScriptCore/jit/ThunkGenerators.cpp:337 > + static_assert(GPRInfo::regT2 != GPRInfo::argumentGPR0); > + static_assert(GPRInfo::regT2 != GPRInfo::argumentGPR1); I think arm64 and x86_64 on Windows/*nix can easily be written using GPRInfo and RegisterSet. As I said above, filing a bug for this work would be nice (you don't necessarily need to do the work, but we should just have a bug)
Yusuke Suzuki
Comment 11 2019-10-07 15:47:46 PDT
Comment on attachment 380260 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380260&action=review Thanks! >>> Source/JavaScriptCore/jit/ThunkGenerators.cpp:273 >>> // Calling convention: f(edi, esi, edx, ecx, ...); >> >> ThunkGenerators.cpp change is important. > > can we file a bug on using GPRInfo here instead of naming registers? Yes, filed https://bugs.webkit.org/show_bug.cgi?id=202657. >> Source/JavaScriptCore/jit/ThunkGenerators.cpp:337 >> + static_assert(GPRInfo::regT2 != GPRInfo::argumentGPR1); > > I think arm64 and x86_64 on Windows/*nix can easily be written using GPRInfo and RegisterSet. As I said above, filing a bug for this work would be nice (you don't necessarily need to do the work, but we should just have a bug) Right. Fixed. https://bugs.webkit.org/show_bug.cgi?id=202657
Yusuke Suzuki
Comment 12 2019-10-07 16:13:52 PDT
Yusuke Suzuki
Comment 13 2019-10-07 16:53:34 PDT
Paulo Matos
Comment 14 2019-10-09 06:32:53 PDT
Since this bug's patch made trunk, that we have 32bits failing to build in Debug mode or segfaulting in tests when built in Release mode - opened bug 202748
Truitt Savell
Comment 15 2019-10-09 10:58:41 PDT
Yusuke Suzuki
Comment 16 2019-10-10 12:40:54 PDT
Note You need to log in before you can comment on or make changes to this bug.