Ticket #723: patch.diff
| File patch.diff, 0.8 KB (added by martinlagardette@…, 21 months ago) |
|---|
-
vm.h
556 556 } rcall; 557 557 struct { 558 558 IMP imp; 559 int argc; 559 560 bs_element_method_t *bs_method; 560 561 rb_vm_objc_stub_t *stub; 561 562 } ocall; -
dispatcher.cpp
501 501 cache->sel = sel; 502 502 cache->klass = klass; 503 503 cache->as.ocall.imp = imp; 504 cache->as.ocall.argc = argc; 504 505 cache->as.ocall.bs_method = GET_CORE()->find_bs_method(klass, sel); 505 506 506 507 char types[200]; … … 829 830 return v; 830 831 } 831 832 else if (cache->flag & MCACHE_OCALL) { 833 if (cache->as.ocall.argc != argc) { 834 goto recache; 835 } 832 836 if (!cache_method) { 833 837 cache->flag = 0; 834 838 }

