equal
deleted
inserted
replaced
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 { |