Remix.run Logo
pizlonator 3 hours ago

Sounds wild.

(Posted from memory safe WebKit; i.e. WebKit compiled with filcc and all of WebKit's dependencies compiled with filcc.)

yjftsjthsd-h an hour ago | parent | next [-]

Wait, you have that working? What's the lowest friction to run it? Like, VM or docker container or...

pizlonator an hour ago | parent [-]

VM

https://fil-c.org/pizlix

Then build WebKit using do_cmake_yolo_simpler.sh in projects/webkitgtk-2.44.3

It's still pretty rough, but works more than well enough to post on HN. My regression test is to post on X. That works too

yjftsjthsd-h 41 minutes ago | parent [-]

Sweet, thanks. I guess running in a VM is also a bonus protective layer:)

pizlonator 39 minutes ago | parent [-]

lol yeah

Pls file bugs if you encounter issues.

Also, fair warning, it's hella slow right now on JS-heavy websites (like X). It barely works.

But we can fix that with some effort, I think

krackers 3 hours ago | parent | prev [-]

For it to be memory safe, do you have to disable the JIT?

pizlonator 2 hours ago | parent [-]

Yeah

amluto 2 hours ago | parent [-]

It sounds technically possible to build a JIT where a verifier checks that the JIT-generated code is correctly pizlonated before allowing it to become executable. :)

Ohentis 16 minutes ago | parent | next [-]

I think it makes more sense to verify that the jit is correct than to verify that it's output is correct at runtime.

pizlonator 11 minutes ago | parent [-]

Nah

It's damn near impossible to verify that the JIT is correct.

But it is possible to verify at runtime that the code that the JIT emitted obeys some memory safety law.

(V8's heap sandbox is an example of this; a sarcastic JIT would be an arguably stronger example of this.)

pizlonator an hour ago | parent | prev [-]

Yes

I have a new tech called SaRCAsm, which is a memory-safe assembler. So the next step is a "Sarcastic JIT" :-)