69 * @param type the type of calling convention |
69 * @param type the type of calling convention |
70 * @param kind specifies what kind of registers is being requested |
70 * @param kind specifies what kind of registers is being requested |
71 * @return the ordered set of registers that may be used to pass parameters in a call conforming |
71 * @return the ordered set of registers that may be used to pass parameters in a call conforming |
72 * to {@code type} |
72 * to {@code type} |
73 */ |
73 */ |
74 Register[] getCallingConventionRegisters(Type type, JavaKind kind); |
74 RegisterArray getCallingConventionRegisters(Type type, JavaKind kind); |
75 |
75 |
76 /** |
76 /** |
77 * Gets the set of all registers that might be used by the register allocator. |
77 * Gets the set of all registers that might be used by the register allocator. |
78 * |
78 * |
79 * To get the set of registers the register allocator is allowed to use see |
79 * To get the set of registers the register allocator is allowed to use see |
80 * {@link RegisterAllocationConfig#getAllocatableRegisters()} |
80 * {@link RegisterAllocationConfig#getAllocatableRegisters()} |
81 */ |
81 */ |
82 @SuppressWarnings("javadoc") |
82 @SuppressWarnings("javadoc") |
83 Register[] getAllocatableRegisters(); |
83 RegisterArray getAllocatableRegisters(); |
84 |
84 |
85 /** |
85 /** |
86 * Filters a set of registers and returns only those that can be used by the register allocator |
86 * Filters a set of registers and returns only those that can be used by the register allocator |
87 * for a value of a particular kind. |
87 * for a value of a particular kind. |
88 */ |
88 */ |
89 Register[] filterAllocatableRegisters(PlatformKind kind, Register[] registers); |
89 RegisterArray filterAllocatableRegisters(PlatformKind kind, RegisterArray registers); |
90 |
90 |
91 /** |
91 /** |
92 * Gets the registers whose values must be preserved by a method across any call it makes. |
92 * Gets the registers whose values must be preserved by a method across any call it makes. |
93 */ |
93 */ |
94 Register[] getCallerSaveRegisters(); |
94 RegisterArray getCallerSaveRegisters(); |
95 |
95 |
96 /** |
96 /** |
97 * Gets the registers whose values must be preserved by the callee. |
97 * Gets the registers whose values must be preserved by the callee. |
98 */ |
98 */ |
99 Register[] getCalleeSaveRegisters(); |
99 RegisterArray getCalleeSaveRegisters(); |
100 |
100 |
101 /** |
101 /** |
102 * Gets a map from register {@linkplain Register#number numbers} to register |
102 * Gets a map from register {@linkplain Register#number numbers} to register |
103 * {@linkplain RegisterAttributes attributes} for this register configuration. |
103 * {@linkplain RegisterAttributes attributes} for this register configuration. |
104 * |
104 * |