Not clear that ZerO does anything for Spectre
After that, it looks mostly like tagging code & data per cache line instead of per page & adding instructions to pay attention.
That in turn requires updating the OS & compilers to signal what are the code pointers in a program.
Not a bad idea, probably. So long as it is easy to know which are code pointers. (Hint: think about a UTM & the halting problem).