's Avatar

@titzerbl.bsky.social

154 Followers  |  52 Following  |  29 Posts  |  Joined: 18.11.2024  |  2.0697

Latest posts by titzerbl.bsky.social on Bluesky

Preview
GitHub - WebAssembly/jit-interface: WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal. WebAssembly specification, reference interpreter, and test suite for the jit-interfaces proposal. - WebAssembly/jit-interface

Today I presented to the Wasm CG a proposal for fine-grained dynamic code generation as a core WebAssembly feature. The proposal is now at phase 1!

github.com/WebAssembly/...

Also immortalized in song: suno.com/song/19e0679...

29.10.2025 21:49 β€” πŸ‘ 31    πŸ” 11    πŸ’¬ 3    πŸ“Œ 1

I'm curious if your backend is targeting Wasm GC or linear memory.

12.10.2025 14:09 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
GraalVM meets WebAssembly by Fabio Niephaus
YouTube video by Devoxx GraalVM meets WebAssembly by Fabio Niephaus

It’s live! "@graalvm.org meets #WebAssembly” from @devoxx.com: compile JVM apps to Wasm (Web Image) and run Wasm in Java or Kotlin at near‑native speed (GraalWasm). Lots of live demos included!
www.youtube.com/watch?v=uefc...

10.10.2025 12:54 β€” πŸ‘ 27    πŸ” 7    πŸ’¬ 2    πŸ“Œ 0
Preview
Standards

How I'm feeling about data layout / protocol description languages right now.

...except none of them even ending up becoming standard!

xkcd.com/927/

17.09.2025 15:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Yes, thanks. I have trouble operating the internet.

16.09.2025 14:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@dubroy.com alerted me to the Safari release notes (developer.apple.com/documentatio...) say version 26 ships an in-place interpreter for WebAssembly, which is in part based on the Wizard design, but adapted for Safari's use cases.

This is cool!

Wasm brings all the VMs to tiers!

16.09.2025 13:44 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - titzer/wizard-engine: Research WebAssembly Engine Research WebAssembly Engine. Contribute to titzer/wizard-engine development by creating an account on GitHub.

Today I finished implementing the last of the relaxed-simd proposal (now Phase 4). That completes Wizard's support for all of the Wasm 3.0 features, which includes all the good things like exception handling, function references, garbage collection, and tail calls!

github.com/titzer/wizar...

06.08.2025 19:49 β€” πŸ‘ 5    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Heart skipped a beat.

23.05.2025 23:07 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Yeah, unaligned loads are generally pretty fast on intel, but keep in mind that you're benefiting a lot from a forward scan, so prefetching is going to have cache lines ready. It hurts most when you cross a cache line boundary, which is only a fraction of accesses.

23.05.2025 23:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Hello, it's 2011 again and I'm crashing the MacOS kernel with 300 byte binaries. If only it were someone *else's* kernel.

21.05.2025 23:49 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Whenever a new feature is hot off the presses I am a little hesitant to use it in "production" code, and certainly a self-hosted compiler requires a stable rev to be usable, but man--unittests? Blast away with those lambda bombs.

I have so much pent-up closuring!

30.04.2025 18:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
[funexpr] Implement captured variables by titzer Β· Pull Request #395 Β· titzer/virgil

That about does it for lambdas in Virgil.

Woohoo!

First there were just Class, Functions, Tuples, and Type Parameters. Then there were algebraic data types. Then, partial application. Now, full lexical closures!

github.com/titzer/virgi...

27.04.2025 23:13 β€” πŸ‘ 5    πŸ” 1    πŸ’¬ 0    πŸ“Œ 1

In other channels, we've been discussing holding a Wasm tooling tutorial at SPLASH in Singapore. Is that something that interests you as well?

11.04.2025 16:07 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

:(

09.04.2025 22:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
- WebAssembly WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the...

As of last December, release 2.0 of the #Wasm specification is β€œofficial”! Read Andreas Rossberg's post, which happens to be the first real post on the #WebAssembly website's new News πŸ—žοΈ section: webassembly.org/news/2025-03....

20.03.2025 07:24 β€” πŸ‘ 21    πŸ” 10    πŸ’¬ 1    πŸ“Œ 0
Preview
GitHub - arjunr2/WALI at zephyr A low-level virtualization interface for Linux-based systems using WebAssembly - GitHub - arjunr2/WALI at zephyr

Ah, it's in a branch in the WALI repo:

github.com/arjunr2/WALI...

20.03.2025 13:51 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

Asking Arjun...

20.03.2025 13:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

We haven't experimented much with Wasip2 yet, but your comment gives me the idea that we could recompile the wasmtime implementation with the Rust target...hmmm :)

20.03.2025 00:24 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Empowering WebAssembly with Thin Kernel Interfaces Wasm is gaining popularity outside the Web as a well-specified low-level binary format with ISA portability, low memory footprint and polyglot targetability, enabling efficient in-process sandboxing o...

Yesterday we put up the camera-ready for the WALI paper!

This paper introduces Thin Kernel Interfaces for WebAssembly which allows a new class of powerful applications for Wasm and building higher-level interfaces like WASI in an engine-agnostic way.

arxiv.org/abs/2312.03858

19.03.2025 20:03 β€” πŸ‘ 14    πŸ” 5    πŸ’¬ 2    πŸ“Œ 0

Performance is a red herring I think here. Getting efficient data represents (read: avoiding boxing and unnecessary allocations) is more than half the battle. But systems also could benefit from some esoteric features like data layouts, which is something I've focused on recently.

28.02.2025 22:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Well systems programming is my niche and I feel like systems languages have an unfortunate habit of morphing into application languages. The real systems problems are data representations and safety--not on chasing market share through better ergonomics.

28.02.2025 22:06 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I'm waiting for a certain CEO to tweet that the government doesn't use memory.

24.02.2025 21:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I think of two colons as four dots.

24.02.2025 21:35 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
[spc] Fix register of ref.test (#298) Β· titzer/wizard-engine@83436b1

Wizard has supported Wasm GC for a while now, but now it finally supports all GC opcodes in JIT-only mode. The object model needs work, but this unblocks more perf work for stack switching.

github.com/titzer/wizar...

14.02.2025 03:31 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
[refactor] Experiment with using simple function bodies Β· titzer/wizard-engine@39f36f9

Over the past week or so I spent some time adding some syntactic sugar (with type inference) to Virgil. The idea is that function/method bodies that are a simple return of an expression can have their return types inferred. A can of worms, but looks nice, IMHO.

github.com/titzer/wizar...

10.02.2025 20:17 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Not that surprised. Back when we were working on Spectre we thought about speculation on data values but concluded CPUs weren't doing it. This is a form of data value speculation and it's extremely hard to reason about all the possible weird things that can happen in speculation because of it.

29.01.2025 01:33 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Microsoft Windows 95 Launch with Bill Gates & Jay Leno (1995)
YouTube video by Blue OS Museum Microsoft Windows 95 Launch with Bill Gates & Jay Leno (1995)

Windows 95 was launched 30 years ago.

I had a programming book on Windows 95...in 1994!! 500+ pages that documented darn near everything. Glossary, index, working examples, migration path. The amount of preparation that went into this launch was astounding.

www.youtube.com/watch?v=_Jzf...

24.01.2025 01:44 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
[stable] Release III-8.1787 (#335) Β· titzer/virgil@31a9990

Finally pulled the trigger on another stable revision of the Virgil compiler (checking in the binaries of the compiler having compiled itself), which is good because right after is the perfect time to shake things up with new features and optimizations!

github.com/titzer/virgi...

20.01.2025 02:57 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

One of several ideas that didn't work out well for SPARC, it was to try to hide branch latency. CPUs got better and it no longer matters.

08.01.2025 20:05 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Musings on Tracing in PyPy Last summer, Shriram Krishnamurthi asked on Twitter: "I'm curious what the current state of tracing JITs is. They used to be all the rage for a while, then I though I heard they weren't so effective,

Last year I asked a question about the state of tracing JITs, and it led to a wonderful exchange. @cfbolz.bsky.social has written a terrific summary that captures a lot of folk knowledge that would otherwise be lost. Thanks!
pypy.org/posts/2025/0...

06.01.2025 14:21 β€” πŸ‘ 30    πŸ” 14    πŸ’¬ 0    πŸ“Œ 1

@titzerbl is following 20 prominent accounts