< prev index next >

src/hotspot/cpu/aarch64/aarch64.ad

Print this page
rev 59478 : 8245986: AArch64: Provide information when hitting a HaltNode
Reviewed-by: adinn


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


< prev index next >