File tree Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Expand file tree Collapse file tree 2 files changed +16
-2
lines changed Original file line number Diff line number Diff line change
1
+ 2022-03-05 Mark Lam <mark.lam@apple.com>
2
+
3
+ Fix JITOperationList::addPointers() to support JIT_OPERATION_VALIDATION_ASSERT_ENABLED.
4
+ https://bugs.webkit.org/show_bug.cgi?id=237504
5
+ <rdar://problem/89770507>
6
+
7
+ Reviewed by Saam Barati.
8
+
9
+ According to tagJSCCodePtrImpl(), we will only use an operation's validation entry
10
+ if Options::useJITCage(). Make JITOperationList::addPointers() conform to this.
11
+
12
+ * assembler/JITOperationList.cpp:
13
+ (JSC::JITOperationList::addPointers):
14
+
1
15
2022-03-05 Mark Lam <mark.lam@apple.com>
2
16
3
17
Optimize VMTraps::maybeNeedHandling().
Original file line number Diff line number Diff line change @@ -66,11 +66,11 @@ SUPPRESS_ASAN ALWAYS_INLINE void JITOperationList::addPointers(const JITOperatio
66
66
return ;
67
67
}
68
68
#endif
69
- if constexpr (ASSERT_ENABLED ) {
69
+ if constexpr (JIT_OPERATION_VALIDATION_ASSERT_ENABLED ) {
70
70
for (const auto * current = begin; current != end; ++current) {
71
71
void * operation = removeCodePtrTag (current->operation );
72
72
if (operation) {
73
- void * validator = removeCodePtrTag (current->operationWithValidation );
73
+ void * validator = removeCodePtrTag (Options::useJITCage () ? current->operationWithValidation : current-> operation );
74
74
validator = WTF::tagNativeCodePtrImpl<OperationPtrTag>(validator);
75
75
map.add (operation, validator);
76
76
JSC_REGISTER_INVERSE_JIT_CAGED_POINTER_FOR_DEBUG (validator, operation);
You can’t perform that action at this time.
0 commit comments