Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 919ed00f75d8752cddfdacb59d286f1fc168a307
      
https://github.com/WebKit/WebKit/commit/919ed00f75d8752cddfdacb59d286f1fc168a307
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-01-04 (Wed, 04 Jan 2023)

  Changed paths:
    M JSTests/wasm/spec-tests/float_exprs.wast.js
    M Source/JavaScriptCore/b3/B3Kind.cpp
    M Source/JavaScriptCore/b3/B3Kind.h
    M Source/JavaScriptCore/b3/B3ReduceStrength.cpp
    M Source/JavaScriptCore/b3/B3Value.h
    M Source/JavaScriptCore/wasm/generateWasmB3IRGeneratorInlinesHeader.py

  Log Message:
  -----------
  [JSC] Add SensitiveToNaN flag to B3 Kind
https://bugs.webkit.org/show_bug.cgi?id=249991
rdar://103807651

Reviewed by Saam Barati.

This patch adds SensitiveToNaN flag to B3 Kind. This means "The B3 Value is 
sensitive to NaN bit pattern",
and it supresses some of strength reduction which can be observable as a NaN 
bit pattern difference.
>From JS, this flag is always false since JS does not care about NaN bit 
>pattern. On the other hand, Wasm
cares. In B3 Wasm IR generator, we put this flag to Wasm generated B3 Values.
This makes float spec-tests pass by 100%.

* JSTests/wasm/spec-tests/float_exprs.wast.js:
* Source/JavaScriptCore/b3/B3Kind.cpp:
(JSC::B3::Kind::dump const):
* Source/JavaScriptCore/b3/B3Kind.h:
(JSC::B3::Kind::Kind):
(JSC::B3::Kind::hasSensitiveToNaN):
(JSC::B3::Kind::hasSensitiveToNaN const):
(JSC::B3::Kind::sensitiveToNaN const):
(JSC::B3::Kind::setSensitiveToNaN):
(JSC::B3::Kind::operator== const):
(JSC::B3::Kind::hash const):
(JSC::B3::sensitiveToNaN):
* Source/JavaScriptCore/b3/B3ReduceStrength.cpp:
* Source/JavaScriptCore/b3/B3Value.h:
* Source/JavaScriptCore/wasm/generateWasmB3IRGeneratorInlinesHeader.py:
(CodeGenerator.generateB3OpCode):
(CodeGenerator):
(CodeGenerator.generateConstCode):
(CodeGenerator.generateOpcode):
(CodeGenerator.makeResult):
(CodeGenerator.generate):
(temp):
(generateB3OpCode): Deleted.
(generateConstCode): Deleted.

Canonical link: https://commits.webkit.org/258455@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to