Message993

Author leouserz
Recipients
Date 2006-12-21.22:29:05
SpamBayes Score
Marked as misclassified
Message-id
In-reply-to
Content
Ive encountered this with Java 6 and javac and I have the feeling that they may be the same problem.  What is happening in my case is that it appears in PyType:
while(cur != PyObject.class) {

                    Class exposed_as = (Class)exposed_decl_get_object(cur, "as");

                    if(exposed_as != null) {

                        PyType exposed_as_type = fromClass(exposed_as);

                        class_to_type.put(c, exposed_as_type);

                        return exposed_as_type;

                    }

                    cur = cur.getSuperclass();


in addFromClass is triggering the static intializer of PyFloat to execute.  This happens during __builtin__.fromClass is executing against PyFloat.  In PyFloat we have this line of code:
 private static final PyType FLOATTYPE = PyType.fromClass(PyFloat.class);


which apparently is causing fromClass to execute and create a new type before the first call has a chance to put its class in the class_to_type HashMap, which means that we end up with multiple PyTypes floating around for PyFloat and who knows what else(if it fits the pattern) here.  Somewhat maddening.  This doesn't surprise me that its happening with jikes, given that it could produce different bytes.  In my case with javac, Im not sure what's really triggering it but Im running with some modified Jython code.  It doesn't happen for me with the vanilla code.

leouser
History
Date User Action Args
2008-02-20 17:17:23adminlinkissue1230210 messages
2008-02-20 17:17:23admincreate