Lines Matching defs:Instruction

42 // Instruction class hierarchy
48 class Instruction;
115 typedef Instruction* Value;
130 // A simple closure class for visiting the values of an Instruction
156 // For each concrete Instruction class X, a virtual function do_X is
159 // visitor instead of added to the Instruction classes itself.
286 class Instruction: public CompilationResourceObj {
295 Instruction* _next; // the next instruction if any (NULL for BlockEnd instructions)
296 Instruction* _subst; // the substitution instruction if any
320 ((Instruction*)res)->_id = c->get_next_id();
376 Instruction(ValueType* type, ValueStack* state_before = NULL, bool type_is_constant = false)
406 Instruction* prev(BlockBegin* block); // use carefully, expensive operation
407 Instruction* next() const { return _next; }
409 Instruction* subst() { return _subst == NULL ? this : _subst->subst(); }
429 Instruction* set_next(Instruction* next) {
435 next->set_flag(Instruction::IsLinkedInBlockFlag, true);
440 Instruction* set_next(Instruction* next, int bci) {
447 void set_subst(Instruction* subst) {
461 virtual Instruction* as_Instruction() { return this; } // to satisfy HASHING1 macro
527 HASHING1(Instruction, false, id()) // hashing disabled by default
571 LEAF(Phi, Instruction)
579 : Instruction(type->base())
630 LEAF(Local, Instruction)
637 : Instruction(type)
655 LEAF(Constant, Instruction)
659 Instruction(type, NULL, /*type_is_constant*/ true)
665 Instruction(type, state_before, /*type_is_constant*/ true)
683 virtual CompareResult compare(Instruction::Condition condition, Value right) const;
684 BlockBegin* compare(Instruction::Condition cond, Value right,
701 BASE(AccessField, Instruction)
712 : Instruction(as_ValueType(field->type()->basic_type()), state_before)
796 BASE(AccessArray, Instruction)
803 : Instruction(type, state_before)
930 LEAF(NegateOp, Instruction)
936 NegateOp(Value x) : Instruction(x->type()->base()), _x(x) {
948 BASE(Op2, Instruction)
957 : Instruction(type, state_before)
1063 LEAF(Convert, Instruction)
1070 Convert(Bytecodes::Code op, Value value, ValueType* to_type) : Instruction(to_type), _op(op), _value(value) {
1084 LEAF(NullCheck, Instruction)
1091 : Instruction(obj->type()->base(), state_before)
1097 pin(Instruction::PinExplicitNullCheck);
1115 LEAF(TypeCast, Instruction)
1123 : Instruction(obj->type(), state_before, obj->type()->is_constant()),
1136 BASE(StateSplit, Instruction)
1146 : Instruction(type, state_before)
2053 LEAF(OsrEntry, Instruction)
2057 OsrEntry() : Instruction(longType) { pin(); }
2059 OsrEntry() : Instruction(intType) { pin(); }
2068 LEAF(ExceptionObject, Instruction)
2071 ExceptionObject() : Instruction(objectType) {
2084 LEAF(RoundFP, Instruction)
2090 : Instruction(input->type()) // Note: should not be used for constants
2104 BASE(UnsafeOp, Instruction)
2111 : Instruction(is_put ? voidType : as_ValueType(basic_type))
2328 LEAF(ProfileCall, Instruction)
2338 : Instruction(voidType)
2361 LEAF(RuntimeCall, Instruction)
2370 : Instruction(type)
2392 LEAF(ProfileInvoke, Instruction)
2399 : Instruction(voidType)
2413 LEAF(MemBar, Instruction)
2419 : Instruction(voidType)