V8 already employs W^X, i.e. memory pages allocated for V8's heap are either writable or executable, but not both at the same time.
Sure you can do everything with ROP, but it is less convenient (and Intel CET might eventually make ROP attacks actually hard).