The executable bit is turned on for writable data space pages?
x86 will allow this if the OS does. There have been many CPUs which don't allow it, such as PowerPC, which had separate instruction and data caches. After loading code, the loader had to make the pages executable and cause a cache flush before the code could run.