public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, args, block); } return cacheAndCall(caller, selfType, block, args, context, self); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, block); } return cacheAndCall(caller, selfType, block, context, self); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1); } return cacheAndCall(caller, selfType, context, self, arg1); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) { RubyClass selfType = getMetaClass(self);; // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, args); } return cacheAndCall(caller, selfType, args, context, self); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1, arg2, block); } return cacheAndCall(caller, selfType, block, context, self, arg1, arg2); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1, arg2, arg3); } return cacheAndCall(caller, selfType, context, self, arg1, arg2, arg3); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1, arg2, arg3, block); } return cacheAndCall(caller, selfType, block, context, self, arg1, arg2, arg3); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) { RubyClass selfType = getMetaClass(self);; // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, args); } return cacheAndCall(caller, selfType, args, context, self); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, args, block); } return cacheAndCall(caller, selfType, block, args, context, self); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject[] args, Block block) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, args, block); } return cacheAndCall(caller, selfType, block, args, context, self); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject... args) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, args); } return cacheAndCall(caller, selfType, args, context, self); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, arg1, arg2); } return cacheAndCall(caller, selfType, context, self, arg1, arg2); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, arg1, arg2); } return cacheAndCall(caller, selfType, context, self, arg1, arg2); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3, Block block) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, arg1, arg2, arg3, block); } return cacheAndCall(caller, selfType, block, context, self, arg1, arg2, arg3); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, block); } return cacheAndCall(caller, selfType, block, context, self); }
private IRubyObject callBlock(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, arg1, block); } return cacheAndCall(caller, selfType, block, context, self, arg1); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2, IRubyObject arg3) { RubyClass selfType = pollAndGetClass(context, self); CacheEntry myCache = cache; if (CacheEntry.typeOk(myCache, selfType)) { return myCache.method.call(context, self, selfType, methodName, arg1, arg2, arg3); } return cacheAndCall(caller, selfType, context, self, arg1, arg2, arg3); }
public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, Block block) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1, block); } return cacheAndCall(caller, selfType, block, context, self, arg1); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self, IRubyObject arg1, IRubyObject arg2) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName, arg1, arg2); } return cacheAndCall(caller, selfType, context, self, arg1, arg2); }
@Override public IRubyObject call(ThreadContext context, IRubyObject caller, IRubyObject self) { RubyClass selfType = getMetaClass(self); // This must be retrieved *once* to avoid racing with other threads. CacheEntry cache = this.cache; if (cache.typeOk(selfType)) { return cache.method.call(context, self, selfType, methodName); } return cacheAndCall(caller, selfType, context, self); }