Mercurial > hg > graal-compiler
comparison src/share/vm/opto/matcher.hpp @ 1137:97125851f396
6829187: compiler optimizations required for JSR 292
Summary: C2 implementation for invokedynamic support.
Reviewed-by: kvn, never
author | twisti |
---|---|
date | Tue, 05 Jan 2010 13:05:58 +0100 |
parents | bd02caa94611 |
children | 2883969d09e7 |
comparison
equal
deleted
inserted
replaced
1136:4b84186a8248 | 1137:97125851f396 |
---|---|
115 public: | 115 public: |
116 int LabelRootDepth; | 116 int LabelRootDepth; |
117 static const int base2reg[]; // Map Types to machine register types | 117 static const int base2reg[]; // Map Types to machine register types |
118 // Convert ideal machine register to a register mask for spill-loads | 118 // Convert ideal machine register to a register mask for spill-loads |
119 static const RegMask *idealreg2regmask[]; | 119 static const RegMask *idealreg2regmask[]; |
120 RegMask *idealreg2spillmask[_last_machine_leaf]; | 120 RegMask *idealreg2spillmask [_last_machine_leaf]; |
121 RegMask *idealreg2debugmask[_last_machine_leaf]; | 121 RegMask *idealreg2debugmask [_last_machine_leaf]; |
122 RegMask *idealreg2mhdebugmask[_last_machine_leaf]; | |
122 void init_spill_mask( Node *ret ); | 123 void init_spill_mask( Node *ret ); |
123 // Convert machine register number to register mask | 124 // Convert machine register number to register mask |
124 static uint mreg2regmask_max; | 125 static uint mreg2regmask_max; |
125 static RegMask mreg2regmask[]; | 126 static RegMask mreg2regmask[]; |
126 static RegMask STACK_ONLY_mask; | 127 static RegMask STACK_ONLY_mask; |
295 // Register for DIVL projection of divmodL | 296 // Register for DIVL projection of divmodL |
296 static RegMask divL_proj_mask(); | 297 static RegMask divL_proj_mask(); |
297 // Register for MODL projection of divmodL | 298 // Register for MODL projection of divmodL |
298 static RegMask modL_proj_mask(); | 299 static RegMask modL_proj_mask(); |
299 | 300 |
301 static const RegMask method_handle_invoke_SP_save_mask(); | |
302 | |
300 // Java-Interpreter calling convention | 303 // Java-Interpreter calling convention |
301 // (what you use when calling between compiled-Java and Interpreted-Java | 304 // (what you use when calling between compiled-Java and Interpreted-Java |
302 | 305 |
303 // Number of callee-save + always-save registers | 306 // Number of callee-save + always-save registers |
304 // Ignores frame pointer and "special" registers | 307 // Ignores frame pointer and "special" registers |