class java.util.prefs.FileSystemPreferences extends java.util.prefs.AbstractPreferences
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: java.util.prefs.FileSystemPreferences
super_class: java.util.prefs.AbstractPreferences
{
private static final int SYNC_INTERVAL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.io.File systemRootDir;
descriptor: Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean isSystemRootWritable;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.File userRootDir;
descriptor: Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean isUserRootWritable;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static volatile java.util.prefs.Preferences userRoot;
descriptor: Ljava/util/prefs/Preferences;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static volatile java.util.prefs.Preferences systemRoot;
descriptor: Ljava/util/prefs/Preferences;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private static final int USER_READ_WRITE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 384
private static final int USER_RW_ALL_READ;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 420
private static final int USER_RWX_ALL_RX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 493
private static final int USER_RWX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 448
static java.io.File userLockFile;
descriptor: Ljava/io/File;
flags: (0x0008) ACC_STATIC
static java.io.File systemLockFile;
descriptor: Ljava/io/File;
flags: (0x0008) ACC_STATIC
private static int userRootLockHandle;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int systemRootLockHandle;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final java.io.File dir;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.File prefsFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.File tmpFile;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static java.io.File userRootModFile;
descriptor: Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean isUserRootModified;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long userRootModTime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.io.File systemRootModFile;
descriptor: Ljava/io/File;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static boolean isSystemRootModified;
descriptor: Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static long systemRootModTime;
descriptor: J
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private java.util.Map<java.lang.String, java.lang.String> prefsCache;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
private long lastSyncTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private static final int EAGAIN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int EACCES;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final int LOCK_HANDLE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int ERROR_CODE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
final java.util.List<java.util.prefs.FileSystemPreferences$Change> changeLog;
descriptor: Ljava/util/List;
flags: (0x0010) ACC_FINAL
Signature: Ljava/util/List<Ljava/util/prefs/FileSystemPreferences$Change;>;
java.util.prefs.FileSystemPreferences$NodeCreate nodeCreate;
descriptor: Ljava/util/prefs/FileSystemPreferences$NodeCreate;
flags: (0x0000)
private static java.util.Timer syncTimer;
descriptor: Ljava/util/Timer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private final boolean isUserNode;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.String[] EMPTY_STRING_ARRAY;
descriptor: [Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static int INIT_SLEEP_TIME;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static int MAX_ATTEMPTS;
descriptor: I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=1, args_size=0
0: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/prefs/FileSystemPreferences.lambda$0()Ljava/lang/Void; (6)
()Ljava/lang/Void;
astore 0
start local 0 1: aload 0
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
end local 0 2: iconst_1
3: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
java/util/prefs/FileSystemPreferences.lambda$1()Ljava/lang/Integer; (6)
()Ljava/lang/Integer;
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
4: invokestatic java.lang.Math.max:(II)I
putstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
5: iconst_0
putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
6: iconst_0
putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
7: iconst_0
putstatic java.util.prefs.FileSystemPreferences.isUserRootModified:Z
8: iconst_0
putstatic java.util.prefs.FileSystemPreferences.isSystemRootModified:Z
9: new java.util.Timer
dup
iconst_1
invokespecial java.util.Timer.<init>:(Z)V
putstatic java.util.prefs.FileSystemPreferences.syncTimer:Ljava/util/Timer;
10: getstatic java.util.prefs.FileSystemPreferences.syncTimer:Ljava/util/Timer;
new java.util.prefs.FileSystemPreferences$1
dup
invokespecial java.util.prefs.FileSystemPreferences$1.<init>:()V
11: getstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
sipush 1000
imul
i2l
getstatic java.util.prefs.FileSystemPreferences.SYNC_INTERVAL:I
sipush 1000
imul
i2l
12: invokevirtual java.util.Timer.schedule:(Ljava/util/TimerTask;JJ)V
13: new java.util.prefs.FileSystemPreferences$2
dup
invokespecial java.util.prefs.FileSystemPreferences$2.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
14: iconst_0
anewarray java.lang.String
putstatic java.util.prefs.FileSystemPreferences.EMPTY_STRING_ARRAY:[Ljava/lang/String;
15: bipush 50
putstatic java.util.prefs.FileSystemPreferences.INIT_SLEEP_TIME:I
16: iconst_5
putstatic java.util.prefs.FileSystemPreferences.MAX_ATTEMPTS:I
return
LocalVariableTable:
Start End Slot Name Signature
1 2 0 load Ljava/security/PrivilegedAction<Ljava/lang/Void;>;
private static sun.util.logging.PlatformLogger getLogger();
descriptor: ()Lsun/util/logging/PlatformLogger;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "java.util.prefs"
invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
areturn
LocalVariableTable:
Start End Slot Name Signature
static java.util.prefs.Preferences getUserRoot();
descriptor: ()Ljava/util/prefs/Preferences;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
astore 0
start local 0 1: aload 0
ifnonnull 11
2: ldc Ljava/util/prefs/FileSystemPreferences;
dup
astore 1
monitorenter
3: getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
astore 0
4: aload 0
ifnonnull 7
5: invokestatic java.util.prefs.FileSystemPreferences.setupUserRoot:()V
6: new java.util.prefs.FileSystemPreferences
dup
iconst_1
invokespecial java.util.prefs.FileSystemPreferences.<init>:(Z)V
dup
astore 0
putstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
7: StackMap locals: java.util.prefs.Preferences java.lang.Class
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 12 0 root Ljava/util/prefs/Preferences;
Exception table:
from to target type
3 8 9 any
9 10 9 any
private static void setupUserRoot();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.prefs.FileSystemPreferences$3
dup
invokespecial java.util.prefs.FileSystemPreferences$3.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
static java.util.prefs.Preferences getSystemRoot();
descriptor: ()Ljava/util/prefs/Preferences;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
astore 0
start local 0 1: aload 0
ifnonnull 11
2: ldc Ljava/util/prefs/FileSystemPreferences;
dup
astore 1
monitorenter
3: getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
astore 0
4: aload 0
ifnonnull 7
5: invokestatic java.util.prefs.FileSystemPreferences.setupSystemRoot:()V
6: new java.util.prefs.FileSystemPreferences
dup
iconst_0
invokespecial java.util.prefs.FileSystemPreferences.<init>:(Z)V
dup
astore 0
putstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
7: StackMap locals: java.util.prefs.Preferences java.lang.Class
StackMap stack:
aload 1
monitorexit
8: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
9: aload 1
monitorexit
10: athrow
11: StackMap locals:
StackMap stack:
aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 12 0 root Ljava/util/prefs/Preferences;
Exception table:
from to target type
3 8 9 any
9 10 9 any
private static void setupSystemRoot();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.util.prefs.FileSystemPreferences$4
dup
invokespecial java.util.prefs.FileSystemPreferences$4.<init>:()V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
1: return
LocalVariableTable:
Start End Slot Name Signature
private void replayChanges();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
invokeinterface java.util.List.size:()I
istore 2
start local 2 2: goto 5
3: StackMap locals: int int
StackMap stack:
aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
iload 1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.util.prefs.FileSystemPreferences$Change
invokevirtual java.util.prefs.FileSystemPreferences$Change.replay:()V
4: iinc 1 1
StackMap locals:
StackMap stack:
5: iload 1
iload 2
if_icmplt 3
end local 2 end local 1 6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/prefs/FileSystemPreferences;
1 6 1 i I
2 6 2 n I
private static void syncWorld();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=0
0: ldc Ljava/util/prefs/FileSystemPreferences;
dup
astore 2
monitorenter
1: getstatic java.util.prefs.FileSystemPreferences.userRoot:Ljava/util/prefs/Preferences;
astore 0
start local 0 2: getstatic java.util.prefs.FileSystemPreferences.systemRoot:Ljava/util/prefs/Preferences;
astore 1
start local 1 3: aload 2
monitorexit
4: goto 7
end local 1 end local 0 StackMap locals: top top java.lang.Class
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
start local 0 start local 1 7: StackMap locals: java.util.prefs.Preferences java.util.prefs.Preferences
StackMap stack:
aload 0
ifnull 12
8: aload 0
invokevirtual java.util.prefs.Preferences.flush:()V
9: goto 12
StackMap locals:
StackMap stack: java.util.prefs.BackingStoreException
10: astore 2
start local 2 11: invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Couldn't flush user prefs: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 2 12: StackMap locals:
StackMap stack:
aload 1
ifnull 17
13: aload 1
invokevirtual java.util.prefs.Preferences.flush:()V
14: goto 17
StackMap locals:
StackMap stack: java.util.prefs.BackingStoreException
15: astore 2
start local 2 16: invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Couldn't flush system prefs: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
2 5 0 userRt Ljava/util/prefs/Preferences;
7 18 0 userRt Ljava/util/prefs/Preferences;
3 5 1 systemRt Ljava/util/prefs/Preferences;
7 18 1 systemRt Ljava/util/prefs/Preferences;
11 12 2 e Ljava/util/prefs/BackingStoreException;
16 17 2 e Ljava/util/prefs/BackingStoreException;
Exception table:
from to target type
1 4 5 any
5 6 5 any
7 9 10 Class java.util.prefs.BackingStoreException
12 14 15 Class java.util.prefs.BackingStoreException
private void <init>(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
ldc ""
invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
1: aload 0
aconst_null
putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
2: aload 0
lconst_0
putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
4: aload 0
aconst_null
putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
5: aload 0
iload 1
putfield java.util.prefs.FileSystemPreferences.isUserNode:Z
6: aload 0
iload 1
ifeq 7
getstatic java.util.prefs.FileSystemPreferences.userRootDir:Ljava/io/File;
goto 8
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: java.util.prefs.FileSystemPreferences
7: getstatic java.util.prefs.FileSystemPreferences.systemRootDir:Ljava/io/File;
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: java.util.prefs.FileSystemPreferences java.io.File
8: putfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
9: aload 0
new java.io.File
dup
aload 0
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
ldc "prefs.xml"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
10: aload 0
new java.io.File
dup
aload 0
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
ldc "prefs.tmp"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.prefs.FileSystemPreferences.tmpFile:Ljava/io/File;
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/util/prefs/FileSystemPreferences;
0 12 1 user Z
MethodParameters:
Name Flags
user
private void <init>(java.util.prefs.FileSystemPreferences, java.lang.String);
descriptor: (Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)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
invokespecial java.util.prefs.AbstractPreferences.<init>:(Ljava/util/prefs/AbstractPreferences;Ljava/lang/String;)V
1: aload 0
aconst_null
putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
2: aload 0
lconst_0
putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
4: aload 0
aconst_null
putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
5: aload 0
aload 1
getfield java.util.prefs.FileSystemPreferences.isUserNode:Z
putfield java.util.prefs.FileSystemPreferences.isUserNode:Z
6: aload 0
new java.io.File
dup
aload 1
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
aload 2
invokestatic java.util.prefs.FileSystemPreferences.dirName:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
7: aload 0
new java.io.File
dup
aload 0
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
ldc "prefs.xml"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
8: aload 0
new java.io.File
dup
aload 0
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
ldc "prefs.tmp"
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
putfield java.util.prefs.FileSystemPreferences.tmpFile:Ljava/io/File;
9: new java.util.prefs.FileSystemPreferences$5
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$5.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
10: aload 0
getfield java.util.prefs.FileSystemPreferences.newNode:Z
ifeq 14
11: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
12: aload 0
new java.util.prefs.FileSystemPreferences$NodeCreate
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$NodeCreate.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
putfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
13: aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
aload 0
getfield java.util.prefs.FileSystemPreferences.nodeCreate:Ljava/util/prefs/FileSystemPreferences$NodeCreate;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: StackMap locals: java.util.prefs.FileSystemPreferences java.util.prefs.FileSystemPreferences java.lang.String
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/prefs/FileSystemPreferences;
0 15 1 parent Ljava/util/prefs/FileSystemPreferences;
0 15 2 name Ljava/lang/String;
MethodParameters:
Name Flags
parent
name
public boolean isUserNode();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.prefs.FileSystemPreferences.isUserNode:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/prefs/FileSystemPreferences;
protected void putSpi(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
1: aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
new java.util.prefs.FileSystemPreferences$Put
dup
aload 0
aload 1
aload 2
invokespecial java.util.prefs.FileSystemPreferences$Put.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/prefs/FileSystemPreferences;
0 4 1 key Ljava/lang/String;
0 4 2 value Ljava/lang/String;
MethodParameters:
Name Flags
key
value
protected java.lang.String getSpi(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
1: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/prefs/FileSystemPreferences;
0 2 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
protected void removeSpi(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
1: aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
new java.util.prefs.FileSystemPreferences$Remove
dup
aload 0
aload 1
invokespecial java.util.prefs.FileSystemPreferences$Remove.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
2: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/prefs/FileSystemPreferences;
0 4 1 key Ljava/lang/String;
MethodParameters:
Name Flags
key
private void initCacheIfNecessary();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
ifnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.loadCache:()V
3: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
4: pop
5: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/util/prefs/FileSystemPreferences;
Exception table:
from to target type
2 3 4 Class java.lang.Exception
private void loadCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.prefs.FileSystemPreferences$6
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$6.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.util.prefs.BackingStoreException
athrow
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/prefs/FileSystemPreferences;
4 5 1 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.util.prefs.BackingStoreException
private void writeBackCache();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.prefs.FileSystemPreferences$7
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$7.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.util.prefs.BackingStoreException
athrow
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/prefs/FileSystemPreferences;
4 5 1 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.util.prefs.BackingStoreException
protected java.lang.String[] keysSpi();
descriptor: ()[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.initCacheIfNecessary:()V
1: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
anewarray java.lang.String
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/prefs/FileSystemPreferences;
protected java.lang.String[] childrenNamesSpi();
descriptor: ()[Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.util.prefs.FileSystemPreferences$8
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$8.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/util/prefs/FileSystemPreferences;
protected java.util.prefs.AbstractPreferences childSpi(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new java.util.prefs.FileSystemPreferences
dup
aload 0
aload 1
invokespecial java.util.prefs.FileSystemPreferences.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/String;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/prefs/FileSystemPreferences;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public void removeNode();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 1
getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
goto 2
StackMap locals:
StackMap stack:
1: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
2: dup
astore 1
monitorenter
3: aload 0
iconst_0
invokevirtual java.util.prefs.FileSystemPreferences.lockFile:(Z)Z
ifne 5
4: new java.util.prefs.BackingStoreException
dup
ldc "Couldn't get file lock."
invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.io.File
StackMap stack:
aload 0
invokespecial java.util.prefs.AbstractPreferences.removeNode:()V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
11: aload 1
monitorexit
12: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
13: aload 1
monitorexit
14: athrow
15: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/util/prefs/FileSystemPreferences;
Exception table:
from to target type
5 7 7 any
3 12 13 any
13 14 13 any
Exceptions:
throws java.util.prefs.BackingStoreException
protected void removeNodeSpi();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.prefs.FileSystemPreferences$9
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$9.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.util.prefs.BackingStoreException
athrow
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/prefs/FileSystemPreferences;
4 5 1 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.util.prefs.BackingStoreException
public synchronized void sync();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
istore 1
start local 1 1: iload 1
ifeq 4
2: iconst_0
istore 2
start local 2 3: goto 7
end local 2 4: StackMap locals: int
StackMap stack:
getstatic java.util.prefs.FileSystemPreferences.isSystemRootWritable:Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: istore 2
start local 2 7: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 8
getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
goto 9
StackMap locals:
StackMap stack:
8: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
9: dup
astore 3
monitorenter
10: aload 0
iload 2
invokevirtual java.util.prefs.FileSystemPreferences.lockFile:(Z)Z
ifne 12
11: new java.util.prefs.BackingStoreException
dup
ldc "Couldn't get file lock."
invokespecial java.util.prefs.BackingStoreException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.io.File
StackMap stack:
new java.util.prefs.FileSystemPreferences$10
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$10.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
13: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.Long
14: astore 4
start local 4 15: aload 0
invokespecial java.util.prefs.AbstractPreferences.sync:()V
16: new java.util.prefs.FileSystemPreferences$11
dup
aload 0
aload 4
invokespecial java.util.prefs.FileSystemPreferences$11.<init>:(Ljava/util/prefs/FileSystemPreferences;Ljava/lang/Long;)V
invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
17: goto 21
StackMap locals: java.util.prefs.FileSystemPreferences int int java.io.File java.lang.Long
StackMap stack: java.lang.Throwable
18: astore 5
19: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.unlockFile:()V
end local 4 22: aload 3
monitorexit
23: goto 26
StackMap locals: java.util.prefs.FileSystemPreferences int int java.io.File
StackMap stack: java.lang.Throwable
24: aload 3
monitorexit
25: athrow
26: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Ljava/util/prefs/FileSystemPreferences;
1 27 1 userNode Z
3 4 2 shared Z
7 27 2 shared Z
15 22 4 newModTime Ljava/lang/Long;
Exception table:
from to target type
15 18 18 any
10 23 24 any
24 25 24 any
Exceptions:
throws java.util.prefs.BackingStoreException
protected void syncSpi();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.prefs.FileSystemPreferences$12
dup
aload 0
invokespecial java.util.prefs.FileSystemPreferences$12.<init>:(Ljava/util/prefs/FileSystemPreferences;)V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
pop
2: goto 5
StackMap locals:
StackMap stack: java.security.PrivilegedActionException
3: astore 1
start local 1 4: aload 1
invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
checkcast java.util.prefs.BackingStoreException
athrow
end local 1 5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/util/prefs/FileSystemPreferences;
4 5 1 e Ljava/security/PrivilegedActionException;
Exception table:
from to target type
0 2 3 Class java.security.PrivilegedActionException
Exceptions:
throws java.util.prefs.BackingStoreException
private void syncSpiPrivileged();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isRemoved:()Z
ifeq 2
1: new java.lang.IllegalStateException
dup
ldc "Node has been removed"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
ifnonnull 4
3: return
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 5
getstatic java.util.prefs.FileSystemPreferences.isUserRootModified:Z
ifeq 12
goto 6
StackMap locals:
StackMap stack:
5: getstatic java.util.prefs.FileSystemPreferences.isSystemRootModified:Z
ifeq 12
6: StackMap locals:
StackMap stack:
aload 0
getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
invokevirtual java.io.File.lastModified:()J
lstore 1
start local 1 7: lload 1
aload 0
getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
lcmp
ifeq 15
8: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.loadCache:()V
9: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.replayChanges:()V
10: aload 0
lload 1
putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
11: goto 15
end local 1 StackMap locals:
StackMap stack:
12: aload 0
getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
lconst_0
lcmp
ifeq 15
aload 0
getfield java.util.prefs.FileSystemPreferences.dir:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 15
13: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield java.util.prefs.FileSystemPreferences.prefsCache:Ljava/util/Map;
14: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.replayChanges:()V
15: StackMap locals:
StackMap stack:
aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifne 22
16: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.writeBackCache:()V
17: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
invokevirtual java.io.File.lastModified:()J
lstore 1
start local 1 18: aload 0
getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
lload 1
lcmp
ifgt 21
19: aload 0
lload 1
ldc 1000
ladd
putfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
20: aload 0
getfield java.util.prefs.FileSystemPreferences.prefsFile:Ljava/io/File;
aload 0
getfield java.util.prefs.FileSystemPreferences.lastSyncTime:J
invokevirtual java.io.File.setLastModified:(J)Z
pop
21: StackMap locals: long
StackMap stack:
aload 0
getfield java.util.prefs.FileSystemPreferences.changeLog:Ljava/util/List;
invokeinterface java.util.List.clear:()V
end local 1 22: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Ljava/util/prefs/FileSystemPreferences;
7 12 1 lastModifiedTime J
18 22 1 lastModifiedTime J
Exceptions:
throws java.util.prefs.BackingStoreException
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isRemoved:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.sync:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/util/prefs/FileSystemPreferences;
Exceptions:
throws java.util.prefs.BackingStoreException
protected void flushSpi();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/util/prefs/FileSystemPreferences;
Exceptions:
throws java.util.prefs.BackingStoreException
private static boolean isDirChar(char);
descriptor: (C)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 31
if_icmple 1
iload 0
bipush 127
if_icmpge 1
iload 0
bipush 47
if_icmpeq 1
iload 0
bipush 46
if_icmpeq 1
iload 0
bipush 95
if_icmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 ch C
MethodParameters:
Name Flags
ch
private static java.lang.String dirName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
invokevirtual java.lang.String.length:()I
istore 2
start local 2 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
iload 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.util.prefs.FileSystemPreferences.isDirChar:(C)Z
ifne 5
4: new java.lang.StringBuilder
dup
ldc "_"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic java.util.prefs.FileSystemPreferences.byteArray:(Ljava/lang/String;)[B
invokestatic java.util.prefs.Base64.byteArrayToAltBase64:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
5: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
6: iload 1
iload 2
if_icmplt 3
end local 2 end local 1 7: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 nodeName Ljava/lang/String;
1 7 1 i I
2 7 2 n I
MethodParameters:
Name Flags
nodeName
private static byte[] byteArray(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.String.length:()I
istore 1
start local 1 1: iconst_2
iload 1
imul
newarray 8
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 9
5: StackMap locals: java.lang.String int byte[] int int
StackMap stack:
aload 0
iload 3
invokevirtual java.lang.String.charAt:(I)C
istore 5
start local 5 6: aload 2
iload 4
iinc 4 1
iload 5
bipush 8
ishr
i2b
bastore
7: aload 2
iload 4
iinc 4 1
iload 5
i2b
bastore
end local 5 8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 1
if_icmplt 5
end local 4 end local 3 10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 s Ljava/lang/String;
1 11 1 len I
2 11 2 result [B
3 10 3 i I
4 10 4 j I
6 8 5 c C
MethodParameters:
Name Flags
s
private static java.lang.String nodeName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 95
if_icmpeq 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokestatic java.util.prefs.Base64.altBase64ToByteArray:(Ljava/lang/String;)[B
astore 1
start local 1 3: new java.lang.StringBuffer
dup
aload 1
arraylength
iconst_2
idiv
invokespecial java.lang.StringBuffer.<init>:(I)V
astore 2
start local 2 4: iconst_0
istore 3
start local 3 5: goto 9
6: StackMap locals: byte[] java.lang.StringBuffer int
StackMap stack:
aload 1
iload 3
iinc 3 1
baload
sipush 255
iand
istore 4
start local 4 7: aload 1
iload 3
iinc 3 1
baload
sipush 255
iand
istore 5
start local 5 8: aload 2
iload 4
bipush 8
ishl
iload 5
ior
i2c
invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
pop
end local 5 end local 4 9: StackMap locals:
StackMap stack:
iload 3
aload 1
arraylength
if_icmplt 6
end local 3 10: aload 2
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 dirName Ljava/lang/String;
3 11 1 a [B
4 11 2 result Ljava/lang/StringBuffer;
5 10 3 i I
7 9 4 highByte I
8 9 5 lowByte I
MethodParameters:
Name Flags
dirName
private boolean lockFile(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
istore 2
start local 2 1: iconst_0
istore 4
start local 4 2: iload 2
ifeq 3
getstatic java.util.prefs.FileSystemPreferences.userLockFile:Ljava/io/File;
goto 4
StackMap locals: java.util.prefs.FileSystemPreferences int int top int
StackMap stack:
3: getstatic java.util.prefs.FileSystemPreferences.systemLockFile:Ljava/io/File;
StackMap locals:
StackMap stack: java.io.File
4: astore 5
start local 5 5: getstatic java.util.prefs.FileSystemPreferences.INIT_SLEEP_TIME:I
i2l
lstore 6
start local 6 6: iconst_0
istore 8
start local 8 7: goto 27
8: StackMap locals: java.io.File long int
StackMap stack:
iload 2
ifeq 9
sipush 384
goto 10
StackMap locals:
StackMap stack:
9: sipush 420
StackMap locals:
StackMap stack: int
10: istore 9
start local 9 11: aload 5
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
iload 9
iload 1
invokestatic java.util.prefs.FileSystemPreferences.lockFile0:(Ljava/lang/String;IZ)[I
astore 3
start local 3 12: aload 3
iconst_1
iaload
istore 4
13: aload 3
iconst_0
iaload
ifeq 20
14: iload 2
ifeq 17
15: aload 3
iconst_0
iaload
putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
16: goto 18
17: StackMap locals: java.util.prefs.FileSystemPreferences int int int[] int java.io.File long int int
StackMap stack:
aload 3
iconst_0
iaload
putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
18: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 3 19: StackMap locals: java.util.prefs.FileSystemPreferences int int top int java.io.File long int
StackMap stack: java.io.IOException
pop
20: StackMap locals:
StackMap stack:
lload 6
invokestatic java.lang.Thread.sleep:(J)V
21: goto 25
StackMap locals:
StackMap stack: java.lang.InterruptedException
22: pop
23: aload 0
iload 4
invokevirtual java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode:(I)V
24: iconst_0
ireturn
25: StackMap locals:
StackMap stack:
lload 6
ldc 2
lmul
lstore 6
26: iinc 8 1
StackMap locals:
StackMap stack:
27: iload 8
getstatic java.util.prefs.FileSystemPreferences.MAX_ATTEMPTS:I
if_icmplt 8
end local 8 28: aload 0
iload 4
invokevirtual java.util.prefs.FileSystemPreferences.checkLockFile0ErrorCode:(I)V
29: iconst_0
ireturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljava/util/prefs/FileSystemPreferences;
0 30 1 shared Z
1 30 2 usernode Z
12 19 3 result [I
2 30 4 errorCode I
5 30 5 lockFile Ljava/io/File;
6 30 6 sleepTime J
7 28 8 i I
11 19 9 perm I
Exception table:
from to target type
8 18 19 Class java.io.IOException
20 21 22 Class java.lang.InterruptedException
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
shared
private void checkLockFile0ErrorCode(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 13
if_icmpne 7
1: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "Could not lock "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 3
ldc "User prefs."
goto 4
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: new 1 new 1 java.lang.StringBuilder
3: ldc "System prefs."
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: new 1 new 1 java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " Lock file access denied."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 1
bipush 11
if_icmpeq 14
8: invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Could not lock "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 10
ldc "User prefs. "
goto 11
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
10: ldc "System prefs."
StackMap locals: java.util.prefs.FileSystemPreferences int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
11: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
12: ldc " Unix error code "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
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;
13: invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljava/util/prefs/FileSystemPreferences;
0 15 1 errorCode I
Exceptions:
throws java.lang.SecurityException
MethodParameters:
Name Flags
errorCode
private static native int[] lockFile0(java.lang.String, int, boolean);
descriptor: (Ljava/lang/String;IZ)[I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fileName
permission
shared
private static native int unlockFile0(int);
descriptor: (I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
lockHandle
private static native int chmod(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
fileName
permission
private void unlockFile();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
istore 2
start local 2 1: iload 2
ifeq 2
2: StackMap locals: java.util.prefs.FileSystemPreferences top int
StackMap stack:
iload 2
ifeq 3
getstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
goto 4
StackMap locals:
StackMap stack:
3: getstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
StackMap locals:
StackMap stack: int
4: istore 3
start local 3 5: iload 3
ifne 12
6: invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Unlock: zero lockHandle for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: iload 2
ifeq 8
ldc "user"
goto 9
StackMap locals: java.util.prefs.FileSystemPreferences top int int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
8: ldc "system"
StackMap locals: java.util.prefs.FileSystemPreferences top int int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " preferences.)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
11: return
12: StackMap locals:
StackMap stack:
iload 3
invokestatic java.util.prefs.FileSystemPreferences.unlockFile0:(I)I
istore 1
start local 1 13: iload 1
ifeq 27
14: invokestatic java.util.prefs.FileSystemPreferences.getLogger:()Lsun/util/logging/PlatformLogger;
new java.lang.StringBuilder
dup
ldc "Could not drop file-lock on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 16
ldc "user"
goto 17
StackMap locals: java.util.prefs.FileSystemPreferences int int int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder
16: ldc "system"
StackMap locals: java.util.prefs.FileSystemPreferences int int int
StackMap stack: sun.util.logging.PlatformLogger java.lang.StringBuilder java.lang.String
17: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " preferences."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: ldc " Unix error code "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
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;
19: invokevirtual sun.util.logging.PlatformLogger.warning:(Ljava/lang/String;)V
20: iload 1
bipush 13
if_icmpne 27
21: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
ldc "Could not unlock"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 23
ldc "User prefs."
goto 24
StackMap locals: java.util.prefs.FileSystemPreferences int int int
StackMap stack: new 21 new 21 java.lang.StringBuilder
23: ldc "System prefs."
StackMap locals: java.util.prefs.FileSystemPreferences int int int
StackMap stack: new 21 new 21 java.lang.StringBuilder java.lang.String
24: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc " Lock file access denied."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.util.prefs.FileSystemPreferences.isUserNode:()Z
ifeq 30
28: iconst_0
putstatic java.util.prefs.FileSystemPreferences.userRootLockHandle:I
29: goto 31
30: StackMap locals:
StackMap stack:
iconst_0
putstatic java.util.prefs.FileSystemPreferences.systemRootLockHandle:I
31: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljava/util/prefs/FileSystemPreferences;
13 32 1 result I
1 32 2 usernode Z
5 32 3 lockHandle I
private static java.lang.Void lambda$0();
descriptor: ()Ljava/lang/Void;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "prefs"
invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
1: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.Integer lambda$1();
descriptor: ()Ljava/lang/Integer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=0, args_size=0
0: ldc "java.util.prefs.syncInterval"
bipush 30
invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FileSystemPreferences.java"
NestMembers:
java.util.prefs.FileSystemPreferences$1 java.util.prefs.FileSystemPreferences$10 java.util.prefs.FileSystemPreferences$11 java.util.prefs.FileSystemPreferences$12 java.util.prefs.FileSystemPreferences$2 java.util.prefs.FileSystemPreferences$2$1 java.util.prefs.FileSystemPreferences$3 java.util.prefs.FileSystemPreferences$4 java.util.prefs.FileSystemPreferences$5 java.util.prefs.FileSystemPreferences$6 java.util.prefs.FileSystemPreferences$7 java.util.prefs.FileSystemPreferences$8 java.util.prefs.FileSystemPreferences$9 java.util.prefs.FileSystemPreferences$Change java.util.prefs.FileSystemPreferences$NodeCreate java.util.prefs.FileSystemPreferences$Put java.util.prefs.FileSystemPreferences$Remove
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
java.util.prefs.FileSystemPreferences$1
java.util.prefs.FileSystemPreferences$10
java.util.prefs.FileSystemPreferences$11
java.util.prefs.FileSystemPreferences$12
java.util.prefs.FileSystemPreferences$2
java.util.prefs.FileSystemPreferences$3
java.util.prefs.FileSystemPreferences$4
java.util.prefs.FileSystemPreferences$5
java.util.prefs.FileSystemPreferences$6
java.util.prefs.FileSystemPreferences$7
java.util.prefs.FileSystemPreferences$8
java.util.prefs.FileSystemPreferences$9
private abstract Change = java.util.prefs.FileSystemPreferences$Change of java.util.prefs.FileSystemPreferences
private NodeCreate = java.util.prefs.FileSystemPreferences$NodeCreate of java.util.prefs.FileSystemPreferences
private Put = java.util.prefs.FileSystemPreferences$Put of java.util.prefs.FileSystemPreferences
private Remove = java.util.prefs.FileSystemPreferences$Remove of java.util.prefs.FileSystemPreferences