("count", "number of objects to allocate" ),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "pointer to newly allocated memory", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "pointer to newly allocated memory"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
attrs = [
dict(
)
]
flags = [ "fragile", "uses_memory" ]
- pinned = "yes"
+ pinned = "exception"
+ throws_init = "false"
+ pinned_init = "op_pin_state_pinned"
attr_struct = "alloc_attr"
class Anchor(Op):
("upper", "upper bound (exclusive)"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "the checked index", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "the checked index"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "highlevel" ]
pinned = "exception"
pinned_init = "op_pin_state_pinned"
+ throws_init = "false"
attr_struct = "bound_attr"
attrs_name = "bound"
]
arity = "variable"
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("1_result", "first result", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("1_result", "first result"),
]
flags = [ "uses_memory" ]
attrs = [
]
arity = "variable"
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("T_result", "tuple containing all results", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("T_result", "tuple containing all results"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
attrs = [
attr_struct = "call_attr"
pinned = "memory"
pinned_init = "op_pin_state_pinned"
+ throws_init = "false"
init = '''
assert((get_unknown_type() == type) || is_Method_type(type));
'''
("src", "source address"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
+ ("M", "memory result"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
attrs = [
attrs_name = "copyb"
pinned = "memory"
pinned_init = "op_pin_state_pinned"
+ throws_init = "false"
class Div(Op):
"""returns the quotient of its 2 operands"""
("right", "second operand"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "result of computation", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "result of computation"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
attrs_name = "div"
]
attr_struct = "div_attr"
pinned = "exception"
+ throws_init = "false"
op_index = 1
arity_override = "oparity_binary"
ins = [
("mem", "memory dependency" ),
("ptr", "pointer to the object to free"),
- ("size", "number of objects to allocate" ),
+ ("count", "number of objects to allocate" ),
]
mode = "mode_M"
flags = [ "uses_memory" ]
("obj", "pointer to object being queried")
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "checked object pointer", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "checked object pointer"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "highlevel" ]
attrs = [
("ptr", "address to load from"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "result of load operation", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "result of load operation"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
pinned = "exception"
),
]
pinned_init = "flags & cons_floats ? op_pin_state_floats : op_pin_state_pinned"
+ throws_init = "(flags & cons_throws_exception) != 0"
class Minus(Unop):
"""returns the difference between its operands"""
("right", "second operand"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
- ("res", "result of computation", "pn_Generic_other"),
+ ("M", "memory result"),
+ ("res", "result of computation"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
attrs_name = "mod"
]
attr_struct = "mod_attr"
pinned = "exception"
+ throws_init = "false"
op_index = 1
arity_override = "oparity_binary"
("exo_ptr", "pointer to exception object to be thrown"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X", "control flow to exception handler", "pn_Generic_X_regular"),
+ ("M", "memory result"),
+ ("X", "control flow to exception handler"),
]
flags = [ "highlevel", "cfopcode" ]
pinned = "yes"
("value", "value to store"),
]
outs = [
- ("M", "memory result", "pn_Generic_M"),
- ("X_regular", "control flow when no exception occurs", "pn_Generic_X_regular"),
- ("X_except", "control flow when exception occured", "pn_Generic_X_except"),
+ ("M", "memory result"),
+ ("X_regular", "control flow when no exception occurs"),
+ ("X_except", "control flow when exception occured"),
]
flags = [ "fragile", "uses_memory" ]
pinned = "exception"
attr_struct = "store_attr"
pinned_init = "flags & cons_floats ? op_pin_state_floats : op_pin_state_pinned"
+ throws_init = "(flags & cons_throws_exception) != 0"
attrs = [
dict(
type = "ir_volatility",