Just some note of my research on VB.net behavior.
Aggressive Inlining
- Unsupport recursion
- Not with Delegate
With Statement
- With statement make any value type become immutable except via instance method.
- With statement not get Dup optimize like Dim.
Meta Data
- Class = [Token][Field_1]…[Field_N]
- Array = [Token][Length][Index_1]…[Index_N]
ECT
- Any ByRef argument can bypass to other method ByRef directly.
- Structure is suitable for field and operator or static method, instance method should not be use, at lease it should use via interface of struct ref.
- Condition branch is very slow, use Do then If is faster then Do Until or Do While