Title: [290873] trunk/Source/_javascript_Core
- Revision
- 290873
- Author
- [email protected]
- Date
- 2022-03-05 22:59:01 -0800 (Sat, 05 Mar 2022)
Log Message
Fix JITOperationList::addPointers() to support JIT_OPERATION_VALIDATION_ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=237504
<rdar://problem/89770507>
Reviewed by Saam Barati.
According to tagJSCCodePtrImpl(), we will only use an operation's validation entry
if Options::useJITCage(). Make JITOperationList::addPointers() conform to this.
* assembler/JITOperationList.cpp:
(JSC::JITOperationList::addPointers):
Modified Paths
Diff
Modified: trunk/Source/_javascript_Core/ChangeLog (290872 => 290873)
--- trunk/Source/_javascript_Core/ChangeLog 2022-03-06 06:50:10 UTC (rev 290872)
+++ trunk/Source/_javascript_Core/ChangeLog 2022-03-06 06:59:01 UTC (rev 290873)
@@ -1,5 +1,19 @@
2022-03-05 Mark Lam <[email protected]>
+ Fix JITOperationList::addPointers() to support JIT_OPERATION_VALIDATION_ASSERT_ENABLED.
+ https://bugs.webkit.org/show_bug.cgi?id=237504
+ <rdar://problem/89770507>
+
+ Reviewed by Saam Barati.
+
+ According to tagJSCCodePtrImpl(), we will only use an operation's validation entry
+ if Options::useJITCage(). Make JITOperationList::addPointers() conform to this.
+
+ * assembler/JITOperationList.cpp:
+ (JSC::JITOperationList::addPointers):
+
+2022-03-05 Mark Lam <[email protected]>
+
Optimize VMTraps::maybeNeedHandling().
https://bugs.webkit.org/show_bug.cgi?id=237503
Modified: trunk/Source/_javascript_Core/assembler/JITOperationList.cpp (290872 => 290873)
--- trunk/Source/_javascript_Core/assembler/JITOperationList.cpp 2022-03-06 06:50:10 UTC (rev 290872)
+++ trunk/Source/_javascript_Core/assembler/JITOperationList.cpp 2022-03-06 06:59:01 UTC (rev 290873)
@@ -66,11 +66,11 @@
return;
}
#endif
- if constexpr (ASSERT_ENABLED) {
+ if constexpr (JIT_OPERATION_VALIDATION_ASSERT_ENABLED) {
for (const auto* current = begin; current != end; ++current) {
void* operation = removeCodePtrTag(current->operation);
if (operation) {
- void* validator = removeCodePtrTag(current->operationWithValidation);
+ void* validator = removeCodePtrTag(Options::useJITCage() ? current->operationWithValidation : current->operation);
validator = WTF::tagNativeCodePtrImpl<OperationPtrTag>(validator);
map.add(operation, validator);
JSC_REGISTER_INVERSE_JIT_CAGED_POINTER_FOR_DEBUG(validator, operation);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes