WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
184702
Templatize CodePtr/Refs/FunctionPtrs with PtrTags.
https://bugs.webkit.org/show_bug.cgi?id=184702
Summary
Templatize CodePtr/Refs/FunctionPtrs with PtrTags.
Mark Lam
Reported
2018-04-17 10:48:46 PDT
<
rdar://problem/35391681
>
Attachments
proposed patch.
(611.81 KB, patch)
2018-04-17 14:49 PDT
,
Mark Lam
no flags
Details
Formatted Diff
Diff
proposed patch rebased.
(611.78 KB, patch)
2018-04-17 14:53 PDT
,
Mark Lam
fpizlo
: review+
Details
Formatted Diff
Diff
patch for landing.
(612.46 KB, patch)
2018-04-17 16:17 PDT
,
Mark Lam
no flags
Details
Formatted Diff
Diff
patch for landing + speculative build fix for Windows.
(612.78 KB, patch)
2018-04-17 17:38 PDT
,
Mark Lam
no flags
Details
Formatted Diff
Diff
patch for landing + speculative build fix for Windows.
(612.74 KB, patch)
2018-04-17 18:44 PDT
,
Mark Lam
ews-watchlist
: commit-queue-
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Mark Lam
Comment 1
2018-04-17 14:49:37 PDT
Created
attachment 338151
[details]
proposed patch.
EWS Watchlist
Comment 2
2018-04-17 14:52:24 PDT
Attachment 338151
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:355: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:221: Should be indented on a separate line, with the colon or comma first on that line. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCallKey.h:56: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 187 files If any of these errors are false positives, please file a bug against check-webkit-style.
Mark Lam
Comment 3
2018-04-17 14:53:39 PDT
Created
attachment 338152
[details]
proposed patch rebased.
EWS Watchlist
Comment 4
2018-04-17 14:56:23 PDT
Attachment 338152
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:355: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:221: Should be indented on a separate line, with the colon or comma first on that line. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCallKey.h:56: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 187 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 5
2018-04-17 15:13:33 PDT
Comment on
attachment 338152
[details]
proposed patch rebased. View in context:
https://bugs.webkit.org/attachment.cgi?id=338152&action=review
r=me. The suggestions about using alternate tags can be addressed in another bug.
> Source/JavaScriptCore/bytecode/CallLinkInfo.h:332 > + CodeLocationLabel<JSEntryPtrTag> m_callReturnLocationOrPatchableJump; > + CodeLocationLabel<JSEntryPtrTag> m_hotPathBeginOrSlowPathStart; > + CodeLocationNearCall<JSEntryPtrTag> m_hotPathOther;
I think these should be JSInternalPtrTag, since these are not being used as targets for a JS call. They are being used to point at some patchable stuff in the call IC.
> Source/JavaScriptCore/ftl/FTLLazySlowPath.h:88 > + CodeLocationLabel<JSEntryPtrTag> m_done;
I think this should be JSInternalPtrTag. It's not meant to point to the call entrypoint of anything.
> Source/JavaScriptCore/jit/JITMathIC.h:67 > + CodeLocationLabel<JSEntryPtrTag> doneLocation() { return m_inlineStart.labelAtOffset(m_inlineSize); } > + CodeLocationLabel<JSEntryPtrTag> slowPathStartLocation() { return m_inlineStart.labelAtOffset(m_deltaFromStartToSlowPathStart); } > + CodeLocationCall<JSEntryPtrTag> slowPathCallLocation() { return m_inlineStart.callAtOffset(m_deltaFromStartToSlowPathCallLocation); }
I think these should be JSInternal, since none of these are meant to call to the JS call entrypoint of any function.
> Source/JavaScriptCore/jit/JITMathIC.h:250 > + CodeLocationLabel<JSEntryPtrTag> m_inlineStart;
ISInternal, because this does not for doing JS calls
> Source/JavaScriptCore/llint/LLIntData.cpp:78 > + JSEntryPtrTag, // llint_program_prologue > + JSEntryPtrTag, // llint_eval_prologue > + JSEntryPtrTag, // llint_module_program_prologue > + JSEntryPtrTag, // llint_function_for_call_prologue > + JSEntryPtrTag, // llint_function_for_construct_prologue > + JSEntryPtrTag, // llint_function_for_call_arity_check > + JSEntryPtrTag, // llint_function_for_construct_arity_check > + JSEntryPtrTag, // llint_generic_return_point > BytecodePtrTag, // llint_throw_from_slow_path_trampoline > ExceptionHandlerPtrTag, // llint_throw_during_call_trampoline > - CodePtrTag, // llint_native_call_trampoline > - CodePtrTag, // llint_native_construct_trampoline > - CodePtrTag, // llint_internal_function_call_trampoline > - CodePtrTag, // llint_internal_function_construct_trampoline > + JSEntryPtrTag, // llint_native_call_trampoline > + JSEntryPtrTag, // llint_native_construct_trampoline > + JSEntryPtrTag, // llint_internal_function_call_trampoline > + JSEntryPtrTag, // llint_internal_function_construct_trampoline
It would be cool if we could give these JSInternal since these aren't meant to be used as targets of JS calls.
Mark Lam
Comment 6
2018-04-17 16:17:39 PDT
Created
attachment 338157
[details]
patch for landing.
EWS Watchlist
Comment 7
2018-04-17 16:21:18 PDT
Attachment 338157
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:355: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:221: Should be indented on a separate line, with the colon or comma first on that line. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCallKey.h:56: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 187 files If any of these errors are false positives, please file a bug against check-webkit-style.
Mark Lam
Comment 8
2018-04-17 17:38:53 PDT
Created
attachment 338170
[details]
patch for landing + speculative build fix for Windows.
EWS Watchlist
Comment 9
2018-04-17 17:41:06 PDT
Attachment 338170
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:355: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:221: Should be indented on a separate line, with the colon or comma first on that line. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCallKey.h:56: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 187 files If any of these errors are false positives, please file a bug against check-webkit-style.
Mark Lam
Comment 10
2018-04-17 18:44:49 PDT
Created
attachment 338179
[details]
patch for landing + speculative build fix for Windows.
EWS Watchlist
Comment 11
2018-04-17 18:46:58 PDT
Attachment 338179
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/assembler/LinkBuffer.h:355: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/assembler/MacroAssemblerCodeRef.h:221: Should be indented on a separate line, with the colon or comma first on that line. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLSlowPathCallKey.h:56: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 3 in 187 files If any of these errors are false positives, please file a bug against check-webkit-style.
EWS Watchlist
Comment 12
2018-04-17 20:05:00 PDT
Comment on
attachment 338179
[details]
patch for landing + speculative build fix for Windows.
Attachment 338179
[details]
did not pass jsc-ews (mac): Output:
http://webkit-queues.webkit.org/results/7351388
New failing tests: stress/ftl-put-by-id-setter-exception-interesting-live-state.js.no-cjit-collect-continuously
Mark Lam
Comment 13
2018-04-17 20:28:36 PDT
(In reply to Build Bot from
comment #12
)
> Comment on
attachment 338179
[details]
> patch for landing + speculative build fix for Windows. > >
Attachment 338179
[details]
did not pass jsc-ews (mac): > Output:
http://webkit-queues.webkit.org/results/7351388
> > New failing tests: > stress/ftl-put-by-id-setter-exception-interesting-live-state.js.no-cjit- > collect-continuously
I'm quite sure that this is not caused by my patch. I also cannot reproduce it locally. Will land shortly.
Mark Lam
Comment 14
2018-04-17 20:32:07 PDT
Landed in
r230748
: <
http://trac.webkit.org/r230748
>.
Fujii Hironori
Comment 15
2018-04-18 04:08:39 PDT
WinCairo builds get broken.
Bug 184725
Tomas Popela
Comment 16
2018-04-18 06:04:18 PDT
I pushed a build fix for ARM in
https://trac.webkit.org/r230762
Tomas Popela
Comment 17
2018-04-18 06:05:11 PDT
And also one small for GCC -
https://trac.webkit.org/r230761
(that was triggered by our hardening flags in Fedora)
Tomas Popela
Comment 18
2018-04-18 06:32:34 PDT
And another build failure on ARM -
bug 184730
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