On 25-Jul-12 11:37, Walter Bright wrote:
On 7/24/2012 11:46 PM, Dmitry Olshansky wrote:
It's pc => address because one can first preprocess all of byte code
doing
opcode => address rewrites. But you can't do it unless taking address
of labels
is possible.

All right, that's the piece that was missing.

I suppose it is possible for the compiler to recognize that the
opcode=>address array is invariant, and optimize it out, but that would
be a novel optimization. I don't know how hard it would be.


While it may sound possible I'm certain that in most interesting cases it's not possible for compiler to do it in advance, as array of opcodes ultimately comes from some external source e.g. parsed script file.

So opcode=>address transform happens at run-time after that it indeed becomes invariant.


 > Done: http://d.puremagic.com/issues/show_bug.cgi?id=8431

Thanks!


--
Dmitry Olshansky

Reply via email to