Aske Simon Christensen
Aske Simon Christensen
I did an experiment on the Dart barista3 benchmark, where I tried out three different encodings for `struct.get` and `struct.set`: - The current one: type id followed by field index...
For completeness, the index-only version added to the table (first three rows are the same as above): | | Uncompressed | `zopfli` | `zstd -19` | | - | -:...
The [measurements](https://github.com/WebAssembly/gc/issues/238#issuecomment-907298140) mentioned by @rossberg which indicated a code size saving of 3.5% uncompressed and 5% compressed just removed the type from `struct.get` and `struct.set`. With the type removed from...
That comparison, without the change in this PR, is described [here](https://github.com/WebAssembly/gc/issues/238#issuecomment-907174802) (2% smaller uncompressed, 0.2% bigger zopfli-compressed for the version that avoids the redundancy of superclass fields). With this change...
As I see it, there are several mismatches between the common use cases for `i31` and the way it is currently specified. Some of the most common use cases that...
> As an aside, we could cut down on the signed/unsigned duplication by specifying that `i31` values are unsigned and offering `i32.extend31_s` and `i64.extend31_s`, as we did for 8 and...
> I was reasoning that `br_on_not_i31_to_i32_s/u` would leave an `i32` on the stack, which, if simplified to only be unsigned, would need only a single extension. Likewise with the other...
> 0. As the representation of small scalars in contexts requiring a reference. This looks to me like a general description of the purpose of `i31ref` which covers all of...
I implemented basic `i31` support in dart2wasm to get a data point for the discussion. It represents small `int` values as `i31ref` and does boxing and unboxing by calling functions...
More flaky timeouts: https://dart-ci.appspot.com/log/vm-kernel-win-debug-ia32/dartk-win-debug-ia32/7067/corelib_2/bigint_from_test/3 https://dart-ci.appspot.com/log/vm-kernel-win-debug-ia32/dartk-win-debug-ia32/7066/vm/dart_2/entrypoints/jit/super_test/0 https://dart-ci.appspot.com/log/vm-kernel-win-debug-ia32/dartk-win-debug-ia32/7066/vm/dart_2/entrypoints/jit/super_test/1