comparison src/share/vm/opto/matcher.hpp @ 4121:db2e64ca2d5a

7090968: Allow adlc register class to depend on runtime conditions Summary: allow reg_class definition as a function. Reviewed-by: kvn, never
author roland
date Tue, 22 Nov 2011 09:45:57 +0100
parents 6729bbc1fcd6
children 8c92982cbbc4
comparison
equal deleted inserted replaced
4120:f03a3c8bd5e5 4121:db2e64ca2d5a
292 static OptoRegPair return_value(int ideal_reg, bool is_outgoing); 292 static OptoRegPair return_value(int ideal_reg, bool is_outgoing);
293 static OptoRegPair c_return_value(int ideal_reg, bool is_outgoing); 293 static OptoRegPair c_return_value(int ideal_reg, bool is_outgoing);
294 RegMask _return_value_mask; 294 RegMask _return_value_mask;
295 // Inline Cache Register 295 // Inline Cache Register
296 static OptoReg::Name inline_cache_reg(); 296 static OptoReg::Name inline_cache_reg();
297 static const RegMask &inline_cache_reg_mask();
298 static int inline_cache_reg_encode(); 297 static int inline_cache_reg_encode();
299 298
300 // Register for DIVI projection of divmodI 299 // Register for DIVI projection of divmodI
301 static RegMask divI_proj_mask(); 300 static RegMask divI_proj_mask();
302 // Register for MODI projection of divmodI 301 // Register for MODI projection of divmodI
322 321
323 // The Method-klass-holder may be passed in the inline_cache_reg 322 // The Method-klass-holder may be passed in the inline_cache_reg
324 // and then expanded into the inline_cache_reg and a method_oop register 323 // and then expanded into the inline_cache_reg and a method_oop register
325 324
326 static OptoReg::Name interpreter_method_oop_reg(); 325 static OptoReg::Name interpreter_method_oop_reg();
327 static const RegMask &interpreter_method_oop_reg_mask();
328 static int interpreter_method_oop_reg_encode(); 326 static int interpreter_method_oop_reg_encode();
329 327
330 static OptoReg::Name compiler_method_oop_reg(); 328 static OptoReg::Name compiler_method_oop_reg();
331 static const RegMask &compiler_method_oop_reg_mask(); 329 static const RegMask &compiler_method_oop_reg_mask();
332 static int compiler_method_oop_reg_encode(); 330 static int compiler_method_oop_reg_encode();
333 331
334 // Interpreter's Frame Pointer Register 332 // Interpreter's Frame Pointer Register
335 static OptoReg::Name interpreter_frame_pointer_reg(); 333 static OptoReg::Name interpreter_frame_pointer_reg();
336 static const RegMask &interpreter_frame_pointer_reg_mask();
337 334
338 // Java-Native calling convention 335 // Java-Native calling convention
339 // (what you use when intercalling between Java and C++ code) 336 // (what you use when intercalling between Java and C++ code)
340 337
341 // Array mapping arguments to registers. Argument 0 is usually the 'this' 338 // Array mapping arguments to registers. Argument 0 is usually the 'this'