EVALUATION
Due to uneven evolution in two classes, the compiler sees two methods with same signature in classes with a subclass-superclass relationship. In the subclass, the method is private static, in the superclass, the same method is public virtual. In trying to do optimized calls with profile data and/or CHA, the compiler incorrectly attempts to call the static method at the virtual call site. Sometimes bad code happens, sometimes runtime errors happen, and in certain cases, their may be no ill effects.
In the attached test case, the method is "m". In the customer's test case, the method is call "isTraceOn".
###@###.### 11/2/04 23:40 GMT
Class evolution is one way, but not the only way to provoke this bug. The attached test t6189687 is example of two methods with the same name/signature but different attributes related by class hierarchy.
###@###.### 2004-11-11 19:39:20 GMT
|