def load(self, meth): holdertype = self.holder.GetType() funcfield = holdertype.GetField('func') Const.load(self, meth) meth.il.Emit(OpCodes.Castclass, holdertype) meth.il.Emit(OpCodes.Ldfld, funcfield) meth.il.Emit(OpCodes.Castclass, dotnet.typeof(LoopDelegate))
def load(self, meth): holdertype = self.holder.GetType() funcfield = holdertype.GetField("func") Const.load(self, meth) meth.il.Emit(OpCodes.Castclass, holdertype) meth.il.Emit(OpCodes.Ldfld, funcfield) meth.il.Emit(OpCodes.Castclass, dotnet.typeof(LoopDelegate))
from rpython.jit.metainterp.optimizeopt.intutils import IntBound,\ ConstIntBound, MININT, MAXINT, IntUnbounded from rpython.jit.metainterp.optimizeopt.util import make_dispatcher_method from rpython.jit.metainterp.resoperation import rop, AbstractResOp, GuardResOp,\ OpHelpers, ResOperation from rpython.jit.metainterp.optimizeopt import info from rpython.jit.metainterp.typesystem import llhelper from rpython.rlib.objectmodel import specialize, we_are_translated from rpython.rlib.debug import debug_print CONST_0 = ConstInt(0) CONST_1 = ConstInt(1) CONST_ZERO_FLOAT = Const._new(0.0) llhelper.CONST_NULLREF = llhelper.CONST_NULL REMOVED = AbstractResOp() class LoopInfo(object): pass class BasicLoopInfo(LoopInfo): def __init__(self, inputargs, quasi_immutable_deps): self.inputargs = inputargs self.label_op = ResOperation(rop.LABEL, inputargs) self.quasi_immutable_deps = quasi_immutable_deps self.extra_same_as = [] def final(self): return True
def setinteriorfield(self, index, ofs, value): raise NotImplementedError class ConstantValue(OptValue): def __init__(self, box): self.make_constant(box) def __repr__(self): return 'Constant(%r)' % (self.box,) CONST_0 = ConstInt(0) CONST_1 = ConstInt(1) CVAL_ZERO = ConstantValue(CONST_0) CVAL_ZERO_FLOAT = ConstantValue(Const._new(0.0)) llhelper.CVAL_NULLREF = ConstantValue(llhelper.CONST_NULL) REMOVED = AbstractResOp(None) class Optimization(object): next_optimization = None def __init__(self): pass # make rpython happy def propagate_forward(self, op): raise NotImplementedError def emit_operation(self, op): self.last_emitted_operation = op
def const(value): return Const._new(value)
get_box_replacement) from rpython.jit.metainterp.optimizeopt.bridgeopt import ( deserialize_optimizer_knowledge) from rpython.jit.metainterp.resoperation import (rop, AbstractResOp, GuardResOp, OpHelpers) from .info import getrawptrinfo, getptrinfo from rpython.jit.metainterp.optimizeopt import info from rpython.jit.metainterp.optimize import InvalidLoop from rpython.rlib.objectmodel import specialize, we_are_translated from rpython.rtyper import rclass from rpython.rtyper.lltypesystem import llmemory from rpython.jit.metainterp.optimize import SpeculativeError CONST_0 = ConstInt(0) CONST_1 = ConstInt(1) CONST_ZERO_FLOAT = Const._new(0.0) REMOVED = AbstractResOp() class LoopInfo(object): label_op = None class BasicLoopInfo(LoopInfo): def __init__(self, inputargs, quasi_immutable_deps, jump_op): self.inputargs = inputargs self.jump_op = jump_op self.quasi_immutable_deps = quasi_immutable_deps self.extra_same_as = [] self.extra_before_label = []
def __repr__(self): return 'Constant(%r)' % (self.box, ) class ConstantPtrValue(PtrOptValue): def __init__(self, box): self.make_constant(box) def __repr__(self): return 'Constant(%r)' % (self.box, ) CONST_0 = ConstInt(0) CONST_1 = ConstInt(1) CVAL_ZERO = ConstantIntValue(CONST_0) CVAL_ZERO_FLOAT = ConstantFloatValue(Const._new(0.0)) llhelper.CVAL_NULLREF = ConstantPtrValue(llhelper.CONST_NULL) REMOVED = AbstractResOp(None) class Optimization(object): next_optimization = None def __init__(self): pass # make rpython happy def propagate_forward(self, op): raise NotImplementedError def emit_operation(self, op): self.last_emitted_operation = op