3 ms·
In my opinion the core on which poke was made is actually much more interesting than the tool as such. Poke is actually not only an editor, it's a domain speci
by still_grokking 4y ago
In my opinion the core on which poke was made is actually much more interesting than the tool as such.
Poke is actually not only an editor, it's a domain specific language.
This language is built on top of something called GNU Jitter.
https://www.gnu.org/software/jitter/ https://www.gnu.org/software/jitter/
Jitter is a very interesting project! It's a kind of generic interpreter that is—as the name suggests—almost a JIT compiler. It's something more or less "in between". Technically it's more an interpreter + VM. But it uses all kinds of (I think novel) tricks to remove the overhead of interpretation, which makes the code at runtime almost look like what a JIT compiler would have produced.
Some more internal info than on the GNU page on how this works can be found in the following slides:
http://ageinghacker.net/talks/jitter-slides--saiu--ghm2017--2017-08-25.pdf http://ageinghacker.net/talks/jitter-slides--saiu--ghm2017--...
- sparkie 4y agoI'm curious as to whether the techniques used here are safe against Spectre-like attacks. There appears to be a heavy reliance on indirect branching. The slides here are dated just before Spectre was published, so it would not have been a concern at the time.