Edit: Guess i just found it out :( http://code.google.com/p/emscripten/issues/detail?id=1
But it will be hard to do without help from someone that knows Rubinius well (I don't).
I made a few fixes to Emscripten, and the code that was mentioned that doesn't work, should now work in the demo, for example |for x = 1,10 do print(x) end|.
When I tried it a few weeks ago it lacked some bytecodes - but when I bolted the code to interpret them on I was able to run some compiled Lua code. Maybe you find it interesting.
x = 10
etc., but I didn't test the compiled interpreter a lot more. Probably the statement you tried doesn't work because some stdlib function needs to be implemented. If people are really interested in getting this to work, we can probably figure it out, it will take some effort though.
It's all client-side.
(For those who don't know: Io is very powerful, but also very slow.)