public class jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer
super_class: java.lang.Object
{
final char[] chars;
descriptor: [C
flags: (0x0010) ACC_FINAL
int length;
descriptor: I
flags: (0x0000)
int decimalPoint;
descriptor: I
flags: (0x0000)
boolean isNegative;
descriptor: Z
flags: (0x0000)
public static final int kFastDtoaMaximalLength;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 17
private static volatile int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
2: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
3: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.isNegative:Z
4: aload 0
iload 1
newarray 5
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 6 1 capacity I
MethodParameters:
Name Flags
capacity final
void append(char);
descriptor: (C)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 0
dup
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
dup_x1
iconst_1
iadd
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iload 1
castore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 2 1 c C
MethodParameters:
Name Flags
c final
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
1: aload 0
iconst_0
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
public java.lang.String getRawDigits();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.lang.String
dup
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
public int getDecimalPoint();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
public int getLength();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
public java.lang.String format(jdk.nashorn.internal.runtime.doubleconv.DtoaMode, int);
descriptor: (Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.isNegative:Z
ifeq 3
2: aload 3
bipush 45
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
invokestatic jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:()[I
aload 1
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 4
2: 9
3: 11
default: 15
}
4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
bipush -5
if_icmplt 5
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
bipush 21
if_icmple 7
5: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.toExponentialFormat:(Ljava/lang/StringBuilder;)V
6: goto 15
7: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.toFixedFormat:(Ljava/lang/StringBuilder;I)V
8: goto 15
9: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.toFixedFormat:(Ljava/lang/StringBuilder;I)V
10: goto 15
11: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
bipush -5
if_icmplt 12
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmple 14
12: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.toExponentialFormat:(Ljava/lang/StringBuilder;)V
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
aload 3
iload 2
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.toFixedFormat:(Ljava/lang/StringBuilder;I)V
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 16 1 mode Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
0 16 2 digitsAfterPoint I
1 16 3 buffer Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
mode final
digitsAfterPoint final
private void toFixedFormat(java.lang.StringBuilder, int);
descriptor: (Ljava/lang/StringBuilder;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
ifgt 14
1: aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
2: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
ifle 12
3: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
ineg
istore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 9
7: StackMap locals: int int
StackMap stack:
aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: iinc 4 1
StackMap locals:
StackMap stack:
9: iload 4
iload 3
if_icmplt 7
end local 4 10: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
end local 3 11: goto 26
12: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
13: goto 26
StackMap locals:
StackMap stack:
14: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmplt 22
15: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
16: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
istore 3
start local 3 17: goto 20
18: StackMap locals: int
StackMap stack:
aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: iinc 3 1
StackMap locals:
StackMap stack:
20: iload 3
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
if_icmplt 18
end local 3 21: goto 26
StackMap locals:
StackMap stack:
22: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmpge 26
23: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
24: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
26: StackMap locals:
StackMap stack:
iload 2
ifle 34
27: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
if_icmplt 29
28: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
29: StackMap locals:
StackMap stack:
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
isub
invokestatic java.lang.Math.max:(II)I
istore 3
start local 3 30: goto 33
31: StackMap locals: int
StackMap stack:
aload 1
bipush 48
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
32: iinc 3 1
StackMap locals:
StackMap stack:
33: iload 3
iload 2
if_icmplt 31
end local 3 34: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 35 1 buffer Ljava/lang/StringBuilder;
0 35 2 digitsAfterPoint I
5 11 3 padding I
6 10 4 i I
17 21 3 i I
30 34 3 i I
MethodParameters:
Name Flags
buffer final
digitsAfterPoint final
private void toExponentialFormat(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
1: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
if_icmple 4
2: aload 1
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: aload 1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_1
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
iconst_1
isub
invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
pop
4: StackMap locals:
StackMap stack:
aload 1
bipush 101
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
iconst_1
isub
istore 2
start local 2 6: iload 2
ifle 8
7: aload 1
bipush 43
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: StackMap locals: int
StackMap stack:
aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
9: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
0 10 1 buffer Ljava/lang/StringBuilder;
6 10 2 exponent I
MethodParameters:
Name Flags
buffer final
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "[chars:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.chars:[C
iconst_0
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.length:I
invokespecial java.lang.String.<init>:([CII)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", decimalPoint:"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.decimalPoint:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/nashorn/internal/runtime/doubleconv/DtoaBuffer;
static int[] $SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.values:()[Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.FIXED:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.PRECISION:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.nashorn.internal.runtime.doubleconv.DtoaMode.SHORTEST:Ljdk/nashorn/internal/runtime/doubleconv/DtoaMode;
invokevirtual jdk.nashorn.internal.runtime.doubleconv.DtoaMode.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic jdk.nashorn.internal.runtime.doubleconv.DtoaBuffer.$SWITCH_TABLE$jdk$nashorn$internal$runtime$doubleconv$DtoaMode:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "DtoaBuffer.java"