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);