>> > > The problem with vector bounds checking is not that the bound is variable. > It is that the slot containing the reference to the vector is mutable. If > the slot were immutable, you could do the bounds check at top of loop and > declare victory. Because the slot is mutable, you cannot assume in general > that you are dealing with the same vector each pass through the loop. In > consequence, the bounds checks cannot be lifted. This is particularly a > concern when vectors get hidden behind properties or inline functions. You > would think that inlining would expose the bound for hoisting and > elimination, but it doesn't.
I see thanks for that.. so your using a NAT type that says numbers between 1 : 100. You still have issues with expandable collections or runtime created arrays. I did think after inlining you could parse it and make it obvious I think the Java jit does this pretty well ( which mono doesnot) but its probably expensive . Ben _______________________________________________ bitc-dev mailing list [email protected] http://www.coyotos.org/mailman/listinfo/bitc-dev
