private Object cache(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { StaticScope staticScope = (StaticScope) getDefiningScope().retrieve(context, self, currScope, currDynScope, temp); String id = getId(); IRubyObject constant = staticScope.getConstantDefined(id); if (constant == null) { constant = UndefinedValue.UNDEFINED; } else { // recache Invalidator invalidator = context.runtime.getConstantInvalidator(id); cache = new ConstantCache(constant, invalidator.getData(), invalidator); } return constant; }
private Object cache(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp) { StaticScope staticScope = (StaticScope) getDefiningScope().retrieve(context, self, currScope, currDynScope, temp); String id = getId(); IRubyObject constant = staticScope.getConstantDefined(id); if (constant == null) { constant = UndefinedValue.UNDEFINED; } else { // recache Invalidator invalidator = context.runtime.getConstantInvalidator(id); cache = new ConstantCache(constant, invalidator.getData(), invalidator); } return constant; }
@Override public void LexicalSearchConstInstr(LexicalSearchConstInstr lexicalsearchconstinstr) { jvmMethod().loadContext(); visit(lexicalsearchconstinstr.getDefiningScope()); jvmMethod().lexicalSearchConst(lexicalsearchconstinstr.getId()); jvmStoreLocal(lexicalsearchconstinstr.getResult()); }
@Override public void LexicalSearchConstInstr(LexicalSearchConstInstr lexicalsearchconstinstr) { jvmMethod().loadContext(); visit(lexicalsearchconstinstr.getDefiningScope()); jvmMethod().lexicalSearchConst(lexicalsearchconstinstr.getId()); jvmStoreLocal(lexicalsearchconstinstr.getResult()); }