Skip to content

Commit

Permalink
8306111: PPC64: RT call after thaw with exception requires larger ABI…
Browse files Browse the repository at this point in the history
… section

Reviewed-by: mdoerr
  • Loading branch information
reinrich committed Apr 19, 2023
1 parent c7faf60 commit 42b7260
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/hotspot/cpu/ppc/globals_ppc.hpp
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2002, 2023, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2020 SAP SE. All rights reserved.
* Copyright (c) 2012, 2023 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
Expand Down Expand Up @@ -56,7 +56,7 @@ define_pd_global(intx, StackRedPages, DEFAULT_STACK_RED_PAGES);
define_pd_global(intx, StackShadowPages, DEFAULT_STACK_SHADOW_PAGES);
define_pd_global(intx, StackReservedPages, DEFAULT_STACK_RESERVED_PAGES);

define_pd_global(bool, VMContinuations, true BIG_ENDIAN_ONLY(&& false));
define_pd_global(bool, VMContinuations, true);

// Use large code-entry alignment.
define_pd_global(uintx, CodeCacheSegmentSize, 128);
Expand Down
3 changes: 3 additions & 0 deletions src/hotspot/cpu/ppc/stubGenerator_ppc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4576,8 +4576,11 @@ class StubGenerator: public StubCodeGenerator {
Register ex_pc = R17_tos; // nonvolatile register
__ ld(ex_pc, _abi0(lr), R1_SP); // LR
__ mr(nvtmp, R3_RET); // save return value containing the exception oop
// The thawed top frame has got a frame::java_abi. This is not sufficient for the runtime call.
__ push_frame_reg_args(0, tmp1);
__ call_VM_leaf(CAST_FROM_FN_PTR(address, SharedRuntime::exception_handler_for_return_address), R16_thread, ex_pc);
__ mtlr(R3_RET); // the exception handler
__ pop_frame();
// See OptoRuntime::generate_exception_blob for register arguments
__ mr(R3_ARG1, nvtmp); // exception oop
__ mr(R4_ARG2, ex_pc); // exception pc
Expand Down

1 comment on commit 42b7260

@openjdk-notifier
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.