Bug on Solaris

Martin Kahlert martin.kahlert@infineon.com
Tue Jan 8 03:46:00 GMT 2002


Hi!
Sorry,
here are the missing parts (Double.class on Linux/Solaris).
Thanks,
Martin.

-- 
The early bird catches the worm. If you want something else for       
breakfast, get up later.
-------------- next part --------------
Reading .class from Double.class.
Magic number: 0xcafebabe, minor_version: 3, major_version: 45.

Constant pool (count: 121):
#1: Utf8: "java/lang/Double"
#2: Class name: 1="java/lang/Double"
#3: Utf8: "java/lang/Number"
#4: Class name: 3="java/lang/Number"
#5: Utf8: "java/lang/Comparable"
#6: Class name: 5="java/lang/Comparable"
#7: Utf8: "MIN_VALUE"
#8: Utf8: "D"
#9: Utf8: "ConstantValue"
#10: Double 4.9406564584124654418e-324, bits = 0x0000000000000001
#12: Utf8: "MAX_VALUE"
#13: Double 1.7976931348623157081e+308, bits = 0x7fefffffffffffff
#15: Utf8: "NEGATIVE_INFINITY"
#16: Double -inf, bits = 0xfff0000000000000
#18: Utf8: "POSITIVE_INFINITY"
#19: Double inf, bits = 0x7ff0000000000000
#21: Utf8: "NaN"
#22: Double nan, bits = 0x7fffffffffffffff
#24: Utf8: "TYPE"
#25: Utf8: "Ljava/lang/Class;"
#26: Utf8: "value"
#27: Utf8: "serialVersionUID"
#28: Utf8: "J"
#29: Long -9172774392245257468=0x80b3c24a296bfb04
#31: Utf8: "<init>"
#32: Utf8: "(D)V"
#33: Utf8: "Code"
#34: Utf8: "()V"
#35: NameAndType name: 31=<init>, signature: 34=()void
#36: Methodref class: 4=java.lang.Number name_and_type: 35=<<init> ()void>
#37: NameAndType name: 26=value, signature: 8=double
#38: Fieldref class: 2=java.lang.Double name_and_type: 37=<value double>
#39: Utf8: "LineNumberTable"
#40: Utf8: "LocalVariableTable"
#41: Utf8: "this"
#42: Utf8: "Ljava/lang/Double;"
#43: Utf8: "(Ljava/lang/String;)V"
#44: Utf8: "parseDouble"
#45: Utf8: "(Ljava/lang/String;)D"
#46: NameAndType name: 44=parseDouble, signature: 45=(java.lang.String)double
#47: Methodref class: 2=java.lang.Double name_and_type: 46=<parseDouble (java.lang.String)double>
#48: Utf8: "s"
#49: Utf8: "Ljava/lang/String;"
#50: Utf8: "Exceptions"
#51: Utf8: "java/lang/NumberFormatException"
#52: Class name: 51="java/lang/NumberFormatException"
#53: Utf8: "toString"
#54: Utf8: "()Ljava/lang/String;"
#55: Utf8: "(D)Ljava/lang/String;"
#56: NameAndType name: 53=toString, signature: 55=(double)java.lang.String
#57: Methodref class: 2=java.lang.Double name_and_type: 56=<toString (double)java.lang.String>
#58: Utf8: "equals"
#59: Utf8: "(Ljava/lang/Object;)Z"
#60: Utf8: "doubleToLongBits"
#61: Utf8: "(D)J"
#62: NameAndType name: 60=doubleToLongBits, signature: 61=(double)long
#63: Methodref class: 2=java.lang.Double name_and_type: 62=<doubleToLongBits (double)long>
#64: Utf8: "doubleValue"
#65: Utf8: "()D"
#66: NameAndType name: 64=doubleValue, signature: 65=()double
#67: Methodref class: 2=java.lang.Double name_and_type: 66=<doubleValue ()double>
#68: Utf8: "obj"
#69: Utf8: "Ljava/lang/Object;"
#70: Utf8: "d"
#71: Utf8: "hashCode"
#72: Utf8: "()I"
#73: Utf8: "v"
#74: Utf8: "intValue"
#75: Utf8: "longValue"
#76: Utf8: "()J"
#77: Utf8: "floatValue"
#78: Utf8: "()F"
#79: Utf8: "valueOf"
#80: Utf8: "(Ljava/lang/String;)Ljava/lang/Double;"
#81: NameAndType name: 31=<init>, signature: 43=(java.lang.String)void
#82: Methodref class: 2=java.lang.Double name_and_type: 81=<<init> (java.lang.String)void>
#83: Utf8: "isNaN"
#84: Utf8: "()Z"
#85: Utf8: "(D)Z"
#86: NameAndType name: 83=isNaN, signature: 85=(double)boolean
#87: Methodref class: 2=java.lang.Double name_and_type: 86=<isNaN (double)boolean>
#88: Utf8: "isInfinite"
#89: NameAndType name: 88=isInfinite, signature: 85=(double)boolean
#90: Methodref class: 2=java.lang.Double name_and_type: 89=<isInfinite (double)boolean>
#91: Utf8: "compareTo"
#92: Utf8: "(Ljava/lang/Double;)I"
#93: Utf8: "compare"
#94: Utf8: "(DD)I"
#95: NameAndType name: 93=compare, signature: 94=(double,double)int
#96: Methodref class: 2=java.lang.Double name_and_type: 95=<compare (double,double)int>
#97: Utf8: "x"
#98: Utf8: "y"
#99: Utf8: "(Ljava/lang/Object;)I"
#100: NameAndType name: 91=compareTo, signature: 92=(java.lang.Double)int
#101: Methodref class: 2=java.lang.Double name_and_type: 100=<compareTo (java.lang.Double)int>
#102: Utf8: "o"
#103: Utf8: "(DZ)Ljava/lang/String;"
#104: NameAndType name: 53=toString, signature: 103=(double,boolean)java.lang.String
#105: Methodref class: 2=java.lang.Double name_and_type: 104=<toString (double,boolean)java.lang.String>
#106: Utf8: "doubleToRawLongBits"
#107: Utf8: "longBitsToDouble"
#108: Utf8: "(J)D"
#109: Utf8: "initIDs"
#110: Utf8: "<clinit>"
#111: Utf8: "java/lang/VMClassLoader"
#112: Class name: 111="java/lang/VMClassLoader"
#113: Utf8: "getPrimitiveClass"
#114: Utf8: "(C)Ljava/lang/Class;"
#115: NameAndType name: 113=getPrimitiveClass, signature: 114=(char)java.lang.Class
#116: Methodref class: 112=java.lang.VMClassLoader name_and_type: 115=<getPrimitiveClass (char)java.lang.Class>
#117: NameAndType name: 24=TYPE, signature: 25=java.lang.Class
#118: Fieldref class: 2=java.lang.Double name_and_type: 117=<TYPE java.lang.Class>
#119: Utf8: "SourceFile"
#120: Utf8: "Double.java"

Access flags: 0x31 public final super
This class: 2=java.lang.Double, super: 4=java.lang.Number
Interfaces (count: 1):
- Implements: 6=java.lang.Comparable

Fields (count: 8):
Field name:"MIN_VALUE" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #10=<Double 4.9406564584124654418e-324>
Field name:"MAX_VALUE" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #13=<Double 1.7976931348623157081e+308>
Field name:"NEGATIVE_INFINITY" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #16=<Double -inf>
Field name:"POSITIVE_INFINITY" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #19=<Double inf>
Field name:"NaN" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #22=<Double nan>
Field name:"TYPE" public static final Signature: 25=java.lang.Class
Field name:"value" private final Signature: 8=double
Field name:"serialVersionUID" private static final Signature: 28=long
Attribute "ConstantValue", length:2, value: #29=<Long -9172774392245257468>

Methods (count: 25):

Method name:"<init>" public Signature: 32=(double)void
Attribute "Code", length:62, max_stack:3, max_locals:3, code_length:10
  0: aload_0
  1: invokespecial #36=<Method java.lang.Number.<init> ()void>
  4: aload_0
  5: dload_1
  6: putfield #38=<Field java.lang.Double.value double>
  9: return
Attribute "LineNumberTable", length:6, count: 1
  line: 112 at pc: 4
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 10)
  slot#1: name: 26=value, type: 8=double (pc: 0 length: 10)

Method name:"<init>" public Signature: 43=(java.lang.String)void
Attribute "Code", length:65, max_stack:3, max_locals:2, code_length:13
  0: aload_0
  1: invokespecial #36=<Method java.lang.Number.<init> ()void>
  4: aload_0
  5: aload_1
  6: invokestatic #47=<Method java.lang.Double.parseDouble (java.lang.String)double>
  9: putfield #38=<Field java.lang.Double.value double>
 12: return
Attribute "LineNumberTable", length:6, count: 1
  line: 128 at pc: 4
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 13)
  slot#1: name: 48=s, type: 49=java.lang.String (pc: 0 length: 13)
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"toString" public Signature: 54=()java.lang.String
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #57=<Method java.lang.Double.toString (double)java.lang.String>
  7: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 141 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"equals" public Signature: 59=(java.lang.Object)boolean
Attribute "Code", length:112, max_stack:5, max_locals:3, code_length:38
  0: aload_1
  1: instanceof #2=<Class java.lang.Double>
  4: ifne 9
  7: iconst_0
  8: ireturn
  9: aload_1
 10: checkcast #2=<Class java.lang.Double>
 13: astore_2
 14: aload_0
 15: getfield #38=<Field java.lang.Double.value double>
 18: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
 21: aload_2
 22: invokevirtual #67=<Method java.lang.Double.doubleValue ()double>
 25: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
 28: lcmp
 29: ifne 36
 32: iconst_1
 33: goto 37
 36: iconst_0
 37: ireturn
Attribute "LineNumberTable", length:18, count: 4
  line: 163 at pc: 0
  line: 164 at pc: 7
  line: 166 at pc: 9
  line: 168 at pc: 14
Attribute "LocalVariableTable", length:32, count: 3
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 38)
  slot#1: name: 68=obj, type: 69=java.lang.Object (pc: 0 length: 38)
  slot#2: name: 70=d, type: 42=java.lang.Double (pc: 9 length: 29)

Method name:"hashCode" public Signature: 72=()int
Attribute "Code", length:73, max_stack:4, max_locals:3, code_length:17
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
  7: lstore_1
  8: lload_1
  9: l2i
 10: lload_1
 11: bipush 32
 13: lushr
 14: l2i
 15: ixor
 16: ireturn
Attribute "LineNumberTable", length:10, count: 2
  line: 181 at pc: 0
  line: 182 at pc: 8
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 17)
  slot#1: name: 73=v, type: 28=long (pc: 0 length: 17)

Method name:"intValue" public Signature: 72=()int
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2i
  5: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 191 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"longValue" public Signature: 76=()long
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2l
  5: lreturn
Attribute "LineNumberTable", length:6, count: 1
  line: 200 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"floatValue" public Signature: 78=()float
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2f
  5: freturn
Attribute "LineNumberTable", length:6, count: 1
  line: 209 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"doubleValue" public Signature: 65=()double
Attribute "Code", length:47, max_stack:2, max_locals:1, code_length:5
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: dreturn
Attribute "LineNumberTable", length:6, count: 1
  line: 218 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 5)

Method name:"valueOf" public static Signature: 80=(java.lang.String)java.lang.Double
Attribute "Code", length:51, max_stack:3, max_locals:1, code_length:9
  0: new #2=<Class java.lang.Double>
  3: dup
  4: aload_0
  5: invokespecial #82=<Method java.lang.Double.<init> (java.lang.String)void>
  8: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 237 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 48=s, type: 49=java.lang.String (pc: 0 length: 9)
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"isNaN" public Signature: 84=()boolean
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
  7: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 247 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"isNaN" public static Signature: 85=(double)boolean
Attribute "Code", length:54, max_stack:4, max_locals:2, code_length:12
  0: dload_0
  1: dload_0
  2: dcmpl
  3: ifeq 10
  6: iconst_1
  7: goto 11
 10: iconst_0
 11: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 261 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 73=v, type: 8=double (pc: 0 length: 12)

Method name:"isInfinite" public Signature: 84=()boolean
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #90=<Method java.lang.Double.isInfinite (double)boolean>
  7: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 273 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"isInfinite" public static Signature: 85=(double)boolean
Attribute "Code", length:67, max_stack:4, max_locals:2, code_length:25
  0: dload_0
  1: ldc2_w #19=<Double inf>
  4: dcmpl
  5: ifne 11
  8: goto 19
 11: dload_0
 12: ldc2_w #16=<Double -inf>
 15: dcmpl
 16: ifne 23
 19: iconst_1
 20: goto 24
 23: iconst_0
 24: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 286 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 73=v, type: 8=double (pc: 0 length: 25)

Method name:"compareTo" public Signature: 92=(java.lang.Double)int
Attribute "Code", length:64, max_stack:4, max_locals:2, code_length:12
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: aload_1
  5: getfield #38=<Field java.lang.Double.value double>
  8: invokestatic #96=<Method java.lang.Double.compare (double,double)int>
 11: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 310 at pc: 0
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 12)
  slot#1: name: 70=d, type: 42=java.lang.Double (pc: 0 length: 12)

Method name:"compare" public static Signature: 94=(double,double)int
Attribute "Code", length:165, max_stack:10, max_locals:4, code_length:73
  0: dload_0
  1: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
  4: ifeq 18
  7: dload_2
  8: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
 11: ifeq 16
 14: iconst_0
 15: ireturn
 16: iconst_1
 17: ireturn
 18: dload_2
 19: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
 22: ifeq 27
 25: iconst_m1
 26: ireturn
 27: dload_0
 28: dconst_0
 29: dcmpl
 30: ifne 41
 33: dload_2
 34: dconst_0
 35: dcmpl
 36: ifne 41
 39: iconst_1
 40: ireturn
 41: dload_0
 42: dconst_0
 43: dcmpl
 44: ifne 55
 47: dload_2
 48: dconst_0
 49: dcmpl
 50: ifne 55
 53: iconst_m1
 54: ireturn
 55: dload_0
 56: dload_2
 57: dcmpl
 58: ifne 63
 61: iconst_0
 62: ireturn
 63: dload_0
 64: dload_2
 65: dcmpl
 66: ifle 71
 69: iconst_1
 70: ireturn
 71: iconst_m1
 72: ireturn
Attribute "LineNumberTable", length:46, count: 11
  line: 333 at pc: 0
  line: 334 at pc: 7
  line: 335 at pc: 18
  line: 336 at pc: 25
  line: 337 at pc: 27
  line: 338 at pc: 39
  line: 339 at pc: 41
  line: 340 at pc: 53
  line: 341 at pc: 55
  line: 342 at pc: 61
  line: 344 at pc: 63
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 97=x, type: 8=double (pc: 0 length: 73)
  slot#2: name: 98=y, type: 8=double (pc: 0 length: 73)

Method name:"compareTo" public Signature: 99=(java.lang.Object)int
Attribute "Code", length:61, max_stack:2, max_locals:2, code_length:9
  0: aload_0
  1: aload_1
  2: checkcast #2=<Class java.lang.Double>
  5: invokevirtual #101=<Method java.lang.Double.compareTo (java.lang.Double)int>
  8: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 360 at pc: 0
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 9)
  slot#1: name: 102=o, type: 69=java.lang.Object (pc: 0 length: 9)

Method name:"toString" public static Signature: 55=(double)java.lang.String
Attribute "Code", length:48, max_stack:3, max_locals:2, code_length:6
  0: dload_0
  1: iconst_0
  2: invokestatic #105=<Method java.lang.Double.toString (double,boolean)java.lang.String>
  5: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 412 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 70=d, type: 8=double (pc: 0 length: 6)

Method name:"toString" static native Signature: 103=(double,boolean)java.lang.String

Method name:"doubleToLongBits" public static native Signature: 61=(double)long

Method name:"doubleToRawLongBits" public static native Signature: 61=(double)long

Method name:"longBitsToDouble" public static native Signature: 108=(long)double

Method name:"parseDouble" public static native Signature: 45=(java.lang.String)double
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"initIDs" private static native Signature: 34=()void

Method name:"<clinit>" static Signature: 34=()void
Attribute "Code", length:33, max_stack:1, max_locals:0, code_length:9
  0: bipush 68
  2: invokestatic #116=<Method java.lang.VMClassLoader.getPrimitiveClass (char)java.lang.Class>
  5: putstatic #118=<Field java.lang.Double.TYPE java.lang.Class>
  8: return
Attribute "LineNumberTable", length:6, count: 1
  line: 83 at pc: 0

Attributes (count: 1):
Attribute "SourceFile", length:2, #120="Double.java"
-------------- next part --------------
Reading .class from Double.class.
Magic number: 0xcafebabe, minor_version: 3, major_version: 45.

Constant pool (count: 121):
#1: Utf8: "java/lang/Double"
#2: Class name: 1="java/lang/Double"
#3: Utf8: "java/lang/Number"
#4: Class name: 3="java/lang/Number"
#5: Utf8: "java/lang/Comparable"
#6: Class name: 5="java/lang/Comparable"
#7: Utf8: "MIN_VALUE"
#8: Utf8: "D"
#9: Utf8: "ConstantValue"
#10: Double 4.9406564584124654418e-324, bits = 0x0000000000000001
#12: Utf8: "MAX_VALUE"
#13: Double 1.7976931348623157081e+308, bits = 0x7fefffffffffffff
#15: Utf8: "NEGATIVE_INFINITY"
#16: Double -inf, bits = 0xfff0000000000000
#18: Utf8: "POSITIVE_INFINITY"
#19: Double inf, bits = 0x7ff0000000000000
#21: Utf8: "NaN"
#22: Double nan, bits = 0x7ff8000000000000
#24: Utf8: "TYPE"
#25: Utf8: "Ljava/lang/Class;"
#26: Utf8: "value"
#27: Utf8: "serialVersionUID"
#28: Utf8: "J"
#29: Long -9172774392245257468=0x80b3c24a296bfb04
#31: Utf8: "<init>"
#32: Utf8: "(D)V"
#33: Utf8: "Code"
#34: Utf8: "()V"
#35: NameAndType name: 31=<init>, signature: 34=()void
#36: Methodref class: 4=java.lang.Number name_and_type: 35=<<init> ()void>
#37: NameAndType name: 26=value, signature: 8=double
#38: Fieldref class: 2=java.lang.Double name_and_type: 37=<value double>
#39: Utf8: "LineNumberTable"
#40: Utf8: "LocalVariableTable"
#41: Utf8: "this"
#42: Utf8: "Ljava/lang/Double;"
#43: Utf8: "(Ljava/lang/String;)V"
#44: Utf8: "parseDouble"
#45: Utf8: "(Ljava/lang/String;)D"
#46: NameAndType name: 44=parseDouble, signature: 45=(java.lang.String)double
#47: Methodref class: 2=java.lang.Double name_and_type: 46=<parseDouble (java.lang.String)double>
#48: Utf8: "s"
#49: Utf8: "Ljava/lang/String;"
#50: Utf8: "Exceptions"
#51: Utf8: "java/lang/NumberFormatException"
#52: Class name: 51="java/lang/NumberFormatException"
#53: Utf8: "toString"
#54: Utf8: "()Ljava/lang/String;"
#55: Utf8: "(D)Ljava/lang/String;"
#56: NameAndType name: 53=toString, signature: 55=(double)java.lang.String
#57: Methodref class: 2=java.lang.Double name_and_type: 56=<toString (double)java.lang.String>
#58: Utf8: "equals"
#59: Utf8: "(Ljava/lang/Object;)Z"
#60: Utf8: "doubleToLongBits"
#61: Utf8: "(D)J"
#62: NameAndType name: 60=doubleToLongBits, signature: 61=(double)long
#63: Methodref class: 2=java.lang.Double name_and_type: 62=<doubleToLongBits (double)long>
#64: Utf8: "doubleValue"
#65: Utf8: "()D"
#66: NameAndType name: 64=doubleValue, signature: 65=()double
#67: Methodref class: 2=java.lang.Double name_and_type: 66=<doubleValue ()double>
#68: Utf8: "obj"
#69: Utf8: "Ljava/lang/Object;"
#70: Utf8: "d"
#71: Utf8: "hashCode"
#72: Utf8: "()I"
#73: Utf8: "v"
#74: Utf8: "intValue"
#75: Utf8: "longValue"
#76: Utf8: "()J"
#77: Utf8: "floatValue"
#78: Utf8: "()F"
#79: Utf8: "valueOf"
#80: Utf8: "(Ljava/lang/String;)Ljava/lang/Double;"
#81: NameAndType name: 31=<init>, signature: 43=(java.lang.String)void
#82: Methodref class: 2=java.lang.Double name_and_type: 81=<<init> (java.lang.String)void>
#83: Utf8: "isNaN"
#84: Utf8: "()Z"
#85: Utf8: "(D)Z"
#86: NameAndType name: 83=isNaN, signature: 85=(double)boolean
#87: Methodref class: 2=java.lang.Double name_and_type: 86=<isNaN (double)boolean>
#88: Utf8: "isInfinite"
#89: NameAndType name: 88=isInfinite, signature: 85=(double)boolean
#90: Methodref class: 2=java.lang.Double name_and_type: 89=<isInfinite (double)boolean>
#91: Utf8: "compareTo"
#92: Utf8: "(Ljava/lang/Double;)I"
#93: Utf8: "compare"
#94: Utf8: "(DD)I"
#95: NameAndType name: 93=compare, signature: 94=(double,double)int
#96: Methodref class: 2=java.lang.Double name_and_type: 95=<compare (double,double)int>
#97: Utf8: "x"
#98: Utf8: "y"
#99: Utf8: "(Ljava/lang/Object;)I"
#100: NameAndType name: 91=compareTo, signature: 92=(java.lang.Double)int
#101: Methodref class: 2=java.lang.Double name_and_type: 100=<compareTo (java.lang.Double)int>
#102: Utf8: "o"
#103: Utf8: "(DZ)Ljava/lang/String;"
#104: NameAndType name: 53=toString, signature: 103=(double,boolean)java.lang.String
#105: Methodref class: 2=java.lang.Double name_and_type: 104=<toString (double,boolean)java.lang.String>
#106: Utf8: "doubleToRawLongBits"
#107: Utf8: "longBitsToDouble"
#108: Utf8: "(J)D"
#109: Utf8: "initIDs"
#110: Utf8: "<clinit>"
#111: Utf8: "java/lang/VMClassLoader"
#112: Class name: 111="java/lang/VMClassLoader"
#113: Utf8: "getPrimitiveClass"
#114: Utf8: "(C)Ljava/lang/Class;"
#115: NameAndType name: 113=getPrimitiveClass, signature: 114=(char)java.lang.Class
#116: Methodref class: 112=java.lang.VMClassLoader name_and_type: 115=<getPrimitiveClass (char)java.lang.Class>
#117: NameAndType name: 24=TYPE, signature: 25=java.lang.Class
#118: Fieldref class: 2=java.lang.Double name_and_type: 117=<TYPE java.lang.Class>
#119: Utf8: "SourceFile"
#120: Utf8: "Double.java"

Access flags: 0x31 public final super
This class: 2=java.lang.Double, super: 4=java.lang.Number
Interfaces (count: 1):
- Implements: 6=java.lang.Comparable

Fields (count: 8):
Field name:"MIN_VALUE" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #10=<Double 4.9406564584124654418e-324>
Field name:"MAX_VALUE" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #13=<Double 1.7976931348623157081e+308>
Field name:"NEGATIVE_INFINITY" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #16=<Double -inf>
Field name:"POSITIVE_INFINITY" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #19=<Double inf>
Field name:"NaN" public static final Signature: 8=double
Attribute "ConstantValue", length:2, value: #22=<Double nan>
Field name:"TYPE" public static final Signature: 25=java.lang.Class
Field name:"value" private final Signature: 8=double
Field name:"serialVersionUID" private static final Signature: 28=long
Attribute "ConstantValue", length:2, value: #29=<Long -9172774392245257468>

Methods (count: 25):

Method name:"<init>" public Signature: 32=(double)void
Attribute "Code", length:62, max_stack:3, max_locals:3, code_length:10
  0: aload_0
  1: invokespecial #36=<Method java.lang.Number.<init> ()void>
  4: aload_0
  5: dload_1
  6: putfield #38=<Field java.lang.Double.value double>
  9: return
Attribute "LineNumberTable", length:6, count: 1
  line: 112 at pc: 4
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 10)
  slot#1: name: 26=value, type: 8=double (pc: 0 length: 10)

Method name:"<init>" public Signature: 43=(java.lang.String)void
Attribute "Code", length:65, max_stack:3, max_locals:2, code_length:13
  0: aload_0
  1: invokespecial #36=<Method java.lang.Number.<init> ()void>
  4: aload_0
  5: aload_1
  6: invokestatic #47=<Method java.lang.Double.parseDouble (java.lang.String)double>
  9: putfield #38=<Field java.lang.Double.value double>
 12: return
Attribute "LineNumberTable", length:6, count: 1
  line: 128 at pc: 4
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 13)
  slot#1: name: 48=s, type: 49=java.lang.String (pc: 0 length: 13)
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"toString" public Signature: 54=()java.lang.String
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #57=<Method java.lang.Double.toString (double)java.lang.String>
  7: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 141 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"equals" public Signature: 59=(java.lang.Object)boolean
Attribute "Code", length:112, max_stack:5, max_locals:3, code_length:38
  0: aload_1
  1: instanceof #2=<Class java.lang.Double>
  4: ifne 9
  7: iconst_0
  8: ireturn
  9: aload_1
 10: checkcast #2=<Class java.lang.Double>
 13: astore_2
 14: aload_0
 15: getfield #38=<Field java.lang.Double.value double>
 18: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
 21: aload_2
 22: invokevirtual #67=<Method java.lang.Double.doubleValue ()double>
 25: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
 28: lcmp
 29: ifne 36
 32: iconst_1
 33: goto 37
 36: iconst_0
 37: ireturn
Attribute "LineNumberTable", length:18, count: 4
  line: 163 at pc: 0
  line: 164 at pc: 7
  line: 166 at pc: 9
  line: 168 at pc: 14
Attribute "LocalVariableTable", length:32, count: 3
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 38)
  slot#1: name: 68=obj, type: 69=java.lang.Object (pc: 0 length: 38)
  slot#2: name: 70=d, type: 42=java.lang.Double (pc: 9 length: 29)

Method name:"hashCode" public Signature: 72=()int
Attribute "Code", length:73, max_stack:4, max_locals:3, code_length:17
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #63=<Method java.lang.Double.doubleToLongBits (double)long>
  7: lstore_1
  8: lload_1
  9: l2i
 10: lload_1
 11: bipush 32
 13: lushr
 14: l2i
 15: ixor
 16: ireturn
Attribute "LineNumberTable", length:10, count: 2
  line: 181 at pc: 0
  line: 182 at pc: 8
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 17)
  slot#1: name: 73=v, type: 28=long (pc: 0 length: 17)

Method name:"intValue" public Signature: 72=()int
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2i
  5: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 191 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"longValue" public Signature: 76=()long
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2l
  5: lreturn
Attribute "LineNumberTable", length:6, count: 1
  line: 200 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"floatValue" public Signature: 78=()float
Attribute "Code", length:48, max_stack:2, max_locals:1, code_length:6
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: d2f
  5: freturn
Attribute "LineNumberTable", length:6, count: 1
  line: 209 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 6)

Method name:"doubleValue" public Signature: 65=()double
Attribute "Code", length:47, max_stack:2, max_locals:1, code_length:5
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: dreturn
Attribute "LineNumberTable", length:6, count: 1
  line: 218 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 5)

Method name:"valueOf" public static Signature: 80=(java.lang.String)java.lang.Double
Attribute "Code", length:51, max_stack:3, max_locals:1, code_length:9
  0: new #2=<Class java.lang.Double>
  3: dup
  4: aload_0
  5: invokespecial #82=<Method java.lang.Double.<init> (java.lang.String)void>
  8: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 237 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 48=s, type: 49=java.lang.String (pc: 0 length: 9)
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"isNaN" public Signature: 84=()boolean
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
  7: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 247 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"isNaN" public static Signature: 85=(double)boolean
Attribute "Code", length:54, max_stack:4, max_locals:2, code_length:12
  0: dload_0
  1: dload_0
  2: dcmpl
  3: ifeq 10
  6: iconst_1
  7: goto 11
 10: iconst_0
 11: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 261 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 73=v, type: 8=double (pc: 0 length: 12)

Method name:"isInfinite" public Signature: 84=()boolean
Attribute "Code", length:50, max_stack:2, max_locals:1, code_length:8
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: invokestatic #90=<Method java.lang.Double.isInfinite (double)boolean>
  7: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 273 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 8)

Method name:"isInfinite" public static Signature: 85=(double)boolean
Attribute "Code", length:67, max_stack:4, max_locals:2, code_length:25
  0: dload_0
  1: ldc2_w #19=<Double inf>
  4: dcmpl
  5: ifne 11
  8: goto 19
 11: dload_0
 12: ldc2_w #16=<Double -inf>
 15: dcmpl
 16: ifne 23
 19: iconst_1
 20: goto 24
 23: iconst_0
 24: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 286 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 73=v, type: 8=double (pc: 0 length: 25)

Method name:"compareTo" public Signature: 92=(java.lang.Double)int
Attribute "Code", length:64, max_stack:4, max_locals:2, code_length:12
  0: aload_0
  1: getfield #38=<Field java.lang.Double.value double>
  4: aload_1
  5: getfield #38=<Field java.lang.Double.value double>
  8: invokestatic #96=<Method java.lang.Double.compare (double,double)int>
 11: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 310 at pc: 0
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 12)
  slot#1: name: 70=d, type: 42=java.lang.Double (pc: 0 length: 12)

Method name:"compare" public static Signature: 94=(double,double)int
Attribute "Code", length:165, max_stack:10, max_locals:4, code_length:73
  0: dload_0
  1: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
  4: ifeq 18
  7: dload_2
  8: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
 11: ifeq 16
 14: iconst_0
 15: ireturn
 16: iconst_1
 17: ireturn
 18: dload_2
 19: invokestatic #87=<Method java.lang.Double.isNaN (double)boolean>
 22: ifeq 27
 25: iconst_m1
 26: ireturn
 27: dload_0
 28: dconst_0
 29: dcmpl
 30: ifne 41
 33: dload_2
 34: dconst_0
 35: dcmpl
 36: ifne 41
 39: iconst_1
 40: ireturn
 41: dload_0
 42: dconst_0
 43: dcmpl
 44: ifne 55
 47: dload_2
 48: dconst_0
 49: dcmpl
 50: ifne 55
 53: iconst_m1
 54: ireturn
 55: dload_0
 56: dload_2
 57: dcmpl
 58: ifne 63
 61: iconst_0
 62: ireturn
 63: dload_0
 64: dload_2
 65: dcmpl
 66: ifle 71
 69: iconst_1
 70: ireturn
 71: iconst_m1
 72: ireturn
Attribute "LineNumberTable", length:46, count: 11
  line: 333 at pc: 0
  line: 334 at pc: 7
  line: 335 at pc: 18
  line: 336 at pc: 25
  line: 337 at pc: 27
  line: 338 at pc: 39
  line: 339 at pc: 41
  line: 340 at pc: 53
  line: 341 at pc: 55
  line: 342 at pc: 61
  line: 344 at pc: 63
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 97=x, type: 8=double (pc: 0 length: 73)
  slot#2: name: 98=y, type: 8=double (pc: 0 length: 73)

Method name:"compareTo" public Signature: 99=(java.lang.Object)int
Attribute "Code", length:61, max_stack:2, max_locals:2, code_length:9
  0: aload_0
  1: aload_1
  2: checkcast #2=<Class java.lang.Double>
  5: invokevirtual #101=<Method java.lang.Double.compareTo (java.lang.Double)int>
  8: ireturn
Attribute "LineNumberTable", length:6, count: 1
  line: 360 at pc: 0
Attribute "LocalVariableTable", length:22, count: 2
  slot#0: name: 41=this, type: 42=java.lang.Double (pc: 0 length: 9)
  slot#1: name: 102=o, type: 69=java.lang.Object (pc: 0 length: 9)

Method name:"toString" public static Signature: 55=(double)java.lang.String
Attribute "Code", length:48, max_stack:3, max_locals:2, code_length:6
  0: dload_0
  1: iconst_0
  2: invokestatic #105=<Method java.lang.Double.toString (double,boolean)java.lang.String>
  5: areturn
Attribute "LineNumberTable", length:6, count: 1
  line: 412 at pc: 0
Attribute "LocalVariableTable", length:12, count: 1
  slot#0: name: 70=d, type: 8=double (pc: 0 length: 6)

Method name:"toString" static native Signature: 103=(double,boolean)java.lang.String

Method name:"doubleToLongBits" public static native Signature: 61=(double)long

Method name:"doubleToRawLongBits" public static native Signature: 61=(double)long

Method name:"longBitsToDouble" public static native Signature: 108=(long)double

Method name:"parseDouble" public static native Signature: 45=(java.lang.String)double
Attribute "Exceptions", length:4, count: 1
  0: #52=<Class java.lang.NumberFormatException>

Method name:"initIDs" private static native Signature: 34=()void

Method name:"<clinit>" static Signature: 34=()void
Attribute "Code", length:33, max_stack:1, max_locals:0, code_length:9
  0: bipush 68
  2: invokestatic #116=<Method java.lang.VMClassLoader.getPrimitiveClass (char)java.lang.Class>
  5: putstatic #118=<Field java.lang.Double.TYPE java.lang.Class>
  8: return
Attribute "LineNumberTable", length:6, count: 1
  line: 83 at pc: 0

Attributes (count: 1):
Attribute "SourceFile", length:2, #120="Double.java"


More information about the Java mailing list