United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6980711 HotSpot assembler_sparc changes needed for GNU/Linux on SPARC build
6980711 : HotSpot assembler_sparc changes needed for GNU/Linux on SPARC build

Details
Type:
Bug
Submit Date:
2010-08-27
Status:
Resolved
Updated Date:
2010-08-27
Project Name:
JDK
Resolved Date:
2010-08-27
Component:
infrastructure
OS:
generic
Sub-Component:
build
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
OpenJDK6
Fixed Versions:
OpenJDK6

Related Reports
Relates:
Relates:

Sub Tasks

Description
GNU/Linux on SPARC builds have been failing after the introduction of some changes in 6822110.  Small code adjustments are needed to fix the build.

                                    

Comments
EVALUATION

Yes.
                                     
2010-08-27
SUGGESTED FIX

# HG changeset patch
# User andrew
# Date 1282949538 -3600
# Node ID b23b4c2c0d44f53eb8748845fb7c62d261e272a3
# Parent 13f94cc872531ff5b81d1551edf7145f73864c74
6980711: HotSpot assembler_sparc changes needed for GNU/Linux on SPARC build
Summary: Fix compilation errors resulting from 6822110
Reviewed-by: kamg, ysr, dholmes, johnc, darcy

--- a/src/cpu/sparc/vm/assembler_sparc.hpp	Fri Jun 18 01:17:46 2010 -0700
+++ b/src/cpu/sparc/vm/assembler_sparc.hpp	Fri Aug 27 23:52:18 2010 +0100
@@ -2239,7 +2239,7 @@ public:
   AddressLiteral constant_oop_address(jobject obj);                          // find_index
   inline void    set_oop             (jobject obj, Register d);              // uses allocate_oop_address
   inline void    set_oop_constant    (jobject obj, Register d);              // uses constant_oop_address
-  inline void    set_oop             (AddressLiteral& obj_addr, Register d); // same as load_address
+  inline void    set_oop             (const AddressLiteral& obj_addr, Register d); // same as load_address
 
   void set_narrow_oop( jobject obj, Register d );
 
--- a/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Fri Jun 18 01:17:46 2010 -0700
+++ b/src/cpu/sparc/vm/assembler_sparc.inline.hpp	Fri Aug 27 23:52:18 2010 +0100
@@ -707,7 +707,7 @@ inline void MacroAssembler::set_oop_cons
 }
 
 
-inline void MacroAssembler::set_oop(AddressLiteral& obj_addr, Register d) {
+inline void MacroAssembler::set_oop(const AddressLiteral& obj_addr, Register d) {
   assert(obj_addr.rspec().type() == relocInfo::oop_type, "must be an oop reloc");
   set(obj_addr, d);
 }
                                     
2010-08-27
PUBLIC COMMENTS

See discussion
    http://mail.openjdk.java.net/pipermail/jdk6-dev/2010-August/001984.html
and changes
    http://hg.openjdk.java.net/jdk6/jdk6-gate/hotspot/rev/b23b4c2c0d44
                                     
2010-08-27



Hardware and Software, Engineered to Work Together