This is a fascinating topic, are there any practical real life implementations of this?
No-exec stacks: some UNIX machines, tons of systems today.
w^x: win xp+, Linux, several RTOS, OpenBSD, lots of others
aslr: requires MMU. OpenBSD, contemporary Windows(but partially opt in?), Linux.
X-only: Arm has supported X-only for their embedded stuff for a while, and it's fairly lightweight, though you lose PC-relative loads.