1 /* |
1 /* |
2 * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
1083 // replace instructions |
1083 // replace instructions |
1084 // first replace the tail, then the call |
1084 // first replace the tail, then the call |
1085 #ifdef ARM |
1085 #ifdef ARM |
1086 if((load_klass_or_mirror_patch_id || |
1086 if((load_klass_or_mirror_patch_id || |
1087 stub_id == Runtime1::load_appendix_patching_id) && |
1087 stub_id == Runtime1::load_appendix_patching_id) && |
1088 !VM_Version::supports_movw()) { |
1088 nativeMovConstReg_at(copy_buff)->is_pc_relative()) { |
1089 nmethod* nm = CodeCache::find_nmethod(instr_pc); |
1089 nmethod* nm = CodeCache::find_nmethod(instr_pc); |
1090 address addr = NULL; |
1090 address addr = NULL; |
1091 assert(nm != NULL, "invalid nmethod_pc"); |
1091 assert(nm != NULL, "invalid nmethod_pc"); |
1092 RelocIterator mds(nm, copy_buff, copy_buff + 1); |
1092 RelocIterator mds(nm, copy_buff, copy_buff + 1); |
1093 while (mds.next()) { |
1093 while (mds.next()) { |