Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6fb457d666569b6c3283728fe582fd75d1caa29c
      
https://github.com/WebKit/WebKit/commit/6fb457d666569b6c3283728fe582fd75d1caa29c
  Author: Yusuke Suzuki <[email protected]>
  Date:   2025-02-03 (Mon, 03 Feb 2025)

  Changed paths:
    A JSTests/slowMicrobenchmarks/hashset-wasm-load.js
    M Source/JavaScriptCore/wasm/WasmCallingConvention.h
    M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmFunctionIPIntMetadataGenerator.h
    M Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp
    M Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp
    M Source/JavaScriptCore/wasm/WasmTypeDefinition.h
    M Source/JavaScriptCore/wasm/WasmValueLocation.h

  Log Message:
  -----------
  [JSC] Optimize wasm compilation more
https://bugs.webkit.org/show_bug.cgi?id=286943
rdar://144105710

Reviewed by Keith Miller and Yijia Huang.

This further optimizes wasm compilation time.

1. Use appendUsingFunctor more to avoid repeated bound-check and
   capacity extension.
2. Make TypeDefinition::unroll better optimized with inlining policy.
3. Add one-level cache for CallInformation in IPInt generator to avoid
   repeated computation of this information.
4. Make ArgumentLocation and ValueLocation memcpy-able.

* JSTests/slowMicrobenchmarks/hashset-wasm-load.js: Added.
* Source/JavaScriptCore/wasm/WasmCallingConvention.h:
* Source/JavaScriptCore/wasm/WasmIPIntGenerator.cpp:
(JSC::Wasm::IPIntGenerator::cachedCallInformationFor):
(JSC::Wasm::IPIntGenerator::addCallCommonData):
(JSC::Wasm::IPIntGenerator::addTailCallCommonData):
(JSC::Wasm::IPIntGenerator::addCall):
(JSC::Wasm::IPIntGenerator::addCallIndirect):
(JSC::Wasm::IPIntGenerator::addCallRef):
* Source/JavaScriptCore/wasm/WasmTypeDefinition.cpp:
(JSC::Wasm::TypeDefinition::unrollSlow const):
(JSC::Wasm::TypeDefinition::unroll const): Deleted.
* Source/JavaScriptCore/wasm/WasmTypeDefinition.h:
(JSC::Wasm::Type::width const):
(JSC::Wasm::TypeDefinition::unroll const):
* Source/JavaScriptCore/wasm/WasmValueLocation.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to