[JSC] Add String#lastIndexOf optimizations
Source/WTF/wtf/SIMDHelpers.h
+ALWAYS_INLINE uint8_t findLastNonZeroIndex(SIMDRegister<uint8_t, N> mask)
+{
+ for (int i = N - 1; i >= 0; --i)
+ if (mask[i])
+ return static_cast<uint8_t>(i);
+ return UINT8_MAX;
+}
String.prototype.lastIndexOf에 대한 JIT intrinsic 지원이 추가되었습니다. DFG와 FTL 모두에 적용되었으며, 기존 indexOf 인프라를 거울처럼 반영하는 구조입니다. 구체적으로는 StringLastIndexOf DFG 노드, FTL B3 lowering, 그리고 WTF 내의 SIMD 기반 역방향 문자열 탐색(SIMD::reverseFind, findLastNonZeroIndex)이 함께 도입되었습니다. fromIndex 처리 방식은 순방향 탐색과 다릅니다. NaN은 0이 아닌 +Infinity로 처리되며, 탐색은 min(fromIndex, len - searchLen) 위치에서 역방향으로 진행됩니다.
Significance
새로운 노드 semantics, 새로운 SIMD primitive, 그리고 순방향 탐색과 비자명하게 다른 fromIndex 경계 로직까지 — 상당한 규모의 JIT 코드 surface가 새로 추가되었습니다.