[webkit-changes] [WebKit/WebKit] 9d6203: Add WASM sources and build scripts for Argon2 in JS3

Yijia Huang noreply at github.com
Wed Aug 7 14:44:27 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 9d62034a70c508237fd7029050060aed50a66429
      https://github.com/WebKit/WebKit/commit/9d62034a70c508237fd7029050060aed50a66429
  Author: Yijia Huang <yijia_huang at apple.com>
  Date:   2024-08-07 (Wed, 07 Aug 2024)

  Changed paths:
    M PerformanceTests/JetStream3/wasm/argon2-simd.wasm
    M PerformanceTests/JetStream3/wasm/argon2.js
    M PerformanceTests/JetStream3/wasm/argon2.wasm
    A PerformanceTests/JetStream3/wasm/argon2/CMakeLists.txt
    A PerformanceTests/JetStream3/wasm/argon2/README.md
    A PerformanceTests/JetStream3/wasm/argon2/argon2/include/argon2.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/argon2.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/bench.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2-impl.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2b.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blamka-round-opt.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blamka-round-ref.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/core.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/core.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/encoding.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/encoding.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/genkat.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/genkat.h
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/opt.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/ref.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/run.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/test.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/thread.c
    A PerformanceTests/JetStream3/wasm/argon2/argon2/src/thread.h
    A PerformanceTests/JetStream3/wasm/argon2/build-wasm.sh
    A PerformanceTests/JetStream3/wasm/argon2/build.sh
    A PerformanceTests/JetStream3/wasm/argon2/clean-cmake.sh
    A PerformanceTests/JetStream3/wasm/argon2/emcc_version.txt
    A PerformanceTests/JetStream3/wasm/argon2/src/argon2_library.c

  Log Message:
  -----------
  Add WASM sources and build scripts for Argon2 in JS3
https://bugs.webkit.org/show_bug.cgi?id=277769
rdar://133410670

Reviewed by Keith Miller and Yusuke Suzuki.

This patch does several things for JS3 subtest Argon2:
1. Add the wasm sources.
2. Add a build script to build the wasm binary files and log emcc version.
3. Add a README file for building and prerequisites.
3. Update argon2.js by removing the strict equality checks
   for the hash results, as source updates may affect them.

* PerformanceTests/JetStream3/wasm/argon2-simd.wasm:
* PerformanceTests/JetStream3/wasm/argon2.js:
(async hashAndVerify):
(async for):
(globalThis.testArgon2HashAndVerify):
(ok): Deleted.
(deepStrictEqual): Deleted.
(strictEqual): Deleted.
(match): Deleted.
(async let): Deleted.
(globalThis.testArgon2Hash): Deleted.
(globalThis.testArgon2Verify): Deleted.
(async await): Deleted.
* PerformanceTests/JetStream3/wasm/argon2.wasm:
* PerformanceTests/JetStream3/wasm/argon2/CMakeLists.txt: Added.
* PerformanceTests/JetStream3/wasm/argon2/README.md: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/include/argon2.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/argon2.c: Added.
(argon2_type2string):
(argon2_ctx):
(argon2_hash):
(argon2i_hash_encoded):
(argon2i_hash_raw):
(argon2d_hash_encoded):
(argon2d_hash_raw):
(argon2id_hash_encoded):
(argon2id_hash_raw):
(argon2_compare):
(argon2_verify):
(argon2i_verify):
(argon2d_verify):
(argon2id_verify):
(argon2d_ctx):
(argon2i_ctx):
(argon2id_ctx):
(argon2_verify_ctx):
(argon2d_verify_ctx):
(argon2i_verify_ctx):
(argon2id_verify_ctx):
(argon2_error_message):
(argon2_encodedlen):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/bench.c: Added.
(rdtsc):
(benchmark):
(main):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2-impl.h: Added.
(load32):
(load64):
(store32):
(store64):
(load48):
(store48):
(rotr32):
(rotr64):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blake2b.c: Added.
(blake2b_set_lastblock):
(blake2b_increment_counter):
(blake2b_invalidate_state):
(blake2b_init0):
(blake2b_init_param):
(blake2b_init):
(blake2b_init_key):
(blake2b_compress):
(blake2b_update):
(blake2b_final):
(blake2b):
(blake2b_long):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blamka-round-opt.h: Added.
(fBlaMka):
(muladd):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/blake2/blamka-round-ref.h: Added.
(fBlaMka):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/core.c: Added.
(init_block_value):
(copy_block):
(xor_block):
(load_block):
(store_block):
(allocate_memory):
(free_memory):
(secure_wipe_memory):
(clear_internal_memory):
(finalize):
(index_alpha):
(fill_memory_blocks_st):
(fill_segment_thr):
(fill_memory_blocks_mt):
(fill_memory_blocks):
(validate_inputs):
(fill_first_blocks):
(initial_hash):
(initialize):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/core.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/encoding.c: Added.
(b64_byte_to_char):
(b64_char_to_byte):
(to_base64):
(from_base64):
(decode_decimal):
(decode_string):
(encode_string):
(b64len):
(numlen):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/encoding.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/genkat.c: Added.
(initial_kat):
(print_tag):
(internal_kat):
(fatal):
(generate_testvectors):
(main):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/genkat.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/opt.c: Added.
(fill_block):
(next_addresses):
(fill_segment):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/ref.c: Added.
(fill_block):
(next_addresses):
(fill_segment):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/run.c: Added.
(usage):
(fatal):
(print_hex):
(run):
(main):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/test.c: Added.
(hashtest):
(main):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/thread.c: Added.
(argon2_thread_create):
(argon2_thread_join):
(argon2_thread_exit):
* PerformanceTests/JetStream3/wasm/argon2/argon2/src/thread.h: Added.
* PerformanceTests/JetStream3/wasm/argon2/build-wasm.sh: Added.
* PerformanceTests/JetStream3/wasm/argon2/build.sh: Added.
* PerformanceTests/JetStream3/wasm/argon2/clean-cmake.sh: Added.
* PerformanceTests/JetStream3/wasm/argon2/emcc_version.txt: Added.
* PerformanceTests/JetStream3/wasm/argon2/src/argon2_library.c: Added.
(argon2_hash_ext):
(argon2_verify_ext):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list