public final class com.oracle.truffle.js.runtime.objects.JSLazyString implements java.lang.CharSequence, com.oracle.truffle.api.interop.TruffleObject, com.oracle.truffle.js.runtime.objects.JSLazyStringFlattened, com.oracle.truffle.js.runtime.objects.JSLazyStringRaw
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.runtime.objects.JSLazyString
super_class: java.lang.Object
{
private java.lang.CharSequence left;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private java.lang.CharSequence right;
descriptor: Ljava/lang/CharSequence;
flags: (0x0002) ACC_PRIVATE
private final int length;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public static java.lang.CharSequence create(java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 2
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.CharSequence.length:()I
ifne 4
3: aload 1
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.lang.CharSequence.length:()I
ifne 6
5: aload 0
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.CharSequence.length:()I
aload 1
invokeinterface java.lang.CharSequence.length:()I
iadd
istore 2
start local 2 7: iload 2
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getStringLengthLimit:()I
if_icmple 9
8: invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidStringLength:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
9: StackMap locals: int
StackMap stack:
iload 2
bipush 20
if_icmpge 11
10: aload 0
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aload 1
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
areturn
11: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.objects.JSLazyString
dup
aload 0
aload 1
iload 2
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 left Ljava/lang/CharSequence;
0 12 1 right Ljava/lang/CharSequence;
7 12 2 resultLength I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
public static com.oracle.truffle.js.runtime.objects.JSLazyString createChecked(java.lang.CharSequence, java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.assertChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.objects.JSLazyString
dup
aload 0
aload 1
iload 2
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 left Ljava/lang/CharSequence;
0 2 1 right Ljava/lang/CharSequence;
0 2 2 length I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(allowInlining = true)
MethodParameters:
Name Flags
left
right
length
private static boolean assertChecked(java.lang.CharSequence, java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 2
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 3
iload 2
aload 0
invokeinterface java.lang.CharSequence.length:()I
aload 1
invokeinterface java.lang.CharSequence.length:()I
iadd
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 5
aload 0
invokeinterface java.lang.CharSequence.length:()I
ifle 4
aload 1
invokeinterface java.lang.CharSequence.length:()I
ifgt 5
StackMap locals:
StackMap stack:
4: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 6
aload 0
invokeinterface java.lang.CharSequence.length:()I
aload 1
invokeinterface java.lang.CharSequence.length:()I
iadd
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getStringLengthLimit:()I
if_icmple 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 7
iload 2
bipush 20
if_icmpge 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 left Ljava/lang/CharSequence;
0 8 1 right Ljava/lang/CharSequence;
0 8 2 length I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
length
public static com.oracle.truffle.js.runtime.objects.JSLazyString concatToLeafMaybe(java.lang.CharSequence, java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.assertChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 3
aload 1
instanceof java.lang.String
ifeq 3
2: aload 0
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
aload 1
checkcast java.lang.String
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.concatToLeafMaybe:(Lcom/oracle/truffle/js/runtime/objects/JSLazyString;Ljava/lang/String;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
areturn
3: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.String
ifeq 5
aload 1
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 5
4: aload 0
checkcast java.lang.String
aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.concatToLeafMaybe:(Ljava/lang/String;Lcom/oracle/truffle/js/runtime/objects/JSLazyString;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
areturn
5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 left Ljava/lang/CharSequence;
0 6 1 right Ljava/lang/CharSequence;
0 6 2 length I
MethodParameters:
Name Flags
left
right
length
public static com.oracle.truffle.js.runtime.objects.JSLazyString concatToLeafMaybe(com.oracle.truffle.js.runtime.objects.JSLazyString, java.lang.String, int);
descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSLazyString;Ljava/lang/String;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.assertChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
astore 4
start local 4 3: aload 4
ifnull 5
aload 4
instanceof java.lang.String
ifeq 5
aload 4
invokeinterface java.lang.CharSequence.length:()I
aload 1
invokevirtual java.lang.String.length:()I
iadd
bipush 10
if_icmpgt 5
4: aload 3
aload 4
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
aload 1
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.createChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
areturn
5: StackMap locals: java.lang.CharSequence java.lang.CharSequence
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 left Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 6 1 right Ljava/lang/String;
0 6 2 length I
2 6 3 ll Ljava/lang/CharSequence;
3 6 4 lr Ljava/lang/CharSequence;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
length
public static com.oracle.truffle.js.runtime.objects.JSLazyString concatToLeafMaybe(java.lang.String, com.oracle.truffle.js.runtime.objects.JSLazyString, int);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/runtime/objects/JSLazyString;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
aload 1
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.assertChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
astore 3
start local 3 2: aload 1
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
astore 4
start local 4 3: aload 4
ifnull 5
aload 3
instanceof java.lang.String
ifeq 5
aload 0
invokevirtual java.lang.String.length:()I
aload 3
invokeinterface java.lang.CharSequence.length:()I
iadd
bipush 10
if_icmpgt 5
4: aload 0
aload 3
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.concat:(Ljava/lang/String;)Ljava/lang/String;
aload 4
iload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.createChecked:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
areturn
5: StackMap locals: java.lang.CharSequence java.lang.CharSequence
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 left Ljava/lang/String;
0 6 1 right Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 6 2 length I
2 6 3 ll Ljava/lang/CharSequence;
3 6 4 lr Ljava/lang/CharSequence;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
length
public static java.lang.CharSequence createLazyInt(java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;I)Ljava/lang/CharSequence;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokeinterface java.lang.CharSequence.length:()I
ifne 3
2: iload 1
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.objects.JSLazyString
dup
aload 0
new com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper
dup
iload 1
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper.<init>:(I)V
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getStringLengthLimit:()I
if_icmple 6
5: invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidStringLength:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
6: StackMap locals: com.oracle.truffle.js.runtime.objects.JSLazyString
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 left Ljava/lang/CharSequence;
0 7 1 right I
4 7 2 result Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
public static java.lang.CharSequence createLazyInt(int, java.lang.CharSequence);
descriptor: (ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.lang.CharSequence.length:()I
ifne 3
2: iload 0
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.objects.JSLazyString
dup
new com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper
dup
iload 0
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper.<init>:(I)V
aload 1
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.length:()I
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getStringLengthLimit:()I
if_icmple 6
5: invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorInvalidStringLength:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
6: StackMap locals: com.oracle.truffle.js.runtime.objects.JSLazyString
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 left I
0 7 1 right Ljava/lang/CharSequence;
4 7 2 result Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
left
right
private void <init>(java.lang.CharSequence, java.lang.CharSequence, int);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 3
aload 1
invokeinterface java.lang.CharSequence.length:()I
ifle 2
aload 2
invokeinterface java.lang.CharSequence.length:()I
ifle 2
iload 3
aload 1
invokeinterface java.lang.CharSequence.length:()I
aload 2
invokeinterface java.lang.CharSequence.length:()I
iadd
if_icmpeq 3
StackMap locals: com.oracle.truffle.js.runtime.objects.JSLazyString java.lang.CharSequence java.lang.CharSequence int
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
4: aload 0
aload 2
putfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
5: aload 0
iload 3
putfield com.oracle.truffle.js.runtime.objects.JSLazyString.length:I
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 7 1 left Ljava/lang/CharSequence;
0 7 2 right Ljava/lang/CharSequence;
0 7 3 length I
MethodParameters:
Name Flags
left
right
length
private void <init>(java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 1
invokeinterface java.lang.CharSequence.length:()I
aload 2
invokeinterface java.lang.CharSequence.length:()I
iadd
invokespecial com.oracle.truffle.js.runtime.objects.JSLazyString.<init>:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 2 1 left Ljava/lang/CharSequence;
0 2 2 right Ljava/lang/CharSequence;
MethodParameters:
Name Flags
left
right
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.isFlat:()Z
ifne 2
1: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.flatten:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
public java.lang.String toString(com.oracle.truffle.api.profiles.ConditionProfile);
descriptor: (Lcom/oracle/truffle/api/profiles/ConditionProfile;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.isFlat:()Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile
1: iconst_1
StackMap locals: com.oracle.truffle.js.runtime.objects.JSLazyString com.oracle.truffle.api.profiles.ConditionProfile
StackMap stack: com.oracle.truffle.api.profiles.ConditionProfile int
2: invokevirtual com.oracle.truffle.api.profiles.ConditionProfile.profile:(Z)Z
ifeq 4
3: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.flatten:()V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
checkcast java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 5 1 profile Lcom/oracle/truffle/api/profiles/ConditionProfile;
MethodParameters:
Name Flags
profile
public boolean isFlat();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
private void flatten();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.length:I
newarray 5
astore 1
start local 1 1: aload 0
iconst_0
aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.length:I
aload 1
iconst_0
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.flatten:(Ljava/lang/CharSequence;II[CI)V
2: aload 0
new java.lang.String
dup
aload 1
invokespecial java.lang.String.<init>:([C)V
putfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
3: aload 0
aconst_null
putfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
1 5 1 dst [C
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private static void flatten(java.lang.CharSequence, int, int, char[], int);
descriptor: (Ljava/lang/CharSequence;II[CI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
astore 5
start local 5 2: iload 1
istore 6
start local 6 3: iload 2
istore 7
start local 7 4: iload 4
istore 8
start local 8 5: StackMap locals: java.lang.CharSequence int int char[] int java.lang.CharSequence int int int
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 7
iload 6
iflt 6
iload 6
iload 7
if_icmpgt 6
iload 7
aload 5
invokeinterface java.lang.CharSequence.length:()I
if_icmple 7
StackMap locals:
StackMap stack:
6: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 5
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 33
8: aload 5
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
astore 9
start local 9 9: aload 9
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
astore 10
start local 10 10: aload 9
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.right:Ljava/lang/CharSequence;
astore 11
start local 11 11: aload 10
invokeinterface java.lang.CharSequence.length:()I
istore 12
start local 12 12: iload 7
iload 12
isub
iload 12
iload 6
isub
if_icmplt 25
13: iload 6
iload 12
if_icmpge 21
14: aload 10
instanceof java.lang.String
ifeq 17
15: aload 10
checkcast java.lang.String
iload 6
iload 12
aload 3
iload 8
invokevirtual java.lang.String.getChars:(II[CI)V
16: goto 18
17: StackMap locals: java.lang.CharSequence int int char[] int java.lang.CharSequence int int int com.oracle.truffle.js.runtime.objects.JSLazyString java.lang.CharSequence java.lang.CharSequence int
StackMap stack:
aload 10
iload 6
iload 12
aload 3
iload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.flatten:(Ljava/lang/CharSequence;II[CI)V
18: StackMap locals:
StackMap stack:
iload 8
iload 12
iload 6
isub
iadd
istore 8
19: iconst_0
istore 6
20: goto 22
21: StackMap locals:
StackMap stack:
iload 6
iload 12
isub
istore 6
22: StackMap locals:
StackMap stack:
iload 7
iload 12
isub
istore 7
23: aload 11
astore 5
24: goto 5
25: StackMap locals:
StackMap stack:
iload 7
iload 12
if_icmple 31
26: aload 11
instanceof java.lang.String
ifeq 29
27: aload 11
checkcast java.lang.String
iconst_0
iload 7
iload 12
isub
aload 3
iload 8
iload 12
iadd
iload 6
isub
invokevirtual java.lang.String.getChars:(II[CI)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 11
iconst_0
iload 7
iload 12
isub
aload 3
iload 8
iload 12
iadd
iload 6
isub
invokestatic com.oracle.truffle.js.runtime.objects.JSLazyString.flatten:(Ljava/lang/CharSequence;II[CI)V
30: StackMap locals:
StackMap stack:
iload 12
istore 7
31: StackMap locals:
StackMap stack:
aload 10
astore 5
end local 12 end local 11 end local 10 end local 9 32: goto 5
StackMap locals: java.lang.CharSequence int int char[] int java.lang.CharSequence int int int
StackMap stack:
33: aload 5
instanceof java.lang.String
ifeq 36
34: aload 5
checkcast java.lang.String
iload 6
iload 7
aload 3
iload 8
invokevirtual java.lang.String.getChars:(II[CI)V
35: return
36: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 37
aload 5
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifne 37
aload 5
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper
ifne 37
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
37: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
iload 6
iload 7
aload 3
iload 8
invokevirtual java.lang.String.getChars:(II[CI)V
38: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 src Ljava/lang/CharSequence;
0 39 1 srcBegin I
0 39 2 srcEnd I
0 39 3 dst [C
0 39 4 dstBegin I
2 39 5 str Ljava/lang/CharSequence;
3 39 6 from I
4 39 7 to I
5 39 8 dstFrom I
9 32 9 lazyString Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
10 32 10 left Ljava/lang/CharSequence;
11 32 11 right Ljava/lang/CharSequence;
12 32 12 mid I
MethodParameters:
Name Flags
src
srcBegin
srcEnd
dst
dstBegin
public char charAt(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
iload 1
invokevirtual java.lang.String.charAt:(I)C
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 1 1 index I
MethodParameters:
Name Flags
index
public java.lang.CharSequence subSequence(int, int);
descriptor: (II)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
iload 1
iload 2
invokevirtual java.lang.String.subSequence:(II)Ljava/lang/CharSequence;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 1 1 start I
0 1 2 end I
MethodParameters:
Name Flags
start
end
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.length:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
public static boolean isInstance(com.oracle.truffle.api.interop.TruffleObject);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 object Lcom/oracle/truffle/api/interop/TruffleObject;
MethodParameters:
Name Flags
object
public java.lang.String getFlattenedString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.JSLazyString.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.isFlat:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.js.runtime.objects.JSLazyString.left:Ljava/lang/CharSequence;
checkcast java.lang.String
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
boolean isString();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.String asString();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
boolean hasLanguage();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
descriptor: ()Ljava/lang/Class;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
java.lang.Object toDisplayString(boolean);
descriptor: (Z)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/runtime/objects/JSLazyString;
0 1 1 allowSideEffects Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportMessage()
MethodParameters:
Name Flags
allowSideEffects
}
SourceFile: "JSLazyString.java"
NestMembers:
com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
private JSLazyIntWrapper = com.oracle.truffle.js.runtime.objects.JSLazyString$JSLazyIntWrapper of com.oracle.truffle.js.runtime.objects.JSLazyString
RuntimeVisibleAnnotations:
com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)