15238 instruct Ret()
15239 %{
15240 match(Return);
15241
15242 format %{ "ret\t// return register" %}
15243
15244 ins_encode( aarch64_enc_ret() );
15245
15246 ins_pipe(pipe_branch);
15247 %}
15248
15249 // Die now.
15250 instruct ShouldNotReachHere() %{
15251 match(Halt);
15252
15253 ins_cost(CALL_COST);
15254 format %{ "ShouldNotReachHere" %}
15255
15256 ins_encode %{
15257 if (is_reachable()) {
15258 __ dcps1(0xdead + 1);
15259 }
15260 %}
15261
15262 ins_pipe(pipe_class_default);
15263 %}
15264
15265 // ============================================================================
15266 // Partial Subtype Check
15267 //
15268 // superklass array for an instance of the superklass. Set a hidden
15269 // internal cache on a hit (cache is checked with exposed code in
15270 // gen_subtype_check()). Return NZ for a miss or zero for a hit. The
15271 // encoding ALSO sets flags.
15272
15273 instruct partialSubtypeCheck(iRegP_R4 sub, iRegP_R0 super, iRegP_R2 temp, iRegP_R5 result, rFlagsReg cr)
15274 %{
15275 match(Set result (PartialSubtypeCheck sub super));
15276 effect(KILL cr, KILL temp);
15277
15278 ins_cost(1100); // slightly larger than the next version
|
15238 instruct Ret()
15239 %{
15240 match(Return);
15241
15242 format %{ "ret\t// return register" %}
15243
15244 ins_encode( aarch64_enc_ret() );
15245
15246 ins_pipe(pipe_branch);
15247 %}
15248
15249 // Die now.
15250 instruct ShouldNotReachHere() %{
15251 match(Halt);
15252
15253 ins_cost(CALL_COST);
15254 format %{ "ShouldNotReachHere" %}
15255
15256 ins_encode %{
15257 if (is_reachable()) {
15258 __ stop(_halt_reason);
15259 }
15260 %}
15261
15262 ins_pipe(pipe_class_default);
15263 %}
15264
15265 // ============================================================================
15266 // Partial Subtype Check
15267 //
15268 // superklass array for an instance of the superklass. Set a hidden
15269 // internal cache on a hit (cache is checked with exposed code in
15270 // gen_subtype_check()). Return NZ for a miss or zero for a hit. The
15271 // encoding ALSO sets flags.
15272
15273 instruct partialSubtypeCheck(iRegP_R4 sub, iRegP_R0 super, iRegP_R2 temp, iRegP_R5 result, rFlagsReg cr)
15274 %{
15275 match(Set result (PartialSubtypeCheck sub super));
15276 effect(KILL cr, KILL temp);
15277
15278 ins_cost(1100); // slightly larger than the next version
|