Chris Fallin
Chris Fallin
As discussed at in #7237 and WebAssembly/design#1490, some instruction-set architectures do not guarantee that a store that "partially traps" (overlaps multiple pages, only one of which disallows the store) does...
From [this comment](https://github.com/bytecodealliance/wasmtime/pull/8158#issuecomment-2002601881): it would be great to have an optimization such that > if a table's default funcref is null, don't do lazy-init, and make the 0 bit-pattern mean...
Spectre mitigations: add a mode that monitors branch mispredictions and dynamically turns on fences
In discussion today with @fitzgen, @jameysharp, @elliottt and @lpereira, we were considering the idea to [dynamically monitor branch mispredictions](https://arxiv.org/abs/2110.04751) and isolate execution of any Wasm instance that had used up...
Currently, Wasmtime uses explicit stack-limit checks to avoid overflowing the stack, and these checks are generated in the prologue of every Wasm function. This is largely a consequence of the...
In WebAssembly, an indirect call is somewhat slow, because of the indirection required by CFI (control-flow integrity) sandboxing. In particular, a "function pointer" in most source languages compiled to Wasm...
Right now, Sightglass uses a single threshold based on a confidence interval computed by Behrens-Fisher to determine whether a sampled statistic shifted between configurations. The result of this is that...
Most modern CPUs scale their clock frequency according to demand, and this CPU frequency scaling is always a headache when running benchmarks. There are two main dimensions in which this...
Two core data-structure elements, `Operand` and `Use`, are both designed to fit a relatively large amount of information in one `u32`. This is a performance optimization that we have found...
Right now, regalloc2 uses an entity-component-system sort of pattern with toplevel `Vec`s of `LiveBundle`, `VRegData`, and the like, and newtype'd index wrappers like `LiveBundleIndex`, `VRegIndex`, etc. We have a whole...
Right now, the allocator can panic if the client provides impossible constraints, such as requiring two different operands to be placed in the same `PReg`. While this represents a programming...