Mercurial > hg > graal-jvmci-8
changeset 23310:e5b5170606a2
8149689: [JVMCI] CodeInstaller::pd_patch_DataSectionReference should be able to throw exceptions
Reviewed-by: kvn
author | twisti |
---|---|
date | Thu, 11 Feb 2016 12:29:40 -1000 |
parents | 535ad9410374 |
children | 54b4e75c6088 |
files | src/cpu/sparc/vm/jvmciCodeInstaller_sparc.cpp src/cpu/x86/vm/jvmciCodeInstaller_x86.cpp src/share/vm/jvmci/jvmciCodeInstaller.cpp src/share/vm/jvmci/jvmciCodeInstaller.hpp |
diffstat | 4 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/jvmciCodeInstaller_sparc.cpp Mon Feb 15 11:45:37 2016 -0800 +++ b/src/cpu/sparc/vm/jvmciCodeInstaller_sparc.cpp Thu Feb 11 12:29:40 2016 -1000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, Oracle and/or its affiliates. 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 @@ -83,7 +83,7 @@ } } -void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) { +void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset, TRAPS) { address pc = _instructions->start() + pc_offset; NativeInstruction* inst = nativeInstruction_at(pc); NativeInstruction* inst1 = nativeInstruction_at(pc + 4);
--- a/src/cpu/x86/vm/jvmciCodeInstaller_x86.cpp Mon Feb 15 11:45:37 2016 -0800 +++ b/src/cpu/x86/vm/jvmciCodeInstaller_x86.cpp Thu Feb 11 12:29:40 2016 -1000 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2013, 2016, Oracle and/or its affiliates. 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 @@ -99,7 +99,7 @@ } } -void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset) { +void CodeInstaller::pd_patch_DataSectionReference(int pc_offset, int data_offset, TRAPS) { address pc = _instructions->start() + pc_offset; address operand = Assembler::locate_operand(pc, Assembler::disp32_operand);
--- a/src/share/vm/jvmci/jvmciCodeInstaller.cpp Mon Feb 15 11:45:37 2016 -0800 +++ b/src/share/vm/jvmci/jvmciCodeInstaller.cpp Thu Feb 11 12:29:40 2016 -1000 @@ -989,7 +989,7 @@ } else if (reference->is_a(site_DataSectionReference::klass())) { int data_offset = site_DataSectionReference::offset(reference); if (0 <= data_offset && data_offset < _constants_size) { - pd_patch_DataSectionReference(pc_offset, data_offset); + pd_patch_DataSectionReference(pc_offset, data_offset, CHECK); } else { JVMCI_ERROR("data offset 0x%X points outside data section (size 0x%X)", data_offset, _constants_size); }
--- a/src/share/vm/jvmci/jvmciCodeInstaller.hpp Mon Feb 15 11:45:37 2016 -0800 +++ b/src/share/vm/jvmci/jvmciCodeInstaller.hpp Thu Feb 11 12:29:40 2016 -1000 @@ -94,7 +94,7 @@ jint pd_next_offset(NativeInstruction* inst, jint pc_offset, Handle method, TRAPS); void pd_patch_OopConstant(int pc_offset, Handle constant, TRAPS); void pd_patch_MetaspaceConstant(int pc_offset, Handle constant, TRAPS); - void pd_patch_DataSectionReference(int pc_offset, int data_offset); + void pd_patch_DataSectionReference(int pc_offset, int data_offset, TRAPS); void pd_relocate_ForeignCall(NativeInstruction* inst, jlong foreign_call_destination, TRAPS); void pd_relocate_JavaMethod(Handle method, jint pc_offset, TRAPS); void pd_relocate_poll(address pc, jint mark, TRAPS);