If I recall correctly they typically involve manipulating the execution stack; that's not something you can do in JS obviously.
Fair. I was assuming you could do something at the evaluation layer that was somewhat equivalent. But it makes sense the bare metal ones are doing something at the machine code layer.