Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.6.5, JRuby 1.7.0.pre1
-
Fix Version/s: JRuby 1.6.6, JRuby 1.7.0.pre1
-
Component/s: Compiler
-
Labels:None
-
Number of attachments :
Description
The JIT compiler calculates method java class names using only the bare method name plus the method contents. So if two unrelated classes have the identical method names and bodies, one method will overwrite the other. In the case where the method has for example an fcall call-site, the destination for the call site is different between the two methods.
Originally spotted in Travis, see the following gists for details.
https://gist.github.com/1355138
https://gist.github.com/5934af6ad8774e296461
Fixed in 36bc28a on master and 930d38d on 1.6.