annotate agent/src/share/classes/sun/jvm/hotspot/debugger/bsd/BsdAddress.java @ 12227:440edcf30231

8024176: [macosx] gc/metaspace/ClassMetaspaceSizeInJmapHeap.java failed since jdk8b105, hs25b47 Summary: The code for reading compressed klass pointers in the sa-agent on Mac used readCompOopAddress instead of readCompKlassAddress, this is wrong but has been hidden because compressed oops and compressed klasses has used the same base address in the past. Reviewed-by: sla, jmasa Contributed-by: stefan.johansson@oracle.com
author mgerdin
date Wed, 11 Sep 2013 08:57:02 +0200
parents 8e47bac5643a
children de6a9e811145
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
1 /*
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
2 * Copyright (c) 2002, 2008, Oracle and/or its affiliates. All rights reserved.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
4 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
7 * published by the Free Software Foundation.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
8 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
13 * accompanied this code).
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
14 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
18 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
21 * questions.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
22 *
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
23 */
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
24
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
25 package sun.jvm.hotspot.debugger.bsd;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
26
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
27 import sun.jvm.hotspot.debugger.*;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
28
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
29 class BsdAddress implements Address {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
30 protected BsdDebugger debugger;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
31 protected long addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
32
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
33 BsdAddress(BsdDebugger debugger, long addr) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
34 this.debugger = debugger;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
35 this.addr = addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
36 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
37
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
38 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
39 // Basic Java routines
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
40 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
41
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
42 public boolean equals(Object arg) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
43 if (arg == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
44 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
45 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
46
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
47 if (!(arg instanceof BsdAddress)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
48 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
49 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
50
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
51 return (addr == ((BsdAddress) arg).addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
52 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
53
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
54 public int hashCode() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
55 // FIXME: suggestions on a better hash code?
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
56 return (int) addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
57 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
58
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
59 public String toString() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
60 return debugger.addressValueToString(addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
61 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
62
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
63 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
64 // C/C++-related routines
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
65 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
66
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
67 public long getCIntegerAt(long offset, long numBytes, boolean isUnsigned)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
68 throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
69 return debugger.readCInteger(addr + offset, numBytes, isUnsigned);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
70 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
71
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
72 public Address getAddressAt(long offset)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
73 throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
74 return debugger.readAddress(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
75 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
76
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
77 public Address getCompOopAddressAt(long offset)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
78 throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
79 return debugger.readCompOopAddress(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
80 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
81
6848
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 3960
diff changeset
82 public Address getCompKlassAddressAt(long offset)
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 3960
diff changeset
83 throws UnalignedAddressException, UnmappedAddressException {
12227
440edcf30231 8024176: [macosx] gc/metaspace/ClassMetaspaceSizeInJmapHeap.java failed since jdk8b105, hs25b47
mgerdin
parents: 6848
diff changeset
84 return debugger.readCompKlassAddress(addr + offset);
6848
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 3960
diff changeset
85 }
8e47bac5643a 7054512: Compress class pointers after perm gen removal
roland
parents: 3960
diff changeset
86
3960
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
87 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
88 // Java-related routines
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
89 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
90
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
91 public boolean getJBooleanAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
92 return debugger.readJBoolean(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
93 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
94
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
95 public byte getJByteAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
96 return debugger.readJByte(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
97 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
98
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
99 public char getJCharAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
100 return debugger.readJChar(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
101 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
102
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
103 public double getJDoubleAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
104 return debugger.readJDouble(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
105 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
106
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
107 public float getJFloatAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
108 return debugger.readJFloat(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
109 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
110
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
111 public int getJIntAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
112 return debugger.readJInt(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
113 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
114
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
115 public long getJLongAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
116 return debugger.readJLong(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
117 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
118
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
119 public short getJShortAt(long offset) throws UnalignedAddressException, UnmappedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
120 return debugger.readJShort(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
121 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
122
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
123 public OopHandle getOopHandleAt(long offset)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
124 throws UnalignedAddressException, UnmappedAddressException, NotInHeapException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
125 return debugger.readOopHandle(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
126 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
127
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
128 public OopHandle getCompOopHandleAt(long offset)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
129 throws UnalignedAddressException, UnmappedAddressException, NotInHeapException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
130 return debugger.readCompOopHandle(addr + offset);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
131 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
132
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
133 // Mutators -- not implemented for now (FIXME)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
134 public void setCIntegerAt(long offset, long numBytes, long value) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
135 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
136 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
137 public void setAddressAt(long offset, Address value) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
138 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
139 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
140 public void setJBooleanAt (long offset, boolean value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
141 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
142 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
143 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
144 public void setJByteAt (long offset, byte value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
145 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
146 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
147 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
148 public void setJCharAt (long offset, char value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
149 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
150 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
151 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
152 public void setJDoubleAt (long offset, double value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
153 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
154 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
155 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
156 public void setJFloatAt (long offset, float value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
157 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
158 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
159 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
160 public void setJIntAt (long offset, int value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
161 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
162 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
163 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
164 public void setJLongAt (long offset, long value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
165 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
166 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
167 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
168 public void setJShortAt (long offset, short value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
169 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
170 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
171 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
172 public void setOopHandleAt (long offset, OopHandle value)
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
173 throws UnmappedAddressException, UnalignedAddressException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
174 throw new DebuggerException("Unimplemented");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
175 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
176
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
177 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
178 // Arithmetic operations -- necessary evil.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
179 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
180
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
181 public Address addOffsetTo (long offset) throws UnsupportedOperationException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
182 long value = addr + offset;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
183 if (value == 0) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
184 return null;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
185 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
186 return new BsdAddress(debugger, value);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
187 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
188
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
189 public OopHandle addOffsetToAsOopHandle(long offset) throws UnsupportedOperationException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
190 long value = addr + offset;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
191 if (value == 0) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
192 return null;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
193 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
194 return new BsdOopHandle(debugger, value);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
195 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
196
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
197 /** (FIXME: any signed/unsigned issues? Should this work for
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
198 OopHandles?) */
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
199 public long minus(Address arg) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
200 if (arg == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
201 return addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
202 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
203 return addr - ((BsdAddress) arg).addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
204 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
205
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
206 // Two's complement representation.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
207 // All negative numbers are larger than positive numbers.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
208 // Numbers with the same sign can be compared normally.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
209 // Test harness is below in main().
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
210
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
211 public boolean lessThan (Address a) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
212 if (a == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
213 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
214 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
215 BsdAddress arg = (BsdAddress) a;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
216 if ((addr >= 0) && (arg.addr < 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
217 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
218 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
219 if ((addr < 0) && (arg.addr >= 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
220 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
221 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
222 return (addr < arg.addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
223 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
224
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
225 public boolean lessThanOrEqual (Address a) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
226 if (a == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
227 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
228 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
229 BsdAddress arg = (BsdAddress) a;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
230 if ((addr >= 0) && (arg.addr < 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
231 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
232 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
233 if ((addr < 0) && (arg.addr >= 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
234 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
235 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
236 return (addr <= arg.addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
237 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
238
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
239 public boolean greaterThan (Address a) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
240 if (a == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
241 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
242 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
243 BsdAddress arg = (BsdAddress) a;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
244 if ((addr >= 0) && (arg.addr < 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
245 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
246 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
247 if ((addr < 0) && (arg.addr >= 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
248 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
249 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
250 return (addr > arg.addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
251 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
252
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
253 public boolean greaterThanOrEqual(Address a) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
254 if (a == null) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
255 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
256 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
257 BsdAddress arg = (BsdAddress) a;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
258 if ((addr >= 0) && (arg.addr < 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
259 return false;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
260 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
261 if ((addr < 0) && (arg.addr >= 0)) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
262 return true;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
263 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
264 return (addr >= arg.addr);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
265 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
266
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
267 public Address andWithMask(long mask) throws UnsupportedOperationException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
268 long value = addr & mask;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
269 if (value == 0) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
270 return null;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
271 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
272 return new BsdAddress(debugger, value);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
273 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
274
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
275 public Address orWithMask(long mask) throws UnsupportedOperationException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
276 long value = addr | mask;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
277 if (value == 0) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
278 return null;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
279 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
280 return new BsdAddress(debugger, value);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
281 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
282
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
283 public Address xorWithMask(long mask) throws UnsupportedOperationException {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
284 long value = addr ^ mask;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
285 if (value == 0) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
286 return null;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
287 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
288 return new BsdAddress(debugger, value);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
289 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
290
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
291
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
292 //--------------------------------------------------------------------------------
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
293 // Internals only below this point
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
294 //
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
295
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
296 long getValue() {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
297 return addr;
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
298 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
299
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
300
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
301 private static void check(boolean arg, String failMessage) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
302 if (!arg) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
303 System.err.println(failMessage + ": FAILED");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
304 System.exit(1);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
305 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
306 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
307
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
308 // Test harness
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
309 public static void main(String[] args) {
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
310 // p/n indicates whether the interior address is really positive
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
311 // or negative. In unsigned terms, p1 < p2 < n1 < n2.
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
312
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
313 BsdAddress p1 = new BsdAddress(null, 0x7FFFFFFFFFFFFFF0L);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
314 BsdAddress p2 = (BsdAddress) p1.addOffsetTo(10);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
315 BsdAddress n1 = (BsdAddress) p2.addOffsetTo(10);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
316 BsdAddress n2 = (BsdAddress) n1.addOffsetTo(10);
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
317
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
318 // lessThan positive tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
319 check(p1.lessThan(p2), "lessThan 1");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
320 check(p1.lessThan(n1), "lessThan 2");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
321 check(p1.lessThan(n2), "lessThan 3");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
322 check(p2.lessThan(n1), "lessThan 4");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
323 check(p2.lessThan(n2), "lessThan 5");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
324 check(n1.lessThan(n2), "lessThan 6");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
325
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
326 // lessThan negative tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
327 check(!p1.lessThan(p1), "lessThan 7");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
328 check(!p2.lessThan(p2), "lessThan 8");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
329 check(!n1.lessThan(n1), "lessThan 9");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
330 check(!n2.lessThan(n2), "lessThan 10");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
331
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
332 check(!p2.lessThan(p1), "lessThan 11");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
333 check(!n1.lessThan(p1), "lessThan 12");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
334 check(!n2.lessThan(p1), "lessThan 13");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
335 check(!n1.lessThan(p2), "lessThan 14");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
336 check(!n2.lessThan(p2), "lessThan 15");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
337 check(!n2.lessThan(n1), "lessThan 16");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
338
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
339 // lessThanOrEqual positive tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
340 check(p1.lessThanOrEqual(p1), "lessThanOrEqual 1");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
341 check(p2.lessThanOrEqual(p2), "lessThanOrEqual 2");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
342 check(n1.lessThanOrEqual(n1), "lessThanOrEqual 3");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
343 check(n2.lessThanOrEqual(n2), "lessThanOrEqual 4");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
344
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
345 check(p1.lessThanOrEqual(p2), "lessThanOrEqual 5");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
346 check(p1.lessThanOrEqual(n1), "lessThanOrEqual 6");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
347 check(p1.lessThanOrEqual(n2), "lessThanOrEqual 7");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
348 check(p2.lessThanOrEqual(n1), "lessThanOrEqual 8");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
349 check(p2.lessThanOrEqual(n2), "lessThanOrEqual 9");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
350 check(n1.lessThanOrEqual(n2), "lessThanOrEqual 10");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
351
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
352 // lessThanOrEqual negative tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
353 check(!p2.lessThanOrEqual(p1), "lessThanOrEqual 11");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
354 check(!n1.lessThanOrEqual(p1), "lessThanOrEqual 12");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
355 check(!n2.lessThanOrEqual(p1), "lessThanOrEqual 13");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
356 check(!n1.lessThanOrEqual(p2), "lessThanOrEqual 14");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
357 check(!n2.lessThanOrEqual(p2), "lessThanOrEqual 15");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
358 check(!n2.lessThanOrEqual(n1), "lessThanOrEqual 16");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
359
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
360 // greaterThan positive tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
361 check(n2.greaterThan(p1), "greaterThan 1");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
362 check(n2.greaterThan(p2), "greaterThan 2");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
363 check(n2.greaterThan(n1), "greaterThan 3");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
364 check(n1.greaterThan(p1), "greaterThan 4");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
365 check(n1.greaterThan(p2), "greaterThan 5");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
366 check(p2.greaterThan(p1), "greaterThan 6");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
367
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
368 // greaterThan negative tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
369 check(!p1.greaterThan(p1), "greaterThan 7");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
370 check(!p2.greaterThan(p2), "greaterThan 8");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
371 check(!n1.greaterThan(n1), "greaterThan 9");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
372 check(!n2.greaterThan(n2), "greaterThan 10");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
373
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
374 check(!p1.greaterThan(n2), "greaterThan 11");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
375 check(!p2.greaterThan(n2), "greaterThan 12");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
376 check(!n1.greaterThan(n2), "greaterThan 13");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
377 check(!p1.greaterThan(n1), "greaterThan 14");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
378 check(!p2.greaterThan(n1), "greaterThan 15");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
379 check(!p1.greaterThan(p2), "greaterThan 16");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
380
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
381 // greaterThanOrEqual positive tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
382 check(p1.greaterThanOrEqual(p1), "greaterThanOrEqual 1");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
383 check(p2.greaterThanOrEqual(p2), "greaterThanOrEqual 2");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
384 check(n1.greaterThanOrEqual(n1), "greaterThanOrEqual 3");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
385 check(n2.greaterThanOrEqual(n2), "greaterThanOrEqual 4");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
386
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
387 check(n2.greaterThanOrEqual(p1), "greaterThanOrEqual 5");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
388 check(n2.greaterThanOrEqual(p2), "greaterThanOrEqual 6");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
389 check(n2.greaterThanOrEqual(n1), "greaterThanOrEqual 7");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
390 check(n1.greaterThanOrEqual(p1), "greaterThanOrEqual 8");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
391 check(n1.greaterThanOrEqual(p2), "greaterThanOrEqual 9");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
392 check(p2.greaterThanOrEqual(p1), "greaterThanOrEqual 10");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
393
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
394 // greaterThanOrEqual negative tests
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
395 check(!p1.greaterThanOrEqual(n2), "greaterThanOrEqual 11");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
396 check(!p2.greaterThanOrEqual(n2), "greaterThanOrEqual 12");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
397 check(!n1.greaterThanOrEqual(n2), "greaterThanOrEqual 13");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
398 check(!p1.greaterThanOrEqual(n1), "greaterThanOrEqual 14");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
399 check(!p2.greaterThanOrEqual(n1), "greaterThanOrEqual 15");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
400 check(!p1.greaterThanOrEqual(p2), "greaterThanOrEqual 16");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
401
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
402 System.err.println("BsdAddress: all tests passed successfully.");
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
403 }
f08d439fab8c 7089790: integrate bsd-port changes
never
parents:
diff changeset
404 }