comparison src/share/vm/adlc/formssel.hpp @ 4120:f03a3c8bd5e5

7077312: Provide a CALL effect for instruct declaration in the ad file Summary: abstracted way to declare that the MachNode has the effect of a call (kills caller save registers, preserves callee save registers) Reviewed-by: twisti, never
author roland
date Wed, 14 Sep 2011 09:22:51 +0200
parents c7b60b601eb4
children 8c92982cbbc4
comparison
equal deleted inserted replaced
4119:7793051af7d6 4120:f03a3c8bd5e5
109 int _uniq_idx_length; // Length of _uniq_idx array 109 int _uniq_idx_length; // Length of _uniq_idx array
110 uint _num_uniq; // Number of unique operands 110 uint _num_uniq; // Number of unique operands
111 ComponentList _components; // List of Components matches MachNode's 111 ComponentList _components; // List of Components matches MachNode's
112 // operand structure 112 // operand structure
113 113
114 bool _has_call; // contain a call and caller save registers should be saved?
115
114 // Public Methods 116 // Public Methods
115 InstructForm(const char *id, bool ideal_only = false); 117 InstructForm(const char *id, bool ideal_only = false);
116 InstructForm(const char *id, InstructForm *instr, MatchRule *rule); 118 InstructForm(const char *id, InstructForm *instr, MatchRule *rule);
117 ~InstructForm(); 119 ~InstructForm();
118 120
893 INVALID = 0x0, 895 INVALID = 0x0,
894 USE = 0x1, 896 USE = 0x1,
895 DEF = 0x2, USE_DEF = 0x3, 897 DEF = 0x2, USE_DEF = 0x3,
896 KILL = 0x4, USE_KILL = 0x5, 898 KILL = 0x4, USE_KILL = 0x5,
897 SYNTHETIC = 0x8, 899 SYNTHETIC = 0x8,
898 TEMP = USE | SYNTHETIC 900 TEMP = USE | SYNTHETIC,
901 CALL = 0x10
899 }; 902 };
900 }; 903 };
901 904
902 905
903 //------------------------------MatchNode-------------------------------------- 906 //------------------------------MatchNode--------------------------------------