if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tset on type " + self.getMetaClass().id + " failed (polymorphic)" + extractSourceInfo()); fallback = findVirtual(VariableSite.class, "ivarSetFail", methodType(void.class, IRubyObject.class, IRubyObject.class)); fallback = fallback.bindTo(this); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) { if (direct) { LOG.info(name() + "\tset field on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); } else { LOG.info(name() + "\tset on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tset on class " + self.getMetaClass().id + " bound directly" + extractSourceInfo()); setTarget(setValue);
if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tset on type " + self.getMetaClass().id + " failed (polymorphic)" + extractSourceInfo()); fallback = findVirtual(VariableSite.class, "ivarSetFail", methodType(void.class, IRubyObject.class, IRubyObject.class)); fallback = fallback.bindTo(this); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) { if (direct) { LOG.info(name() + "\tset field on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); } else { LOG.info(name() + "\tset on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tset on class " + self.getMetaClass().id + " bound directly" + extractSourceInfo()); setTarget(setValue);
if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tqet on type " + self.getMetaClass().id + " failed (polymorphic)" + extractSourceInfo()); fallback = findVirtual(VariableSite.class, "ivarGetFail", methodType(IRubyObject.class, IRubyObject.class)); fallback = fallback.bindTo(this); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) { if (direct) { LOG.info(name() + "\tget field on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); } else { LOG.info(name() + "\tget on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tget on class " + self.getMetaClass().id + " bound directly" + extractSourceInfo()); setTarget(getValue);
if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tqet on type " + self.getMetaClass().id + " failed (polymorphic)" + extractSourceInfo()); fallback = findVirtual(VariableSite.class, "ivarGetFail", methodType(IRubyObject.class, IRubyObject.class)); fallback = fallback.bindTo(this); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) { if (direct) { LOG.info(name() + "\tget field on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); } else { LOG.info(name() + "\tget on type " + self.getMetaClass().id + " added to PIC" + extractSourceInfo()); if (Options.INVOKEDYNAMIC_LOG_BINDING.load()) LOG.info(name() + "\tget on class " + self.getMetaClass().id + " bound directly" + extractSourceInfo()); setTarget(getValue);