Mercurial > hg > truffle
comparison src/cpu/sparc/vm/relocInfo_sparc.cpp @ 12056:740e263c80c6
8003424: Enable Class Data Sharing for CompressedOops
8016729: ObjectAlignmentInBytes=16 now forces the use of heap based compressed oops
8005933: The -Xshare:auto option is ignored for -server
Summary: Move klass metaspace above the heap and support CDS with compressed klass ptrs.
Reviewed-by: coleenp, kvn, mgerdin, tschatzl, stefank
author | hseigel |
---|---|
date | Thu, 15 Aug 2013 20:04:10 -0400 |
parents | 7875ea94bea5 |
children | 8085ce95b6f5 |
comparison
equal
deleted
inserted
replaced
12055:d96f52012aaa | 12056:740e263c80c6 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1998, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1998, 2013, 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. |
95 #ifdef _LP64 | 95 #ifdef _LP64 |
96 jint inst2; | 96 jint inst2; |
97 guarantee(Assembler::inv_op2(inst)==Assembler::sethi_op2, "must be sethi"); | 97 guarantee(Assembler::inv_op2(inst)==Assembler::sethi_op2, "must be sethi"); |
98 if (format() != 0) { | 98 if (format() != 0) { |
99 assert(type() == relocInfo::oop_type || type() == relocInfo::metadata_type, "only narrow oops or klasses case"); | 99 assert(type() == relocInfo::oop_type || type() == relocInfo::metadata_type, "only narrow oops or klasses case"); |
100 jint np = type() == relocInfo::oop_type ? oopDesc::encode_heap_oop((oop)x) : oopDesc::encode_klass((Klass*)x); | 100 jint np = type() == relocInfo::oop_type ? oopDesc::encode_heap_oop((oop)x) : Klass::encode_klass((Klass*)x); |
101 inst &= ~Assembler::hi22(-1); | 101 inst &= ~Assembler::hi22(-1); |
102 inst |= Assembler::hi22((intptr_t)np); | 102 inst |= Assembler::hi22((intptr_t)np); |
103 if (verify_only) { | 103 if (verify_only) { |
104 assert(ip->long_at(0) == inst, "instructions must match"); | 104 assert(ip->long_at(0) == inst, "instructions must match"); |
105 } else { | 105 } else { |