Revision
3936
Author
lsansonetti@apple.com
Date
2010-04-14 19:02:19 -0700 (Wed, 14 Apr 2010)

Log Message

when preparing a method, do an extra resolve pass in case the objc cache is invalid

Modified Paths

Diff

Modified: MacRuby/trunk/vm.cpp (3935 => 3936)


--- MacRuby/trunk/vm.cpp	2010-04-15 02:01:47 UTC (rev 3935)
+++ MacRuby/trunk/vm.cpp	2010-04-15 02:02:19 UTC (rev 3936)
@@ -2131,6 +2131,11 @@
 prepare_method:
 
     m = class_getInstanceMethod(klass, sel);
+    if (m == NULL && rb_vm_resolve_method(klass, sel)) {
+	m = class_getInstanceMethod(klass, sel);
+	assert(m != NULL);
+    }
+
     if (precompiled) {
 	if (imp == NULL) {
 	    imp = (IMP)data;