< prev index next >

src/hotspot/cpu/aarch64/sharedRuntime_aarch64.cpp

Print this page
rev 49736 : 8185505: AArch64: Port AOT to AArch64
Reviewed-by: duke

*** 1,8 **** /* * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2014, 2015, Red Hat Inc. 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) 2003, 2018, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2014, 2018, Red Hat Inc. 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.
*** 558,568 **** // Will jump to the compiled code just as if compiled code was doing it. // Pre-load the register-jump target early, to schedule it better. __ ldr(rscratch1, Address(rmethod, in_bytes(Method::from_compiled_offset()))); #if INCLUDE_JVMCI ! if (EnableJVMCI) { // check if this call should be routed towards a specific entry point __ ldr(rscratch2, Address(rthread, in_bytes(JavaThread::jvmci_alternate_call_target_offset()))); Label no_alternative_target; __ cbz(rscratch2, no_alternative_target); __ mov(rscratch1, rscratch2); --- 558,568 ---- // Will jump to the compiled code just as if compiled code was doing it. // Pre-load the register-jump target early, to schedule it better. __ ldr(rscratch1, Address(rmethod, in_bytes(Method::from_compiled_offset()))); #if INCLUDE_JVMCI ! if (EnableJVMCI || UseAOT) { // check if this call should be routed towards a specific entry point __ ldr(rscratch2, Address(rthread, in_bytes(JavaThread::jvmci_alternate_call_target_offset()))); Label no_alternative_target; __ cbz(rscratch2, no_alternative_target); __ mov(rscratch1, rscratch2);
*** 2276,2286 **** // Allocate space for the code ResourceMark rm; // Setup code generation tools int pad = 0; #if INCLUDE_JVMCI ! if (EnableJVMCI) { pad += 512; // Increase the buffer size when compiling for JVMCI } #endif CodeBuffer buffer("deopt_blob", 2048+pad, 1024); MacroAssembler* masm = new MacroAssembler(&buffer); --- 2276,2286 ---- // Allocate space for the code ResourceMark rm; // Setup code generation tools int pad = 0; #if INCLUDE_JVMCI ! if (EnableJVMCI || UseAOT) { pad += 512; // Increase the buffer size when compiling for JVMCI } #endif CodeBuffer buffer("deopt_blob", 2048+pad, 1024); MacroAssembler* masm = new MacroAssembler(&buffer);
*** 2358,2368 **** #if INCLUDE_JVMCI Label after_fetch_unroll_info_call; int implicit_exception_uncommon_trap_offset = 0; int uncommon_trap_offset = 0; ! if (EnableJVMCI) { implicit_exception_uncommon_trap_offset = __ pc() - start; __ ldr(lr, Address(rthread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()))); __ str(zr, Address(rthread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()))); --- 2358,2368 ---- #if INCLUDE_JVMCI Label after_fetch_unroll_info_call; int implicit_exception_uncommon_trap_offset = 0; int uncommon_trap_offset = 0; ! if (EnableJVMCI || UseAOT) { implicit_exception_uncommon_trap_offset = __ pc() - start; __ ldr(lr, Address(rthread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset()))); __ str(zr, Address(rthread, in_bytes(JavaThread::jvmci_implicit_exception_pc_offset())));
*** 2484,2494 **** oop_maps->add_gc_map(__ pc() - start, map); __ reset_last_Java_frame(false); #if INCLUDE_JVMCI ! if (EnableJVMCI) { __ bind(after_fetch_unroll_info_call); } #endif // Load UnrollBlock* into r5 --- 2484,2494 ---- oop_maps->add_gc_map(__ pc() - start, map); __ reset_last_Java_frame(false); #if INCLUDE_JVMCI ! if (EnableJVMCI || UseAOT) { __ bind(after_fetch_unroll_info_call); } #endif // Load UnrollBlock* into r5
*** 2642,2652 **** masm->flush(); _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_in_words); _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset); #if INCLUDE_JVMCI ! if (EnableJVMCI) { _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset); _deopt_blob->set_implicit_exception_uncommon_trap_offset(implicit_exception_uncommon_trap_offset); } #endif #ifdef BUILTIN_SIM --- 2642,2652 ---- masm->flush(); _deopt_blob = DeoptimizationBlob::create(&buffer, oop_maps, 0, exception_offset, reexecute_offset, frame_size_in_words); _deopt_blob->set_unpack_with_exception_in_tls_offset(exception_in_tls_offset); #if INCLUDE_JVMCI ! if (EnableJVMCI || UseAOT) { _deopt_blob->set_uncommon_trap_offset(uncommon_trap_offset); _deopt_blob->set_implicit_exception_uncommon_trap_offset(implicit_exception_uncommon_trap_offset); } #endif #ifdef BUILTIN_SIM
< prev index next >