< prev index next >

src/cpu/ppc/vm/sharedRuntime_ppc.cpp

Print this page

        

*** 1,8 **** /* ! * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2012, 2017 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,8 ---- /* ! * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2012, 2016 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 2475,2489 **** // Clear "last Java frame" SP and PC. // -------------------------------------------------------------------------- __ reset_last_Java_frame(); ! // Unbox oop result, e.g. JNIHandles::resolve value. // -------------------------------------------------------------------------- if (ret_type == T_OBJECT || ret_type == T_ARRAY) { ! __ resolve_jobject(R3_RET, r_temp_1, r_temp_2, /* needs_frame */ false); // kills R31 } if (CheckJNICalls) { // clear_pending_jni_exception_check __ load_const_optimized(R0, 0L); --- 2475,2494 ---- // Clear "last Java frame" SP and PC. // -------------------------------------------------------------------------- __ reset_last_Java_frame(); ! // Unpack oop result. // -------------------------------------------------------------------------- if (ret_type == T_OBJECT || ret_type == T_ARRAY) { ! Label skip_unboxing; ! __ cmpdi(CCR0, R3_RET, 0); ! __ beq(CCR0, skip_unboxing); ! __ ld(R3_RET, 0, R3_RET); ! __ bind(skip_unboxing); ! __ verify_oop(R3_RET); } if (CheckJNICalls) { // clear_pending_jni_exception_check __ load_const_optimized(R0, 0L);
< prev index next >