src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 7097546 Sdiff src/share/vm/opto

src/share/vm/opto/matcher.hpp

Print this page




 343   static void c_calling_convention( BasicType*, VMRegPair *, uint );
 344   // Frame pointer. The frame pointer is kept at the base of the stack
 345   // and so is probably the stack pointer for most machines.  On Intel
 346   // it is ESP.  On the PowerPC it is R1.  On Sparc it is SP.
 347   OptoReg::Name  c_frame_pointer() const;
 348   static RegMask c_frame_ptr_mask;
 349 
 350   // !!!!! Special stuff for building ScopeDescs
 351   virtual int      regnum_to_fpu_offset(int regnum);
 352 
 353   // Is this branch offset small enough to be addressed by a short branch?
 354   bool is_short_branch_offset(int rule, int br_size, int offset);
 355 
 356   // Optional scaling for the parameter to the ClearArray/CopyArray node.
 357   static const bool init_array_count_is_in_bytes;
 358 
 359   // Threshold small size (in bytes) for a ClearArray/CopyArray node.
 360   // Anything this size or smaller may get converted to discrete scalar stores.
 361   static const int init_array_short_size;
 362 






 363   // Should the Matcher clone shifts on addressing modes, expecting them to
 364   // be subsumed into complex addressing expressions or compute them into
 365   // registers?  True for Intel but false for most RISCs
 366   static const bool clone_shift_expressions;
 367 
 368   // Should constant table entries be accessed with loads using
 369   // absolute addressing?  True for x86 but false for most RISCs.
 370   static const bool constant_table_absolute_addressing;
 371 
 372   static bool narrow_oop_use_complex_address();
 373 
 374   // Generate implicit null check for narrow oops if it can fold
 375   // into address expression (x64).
 376   //
 377   // [R12 + narrow_oop_reg<<3 + offset] // fold into address expression
 378   // NullCheck narrow_oop_reg
 379   //
 380   // When narrow oops can't fold into address expression (Sparc) and
 381   // base is not null use decode_not_null and normal implicit null check.
 382   // Note, decode_not_null node can be used here since it is referenced




 343   static void c_calling_convention( BasicType*, VMRegPair *, uint );
 344   // Frame pointer. The frame pointer is kept at the base of the stack
 345   // and so is probably the stack pointer for most machines.  On Intel
 346   // it is ESP.  On the PowerPC it is R1.  On Sparc it is SP.
 347   OptoReg::Name  c_frame_pointer() const;
 348   static RegMask c_frame_ptr_mask;
 349 
 350   // !!!!! Special stuff for building ScopeDescs
 351   virtual int      regnum_to_fpu_offset(int regnum);
 352 
 353   // Is this branch offset small enough to be addressed by a short branch?
 354   bool is_short_branch_offset(int rule, int br_size, int offset);
 355 
 356   // Optional scaling for the parameter to the ClearArray/CopyArray node.
 357   static const bool init_array_count_is_in_bytes;
 358 
 359   // Threshold small size (in bytes) for a ClearArray/CopyArray node.
 360   // Anything this size or smaller may get converted to discrete scalar stores.
 361   static const int init_array_short_size;
 362 
 363   // Some hardware needs 2 CMOV's for longs.
 364   static const int long_cmove_cost();
 365 
 366   // Some hardware have expensive CMOV for float and double.
 367   static const int float_cmove_cost();
 368 
 369   // Should the Matcher clone shifts on addressing modes, expecting them to
 370   // be subsumed into complex addressing expressions or compute them into
 371   // registers?  True for Intel but false for most RISCs
 372   static const bool clone_shift_expressions;
 373 
 374   // Should constant table entries be accessed with loads using
 375   // absolute addressing?  True for x86 but false for most RISCs.
 376   static const bool constant_table_absolute_addressing;
 377 
 378   static bool narrow_oop_use_complex_address();
 379 
 380   // Generate implicit null check for narrow oops if it can fold
 381   // into address expression (x64).
 382   //
 383   // [R12 + narrow_oop_reg<<3 + offset] // fold into address expression
 384   // NullCheck narrow_oop_reg
 385   //
 386   // When narrow oops can't fold into address expression (Sparc) and
 387   // base is not null use decode_not_null and normal implicit null check.
 388   // Note, decode_not_null node can be used here since it is referenced


src/share/vm/opto/matcher.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File