You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
See the interp vs JIT difference in behavior in method definitions at the toplevel. JIT behavior seems consistent with MRI 2.2 behavior. This difference seems to show up only for nested method definitions at the top level.
So, as far as the difference between interpreter and JIT goes, I traced it line 1342 in JVMVisitor.java which pushes PUBLIC visibility always for a PushFrameInstr (jvmAdapter().ldc(Visibility.PUBLIC.ordinal());)
However, the interpreter pushes the visibility that comes from the method being interpreted which seems correct. However, if I force interpreter to always push PUBLIC visibility for PushFrame, interpreter and JIT agree with MRI.
Do you need more information than what we discussed on IRC? (only toplevel is private by default, all others public...if I still know the rules correctly)
Does fixing this make 2205 obsolete, or was that a valid difference from MRI?
Ah, no. I don't think so. This fixed visibility issues in the interpreter whereas #2201 is JIT-related. I verified with the test case in #2201 and it is not fixed.
See the interp vs JIT difference in behavior in method definitions at the toplevel. JIT behavior seems consistent with MRI 2.2 behavior. This difference seems to show up only for nested method definitions at the top level.
The text was updated successfully, but these errors were encountered: