< prev index next >

src/hotspot/share/compiler/oopMap.cpp

Print this page
rev 59383 : [mq]: final

*** 1,7 **** /* ! * Copyright (c) 1998, 2019, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 1998, 2020, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 313,324 **** oop_fn->do_oop(loc); } else if ( omv.type() == OopMapValue::narrowoop_value ) { narrowOop *nl = (narrowOop*)loc; #ifndef VM_LITTLE_ENDIAN VMReg vmReg = omv.reg(); ! // Don't do this on SPARC float registers as they can be individually addressed ! if (!vmReg->is_stack() SPARC_ONLY(&& !vmReg->is_FloatRegister())) { // compressed oops in registers only take up 4 bytes of an // 8 byte register but they are in the wrong part of the // word so adjust loc to point at the right place. nl = (narrowOop*)((address)nl + 4); } --- 313,323 ---- oop_fn->do_oop(loc); } else if ( omv.type() == OopMapValue::narrowoop_value ) { narrowOop *nl = (narrowOop*)loc; #ifndef VM_LITTLE_ENDIAN VMReg vmReg = omv.reg(); ! if (!vmReg->is_stack()) { // compressed oops in registers only take up 4 bytes of an // 8 byte register but they are in the wrong part of the // word so adjust loc to point at the right place. nl = (narrowOop*)((address)nl + 4); }
< prev index next >