WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
175724
Implement 64-bit MacroAssembler::probe support for Windows.
https://bugs.webkit.org/show_bug.cgi?id=175724
Summary
Implement 64-bit MacroAssembler::probe support for Windows.
Per Arne Vollan
Reported
2017-08-18 10:22:05 PDT
This is needed in order to enable the DFG.
Attachments
Patch
(13.88 KB, patch)
2017-08-22 09:44 PDT
,
Per Arne Vollan
mark.lam
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Per Arne Vollan
Comment 1
2017-08-22 09:44:19 PDT
Created
attachment 318761
[details]
Patch
Mark Lam
Comment 2
2017-08-22 10:08:07 PDT
Comment on
attachment 318761
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=318761&action=review
r=me with fixes.
> Source/JavaScriptCore/ChangeLog:8 > + This is needed to enable the DFG.
Please add a comment about why you went with putting the code in an asm file instead of inline assembly. We spoke offline about this, but I think it's good to document the reason here in the ChangeLog.
> Source/JavaScriptCore/jit/JITStubsMSVC64.asm:48 > +PTR_SIZE EQU 8 > + > +PROBE_PROBE_FUNCTION_OFFSET EQU (0 * PTR_SIZE) > +PROBE_ARG_OFFSET EQU (1 * PTR_SIZE) > +PROBE_INIT_STACK_FUNCTION_OFFSET EQU (2 * PTR_SIZE) > +PROBE_INIT_STACK_ARG_OFFSET EQU (3 * PTR_SIZE)
It's unfortunate that MSVC does not allow us to use inline asm. Apart from all these duplicate definitions, we lost the ability to validate the correctness of these values via the static_asserts. Please put a comment above this blob of constant defines to state that these constant values should patch the x86_64 version in MacroAssemblerX86Common.cpp.
> Source/JavaScriptCore/jit/JITStubsMSVC64.asm:109 > + ; esp[0 * ptrSize]: rflags > + ; esp[1 * ptrSize]: return address / saved rip > + ; esp[2 * ptrSize]: probe handler function > + ; esp[3 * ptrSize]: probe arg > + ; esp[4 * ptrSize]: saved rax > + ; esp[5 * ptrSize]: saved rsp
This comment is now stale (see MacroAssemblerX86Common.cpp). Please update it.
Per Arne Vollan
Comment 3
2017-08-22 10:11:36 PDT
(In reply to Mark Lam from
comment #2
)
> Comment on
attachment 318761
[details]
> Patch > > View in context: >
https://bugs.webkit.org/attachment.cgi?id=318761&action=review
> > r=me with fixes. > > > Source/JavaScriptCore/ChangeLog:8 > > + This is needed to enable the DFG. > > Please add a comment about why you went with putting the code in an asm file > instead of inline assembly. We spoke offline about this, but I think it's > good to document the reason here in the ChangeLog. > > > Source/JavaScriptCore/jit/JITStubsMSVC64.asm:48 > > +PTR_SIZE EQU 8 > > + > > +PROBE_PROBE_FUNCTION_OFFSET EQU (0 * PTR_SIZE) > > +PROBE_ARG_OFFSET EQU (1 * PTR_SIZE) > > +PROBE_INIT_STACK_FUNCTION_OFFSET EQU (2 * PTR_SIZE) > > +PROBE_INIT_STACK_ARG_OFFSET EQU (3 * PTR_SIZE) > > It's unfortunate that MSVC does not allow us to use inline asm. Apart from > all these duplicate definitions, we lost the ability to validate the > correctness of these values via the static_asserts. Please put a comment > above this blob of constant defines to state that these constant values > should patch the x86_64 version in MacroAssemblerX86Common.cpp. > > > Source/JavaScriptCore/jit/JITStubsMSVC64.asm:109 > > + ; esp[0 * ptrSize]: rflags > > + ; esp[1 * ptrSize]: return address / saved rip > > + ; esp[2 * ptrSize]: probe handler function > > + ; esp[3 * ptrSize]: probe arg > > + ; esp[4 * ptrSize]: saved rax > > + ; esp[5 * ptrSize]: saved rsp > > This comment is now stale (see MacroAssemblerX86Common.cpp). Please update > it.
Thanks for reviewing, Mark! I will update the patch before landing.
Per Arne Vollan
Comment 4
2017-08-22 12:25:41 PDT
Committed
r221032
: <
https://trac.webkit.org/changeset/221032/webkit
>
Radar WebKit Bug Importer
Comment 5
2017-08-22 12:26:47 PDT
<
rdar://problem/34018595
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug