Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
mrugiero
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
mrugiero
2y ago
> that would have been implement in something like forward only language like ebpf. wasm is just an outgrown hack that people are hopping will be that safe sandbox and solve all JavaScript problems. It's funny that every time an art
2.
▲
by
mrugiero
2y ago
> But for a plugin system, many people would prefer to write plugins in JS itself, so for WASM plugins, they might have to be compiled to WASM first. Dont know how if there is a mature implementation of JS->WASM. Not everyone tho, whi
3.
▲
by
mrugiero
2y ago
I see. I'll try to read the links over the weekend, they seem really interesting. It's sad that the terms are so overloaded though, as it makes it hard to reach preexisting approaches and leads to rediscoveries of the same idea (I
4.
▲
by
mrugiero
2y ago
That's true. But it's still a stretch to say they are the same thing. That's why I said it can be seen as generalizing the approach.
5.
▲
by
mrugiero
2y ago
The question was about OSes with hardened runtime protections. The most basic of them all is W^X. All BSDs use it, and IIRC Linux is able to enforce it as well. I'd be surprised if it isn't the default in most distros, but I guess
6.
▲
by
mrugiero
2y ago
That is not the point though. I know threading allows using a custom convention and just jumping. What it doesn't, IIUC, is allow specializing your code for runtime data. Copy-and-patch and Jitter do. It's essentially static vs dy
7.
▲
by
mrugiero
2y ago
Do you have any links to the traditional ones for those interested (i.e. me)? I only found out about the approach due to the author's articles a few months ago.
8.
▲
by
mrugiero
2y ago
Does that even work in W^X platforms? Context for my response has that assumption, we can't simply throw it out the window, right? I think I read somewhere about making two mappings to the same physical page (one W, one X), are you ref
9.
▲
by
mrugiero
2y ago
I don't think this counts as threading, though it makes use of it. Threading mostly removes the dispatch overhead, but you still have a general function per instruction, a function call, and an inability to inline constants. Copy and p
10.
▲
by
mrugiero
2y ago
The same as with any other JIT runtime: you do your transformations first, and then you do the `mprotect` call that turns write permissions off and execution permissions on. The only caveats I can think of (`pledge`d not to use `mprotect`,
11.
▲
by
mrugiero
2y ago
I mailed the authors a few months ago and indeed, it lives there but is independent-ish. They don't consider it ready to use for anything else other than experiments, though.
12.
▲
by
mrugiero
4y ago
Why FreeDOS vs nothing or why FreeDOS vs Linux? The former, because some OEMs have agreements with Microsoft that prohibit shipping systems without an OS. They found the loophole that they could ship a free OS as a placeholder. Why not Linu
13.
▲
by
mrugiero
4y ago
squashfs is supposed to be read-only, right?
14.
▲
by
mrugiero
4y ago
As if BIOS is any more open than UEFI is. At least UEFI had an open reference implementation since the beginning. BIOS had to be reverse engineered from IBM's implementation AFAIR. Besides, two wrongs don't make one right. BIOS wa