Comment by whoisthemachine
19 days ago
Do these compilers sometimes give correct instructions and sometimes incorrect instructions for the same higher level code, and it's considered an intrinsic part of the compiler that you just have to deal with? Because otherwise this argument is bunk.
Possibly, hence why the discussion regarding security in JavaScript runtimes and JIT, by completely disabling JIT execution.
https://microsoftedge.github.io/edgevr/posts/Super-Duper-Sec...
Also the exact sequence of generated machine instructions depends of various factors, the same source can have various outputs, depending on code execution, preset hardware, and heuristics.
Sure, but surely you expect a `func add(a, b) { return a + b; }` to actually produce a + b, in whatever way it finds best? And if it doesn't, you can reproduce the error, and file a bug? And then someone can fix that bug?
they in fact do have bugs, yes, inescapably so (no one provides formal proofs for production level compilers)
Ok, but we treat them as bugs that we can reproduce and assume that they are solvable? We don't just assume that it's intrinsic to the compiler that it must have bugs, and that they will occur in random, non-deterministic ways?