3 ms·
Interesting. So what happens if the program does not test for the page? Doesn't the processor have to handle that as an exception of sorts?
by warkdarrior 5y ago
Interesting. So what happens if the program does not test for the page? Doesn't the processor have to handle that as an exception of sorts?
- rwmj 5y agoThis is why you need a trusted compiler. Basically it's "insecure by design" since the whole point of this optimization is to avoid any asynchronous exception so there's no need to implement that in the pipeline. The machine code must be forced somehow to implement these checks. There have been architectures which have required a trusted compiler (eg. the Burroughs mainframes) or a trusted verifier (the JVM, NaCl). But it certainly brings along a set of problems. It's unclear from here whether this is even an optimization. It looked a lot more compelling back in the mid 90s.