changeset 1256:81363fed525c

2008-12-05 Matthias Klose <doko@ubuntu.com> * patches/icedtea-lucene-crash.patch: Update for b14. * patches/hotspot/original/icedtea-memory-limits.patch: Likewise. * patches/hotspot/original/icedtea-core-build.patch: Likewise. * patches/hotspot/original/icedtea-static-libstdc++.patch: Likewise. * patches/hotspot/original/icedtea-zero-build.patch: Likewise. * patches/hotspot/original/icedtea-shark-build.patch: Likewise. * patches/hotspot/original/icedtea-sparc64-linux.patch: Likewise. * Makefile.am (ICEDTEA_PATCHES): Remove icedtea-hotspot7-tests.patch, apply patches/icedtea-bytecodeInterpreterWithChecks.patch for original hotspot build. * patches/icedtea-hotspot7-tests.patch: Remove.
author doko@ubuntu.com
date Fri, 05 Dec 2008 14:08:01 +0100
parents 644b7ff854fc
children d1cbd5d9d782
files ChangeLog Makefile.am patches/hotspot/original/icedtea-core-build.patch patches/hotspot/original/icedtea-memory-limits.patch patches/hotspot/original/icedtea-shark-build.patch patches/hotspot/original/icedtea-sparc64-linux.patch patches/hotspot/original/icedtea-static-libstdc++.patch patches/hotspot/original/icedtea-zero-build.patch patches/icedtea-hotspot7-tests.patch patches/icedtea-lucene-crash.patch
diffstat 10 files changed, 278 insertions(+), 7774 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Dec 04 21:38:54 2008 +0100
+++ b/ChangeLog	Fri Dec 05 14:08:01 2008 +0100
@@ -1,3 +1,17 @@
+2008-12-05  Matthias Klose  <doko@ubuntu.com>
+
+	* patches/icedtea-lucene-crash.patch: Update for b14.
+	* patches/hotspot/original/icedtea-memory-limits.patch: Likewise.
+	* patches/hotspot/original/icedtea-core-build.patch: Likewise.
+	* patches/hotspot/original/icedtea-static-libstdc++.patch: Likewise.
+	* patches/hotspot/original/icedtea-zero-build.patch: Likewise.
+	* patches/hotspot/original/icedtea-shark-build.patch: Likewise.
+	* patches/hotspot/original/icedtea-sparc64-linux.patch: Likewise.
+	* Makefile.am (ICEDTEA_PATCHES): Remove icedtea-hotspot7-tests.patch,
+	apply patches/icedtea-bytecodeInterpreterWithChecks.patch for original
+	hotspot build.
+	* patches/icedtea-hotspot7-tests.patch: Remove.
+
 2008-12-04  Matthias Klose  <doko@ubuntu.com>
 
 	* patches/hotspot/14.0b08/icedtea-sparc-buildfixes.patch: Readd
--- a/Makefile.am	Thu Dec 04 21:38:54 2008 +0100
+++ b/Makefile.am	Fri Dec 05 14:08:01 2008 +0100
@@ -589,7 +589,7 @@
 
 if !WITH_ALT_HSBUILD
 ICEDTEA_PATCHES += \
-	patches/icedtea-hotspot7-tests.patch \
+	patches/icedtea-bytecodeInterpreterWithChecks.patch \
 	patches/icedtea-sparc.patch
 endif
 
--- a/patches/hotspot/original/icedtea-core-build.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-core-build.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,25 +1,8 @@
-diff -u openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/build/linux/makefiles/defs.make
---- openjdk.orig/hotspot/build/linux/makefiles/defs.make	2008-01-31 14:19:00.000000000 +0000
-+++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-02-01 15:57:40.000000000 +0000
-@@ -97,6 +97,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusa
- EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
- EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so
- EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
-+ifndef ICEDTEA_CORE_BUILD
- ifeq ($(ARCH_DATA_MODEL), 32)
-   EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
-   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
-@@ -111,3 +112,4 @@ else
-       EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
-     endif
- endif
-+endif
-diff -r 79d639c8a75f openjdk/hotspot/make/Makefile
---- openjdk/hotspot/make/Makefile	Wed Apr 16 08:42:01 2008 +0100
-+++ openjdk/hotspot/make/Makefile	Wed Apr 16 08:49:31 2008 +0100
-@@ -90,6 +90,15 @@ all_debug:     jvmg jvmg1 docs export_de
- all_debug:     jvmg jvmg1 docs export_debug
- all_optimized: optimized optimized1 docs export_optimized
+--- openjdk/hotspot/make/Makefile.orig	2008-11-25 09:11:57.000000000 +0000
++++ openjdk/hotspot/make/Makefile	2008-12-05 10:25:12.000000000 +0000
+@@ -91,6 +91,15 @@
+ all_debug:     jvmg jvmg1 jvmgkernel docs export_debug
+ all_optimized: optimized optimized1 optimizedkernel docs export_optimized
  
 +# Core (non-compiler) targets made available with this Makefile
 +CORE_VM_TARGETS=productcore fastdebugcore optimizedcore jvmgcore
@@ -33,31 +16,31 @@
  # Do everything
  world:         all create_jdk
  
-@@ -111,6 +120,10 @@ endif
- $(C2_VM_TARGETS):
+@@ -113,6 +122,10 @@
  	$(CD) $(GAMMADIR)/make; \
  	$(MAKE) VM_TARGET=$@ generic_build2 $(ALT_OUT)
-+
+ 
 +$(CORE_VM_TARGETS):
 +	$(CD) $(GAMMADIR)/make; \
 +	$(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
- 
- # Build compiler1 (client) rule, different for platforms
- generic_build1:
-@@ -153,6 +166,12 @@ else
- 	    $(MAKE) -f $(ABS_OS_MAKEFILE) \
++
+ $(KERNEL_VM_TARGETS):
+ 	$(CD) $(GAMMADIR)/make; \
+ 	$(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
+@@ -159,6 +172,12 @@
  		      $(MAKE_ARGS) $(VM_TARGET)
  endif
-+
+ 
 +generic_buildcore:
 +	$(MKDIR) -p $(OUTPUTDIR)
 +	$(CD) $(OUTPUTDIR); \
 +		$(MAKE) -f $(ABS_OS_MAKEFILE) \
 +			$(MAKE_ARGS) $(VM_TARGET)
- 
- # Export file rule
- generic_export: $(EXPORT_LIST)
-@@ -182,11 +201,19 @@ XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
++
+ generic_buildkernel:
+ 	$(MKDIR) -p $(OUTPUTDIR)
+ ifeq ($(OSNAME),windows)
+@@ -205,13 +224,21 @@
  XUSAGE=$(HS_SRC_DIR)/share/vm/Xusage.txt
  DOCS_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_docs
  C1_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler1
@@ -66,8 +49,10 @@
 +else
  C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
 +endif
+ KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
  C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
  C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
+ KERNEL_DIR=$(KERNEL_BASE_DIR)/$(VM_SUBDIR)
  
  # Misc files and generated files need to come from C1 or C2 area
 +ifdef ICEDTEA_CORE_BUILD
@@ -77,7 +62,7 @@
  ifeq ($(ARCH_DATA_MODEL), 32)
    MISC_DIR=$(C1_DIR)
    GEN_DIR=$(C1_BASE_DIR)/generated
-@@ -194,6 +221,7 @@ else
+@@ -219,6 +246,7 @@
    MISC_DIR=$(C2_DIR)
    GEN_DIR=$(C2_BASE_DIR)/generated
  endif
@@ -85,18 +70,9 @@
  
  # Bin files (windows)
  ifeq ($(OSNAME),windows)
-@@ -264,6 +292,7 @@ endif
- 
- # Xusage file
- $(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt: $(XUSAGE)
-+$(EXPORT_SERVER_DIR)/Xusage.txt $(EXPORT_CLIENT_DIR)/Xusage.txt $(EXPORT_KERNEL_DIR)/Xusage.txt: $(XUSAGE)
- 	$(prep-target)
- 	$(RM) $@.temp
- 	$(SED) 's/\(separated by \)[;:]/\1$(PATH_SEP)/g' $< > $@.temp
-diff -r 79d639c8a75f openjdk/hotspot/src/share/vm/runtime/vm_version.cpp
---- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-02-12 04:14:24.000000000 -0500
-+++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-02-14 17:39:45.000000000 -0500
-@@ -89,8 +89,12 @@
+--- openjdk/hotspot/src/share/vm/runtime/vm_version.cpp.orig	2008-11-25 09:12:13.000000000 +0000
++++ openjdk/hotspot/src/share/vm/runtime/vm_version.cpp	2008-12-05 10:22:42.000000000 +0000
+@@ -95,8 +95,12 @@
  #ifdef TIERED
    #define VMTYPE "Server"
  #else
@@ -109,5 +85,20 @@
 +  #define VMTYPE "Core"
 +#endif // COMPILER1 || COMPILER2
  #endif // TIERED
+ #endif // KERNEL
  
- #ifndef HOTSPOT_VM_DISTRO
+--- openjdk/hotspot/build/linux/makefiles/defs.make.orig	2008-11-25 09:11:51.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-12-05 10:22:42.000000000 +0000
+@@ -97,6 +97,7 @@
+ EXPORT_LIST += $(EXPORT_SERVER_DIR)/Xusage.txt
+ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so
+ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
++ifndef ICEDTEA_CORE_BUILD
+ ifeq ($(ARCH_DATA_MODEL), 32)
+   EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
+   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
+@@ -111,3 +112,4 @@
+       EXPORT_LIST += $(EXPORT_LIB_DIR)/sa-jdi.jar
+     endif
+ endif
++endif
--- a/patches/hotspot/original/icedtea-memory-limits.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-memory-limits.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,12 +1,14 @@
---- penjdk6/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp	2008-02-12 04:14:17.000000000 -0500
-+++ openjdk/hotspot/src/cpu/i486/vm/c2_globals_i486.hpp	2008-02-14 16:32:33.000000000 -0500
-@@ -79,6 +79,6 @@
- define_pd_global(uintx,CodeCacheMinBlockLength,      4);
- 
+diff -Nru openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp
+--- openjdk.orig/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp      2008-05-23 22:30:44.000000000 +0100
++++ openjdk/hotspot/src/cpu/x86/vm/c2_globals_x86.hpp   2008-05-23 22:30:59.000000000 +0100
+@@ -98,7 +98,7 @@
+
+ // Heap related flags
  define_pd_global(uintx, PermSize,    ScaleForWordSize(16*M));
 -define_pd_global(uintx, MaxPermSize, ScaleForWordSize(64*M));
 +define_pd_global(uintx, MaxPermSize, ScaleForWordSize(128*M));
- 
+
+ // Ergonomics related flags
  define_pd_global(bool, NeverActAsServerClassMachine, false);
 --- penjdk6/hotspot/src/share/vm/runtime/globals.hpp	2008-02-12 04:14:24.000000000 -0500
 +++ openjdk/hotspot/src/share/vm/runtime/globals.hpp	2008-02-14 16:34:00.000000000 -0500
--- a/patches/hotspot/original/icedtea-shark-build.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-shark-build.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,164 +1,6 @@
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/Makefile
---- openjdk/hotspot/build/linux/Makefile	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/Makefile	Fri Jun 20 13:26:20 2008 +0100
-@@ -152,6 +152,13 @@ endif
- #       profiledcore    core            <os>_<arch>_core/profiled
- #       productcore     core            <os>_<arch>_core/product
- #
-+#       debugshark      shark           <os>_<arch>_shark/debug
-+#       fastdebugshark  shark           <os>_<arch>_shark/fastdebug
-+#       jvmgshark       shark           <os>_<arch>_shark/jvmg
-+#       optimizedshark  shark           <os>_<arch>_shark/optimized
-+#       profiledshark   shark           <os>_<arch>_shark/profiled
-+#       productshark    shark           <os>_<arch>_shark/product
-+#
- # What you get with each target:
- #
- # debug*     - "thin" libjvm_g - debug info linked into the gamma_g launcher
-@@ -172,11 +179,13 @@ SUBDIRS_C2        = $(addprefix $(OSNAME
- SUBDIRS_C2        = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
- SUBDIRS_TIERED    = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
- SUBDIRS_CORE      = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
-+SUBDIRS_SHARK     = $(addprefix $(OSNAME)_$(BUILDARCH)_shark/,$(TARGETS))
- 
- TARGETS_C2        = $(TARGETS)
- TARGETS_C1        = $(addsuffix 1,$(TARGETS))
- TARGETS_TIERED    = $(addsuffix tiered,$(TARGETS))
- TARGETS_CORE      = $(addsuffix core,$(TARGETS))
-+TARGETS_SHARK     = $(addsuffix shark,$(TARGETS))
- 
- BUILDTREE_MAKE    = $(GAMMADIR)/build/$(OSNAME)/makefiles/buildtree.make
- BUILDTREE_VARS    = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
-@@ -190,6 +199,7 @@ all:
- 	@echo "  $(TARGETS_C2)"
- 	@echo "  $(TARGETS_C1)"
- 	@echo "  $(TARGETS_CORE)"
-+	@echo "  $(TARGETS_SHARK)"
- 
- checks: check_os_version check_j2se_version
- 
-@@ -239,6 +249,10 @@ endif
- 	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks
- 	$(BUILDTREE) VARIANT=core
- 
-+$(SUBDIRS_SHARK): $(BUILDTREE_MAKE)
-+	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks
-+	$(BUILDTREE) VARIANT=shark
-+
- # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
- 
- $(TARGETS_C2):  $(SUBDIRS_C2)
-@@ -267,6 +281,12 @@ endif
- 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && ./test_gamma
- ifdef INSTALL
- 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
-+endif
-+
-+$(TARGETS_SHARK):  $(SUBDIRS_SHARK)
-+	cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
-+ifdef INSTALL
-+	cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
- endif
- 
- # Just build the tree, and nothing else:
-@@ -299,7 +319,7 @@ include $(GAMMADIR)/build/$(OSNAME)/make
- 
- #-------------------------------------------------------------------------------
- 
--.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE)
-+.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_SHARK)
- .PHONY: tree tree1 treecore
- .PHONY: all compiler1 compiler2 core
- .PHONY: clean clean_compiler1 clean_compiler2 clean_core docs clean_docs
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/buildtree.make
---- openjdk/hotspot/build/linux/makefiles/buildtree.make	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/makefiles/buildtree.make	Fri Jun 20 13:26:20 2008 +0100
-@@ -171,8 +171,8 @@ flags_vm.make: $(BUILDTREE_MAKE) ../shar
- 
- ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
- 	@echo Creating directory list $@
--	$(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \
--	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
-+	$(QUIETLY) find -L $(GAMMADIR)/src/share/vm/* -prune \
-+	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find -L {} \
-         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@
- 
- Makefile: $(BUILDTREE_MAKE)
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/defs.make
---- openjdk/hotspot/build/linux/makefiles/defs.make	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/makefiles/defs.make	Fri Jun 20 13:26:39 2008 +0100
-@@ -118,6 +118,7 @@ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libj
- EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so
- EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
- ifndef ICEDTEA_CORE_BUILD
-+ifndef ICEDTEA_SHARK_BUILD
- ifeq ($(ARCH_DATA_MODEL), 32)
-   EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
-   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
-@@ -133,3 +134,4 @@ else
-     endif
- endif
- endif
-+endif
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/gcc.make
---- openjdk/hotspot/build/linux/makefiles/gcc.make	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/makefiles/gcc.make	Fri Jun 20 13:26:20 2008 +0100
-@@ -63,6 +63,9 @@ VM_PICFLAG        = $(VM_PICFLAG/$(LINK_
- 
- ifdef ICEDTEA_ZERO_BUILD
- CFLAGS += $(LIBFFI_CFLAGS)
-+endif
-+ifdef ICEDTEA_SHARK_BUILD
-+CFLAGS += $(LLVM_CFLAGS)
- endif
- CFLAGS += $(VM_PICFLAG)
- CFLAGS += -fno-rtti
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/top.make
---- openjdk/hotspot/build/linux/makefiles/top.make	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/makefiles/top.make	Fri Jun 20 13:26:20 2008 +0100
-@@ -71,6 +71,7 @@ Include_DBs/COMPILER1   = $(Include_DBs/
- Include_DBs/COMPILER1   = $(Include_DBs/CORE) $(VM)/includeDB_compiler1
- Include_DBs/COMPILER2   = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
- Include_DBs/TIERED      = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2
-+Include_DBs/SHARK       = $(Include_DBs/CORE) $(VM)/includeDB_shark
- Include_DBs = $(Include_DBs/$(TYPE))
- 
- Cached_plat = $(GENERATED)/platform.current
-diff -r 8e41d25d7665 openjdk/hotspot/build/linux/makefiles/vm.make
---- openjdk/hotspot/build/linux/makefiles/vm.make	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/build/linux/makefiles/vm.make	Fri Jun 20 13:26:20 2008 +0100
-@@ -149,10 +149,14 @@ mapfile_reorder : mapfile $(REORDERFILE)
- 	rm -f $@
- 	cat $^ > $@
- 
--ifeq ($(ZERO_LIBARCH), ppc64)
-+ifdef ICEDTEA_SHARK_BUILD
-   STATIC_CXX = false
- else
--  STATIC_CXX = true
-+  ifeq ($(ZERO_LIBARCH), ppc64)
-+    STATIC_CXX = false
-+  else
-+    STATIC_CXX = true
-+  endif
- endif
- 
- ifeq ($(LINK_INTO),AOUT)
-@@ -179,6 +183,10 @@ endif
- endif
- ifdef ICEDTEA_ZERO_BUILD
- LIBS_VM += $(LIBFFI_LIBS)
-+endif
-+ifdef ICEDTEA_SHARK_BUILD
-+LFLAGS_VM += $(LLVM_LDFLAGS)
-+LIBS_VM   += $(LLVM_LIBS)
- endif
- 
- LINK_VM = $(LINK_LIB.c)
-diff -r 8e41d25d7665 openjdk/hotspot/make/Makefile
---- openjdk/hotspot/make/Makefile	Fri Jun 20 13:26:10 2008 +0100
-+++ openjdk/hotspot/make/Makefile	Fri Jun 20 13:30:28 2008 +0100
-@@ -99,6 +99,15 @@ all_debugcore:     jvmgcore docs export_
+--- openjdk/hotspot/make/Makefile.orig	2008-12-05 10:41:32.000000000 +0000
++++ openjdk/hotspot/make/Makefile	2008-12-05 10:50:53.000000000 +0000
+@@ -100,6 +100,15 @@
  all_debugcore:     jvmgcore docs export_debug
  all_optimizedcore: optimizedcore docs export_optimized
  
@@ -174,31 +16,31 @@
  # Do everything
  world:         all create_jdk
  
-@@ -124,6 +133,10 @@ endif
- $(CORE_VM_TARGETS):
+@@ -126,6 +135,10 @@
  	$(CD) $(GAMMADIR)/make; \
  	$(MAKE) VM_TARGET=$@ generic_buildcore $(ALT_OUT)
-+
+ 
 +$(SHARK_VM_TARGETS):
 +	$(CD) $(GAMMADIR)/make; \
 +	$(MAKE) VM_TARGET=$@ generic_buildshark $(ALT_OUT)
- 
- # Build compiler1 (client) rule, different for platforms
- generic_build1:
-@@ -172,6 +185,12 @@ generic_buildcore:
- 	$(CD) $(OUTPUTDIR); \
++
+ $(KERNEL_VM_TARGETS):
+ 	$(CD) $(GAMMADIR)/make; \
+ 	$(MAKE) VM_TARGET=$@ generic_buildkernel $(ALT_OUT)
+@@ -178,6 +191,12 @@
  		$(MAKE) -f $(ABS_OS_MAKEFILE) \
  			$(MAKE_ARGS) $(VM_TARGET)
-+
+ 
 +generic_buildshark:
 +	$(MKDIR) -p $(OUTPUTDIR)
 +	$(CD) $(OUTPUTDIR); \
 +		$(MAKE) -f $(ABS_OS_MAKEFILE) \
 +			$(MAKE_ARGS) $(VM_TARGET) 
- 
- # Export file rule
- generic_export: $(EXPORT_LIST)
-@@ -204,7 +223,11 @@ ifdef ICEDTEA_CORE_BUILD
++
+ generic_buildkernel:
+ 	$(MKDIR) -p $(OUTPUTDIR)
+ ifeq ($(OSNAME),windows)
+@@ -227,8 +246,12 @@
  ifdef ICEDTEA_CORE_BUILD
  C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_core
  else
@@ -206,11 +48,12 @@
 +C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_shark
 +else
  C2_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_compiler2
+ endif
 +endif
- endif
+ KERNEL_BASE_DIR=$(OUTPUTDIR)/$(VM_PLATFORM)_kernel
  C1_DIR=$(C1_BASE_DIR)/$(VM_SUBDIR)
  C2_DIR=$(C2_BASE_DIR)/$(VM_SUBDIR)
-@@ -214,6 +237,10 @@ ifdef ICEDTEA_CORE_BUILD
+@@ -239,6 +262,10 @@
    MISC_DIR=$(C2_DIR)
    GEN_DIR=$(C2_BASE_DIR)/generated
  else
@@ -221,7 +64,7 @@
  ifeq ($(ARCH_DATA_MODEL), 32)
    MISC_DIR=$(C1_DIR)
    GEN_DIR=$(C1_BASE_DIR)/generated
-@@ -222,6 +249,7 @@ else
+@@ -247,6 +274,7 @@
    GEN_DIR=$(C2_BASE_DIR)/generated
  endif
  endif
@@ -229,4 +72,154 @@
  
  # Bin files (windows)
  ifeq ($(OSNAME),windows)
-d
+--- openjdk/hotspot/build/linux/Makefile.orig	2008-11-25 09:11:51.000000000 +0000
++++ openjdk/hotspot/build/linux/Makefile	2008-12-05 10:50:52.000000000 +0000
+@@ -153,6 +153,13 @@
+ #       profiledcore    core            <os>_<arch>_core/profiled
+ #       productcore     core            <os>_<arch>_core/product
+ #
++#       debugshark      shark           <os>_<arch>_shark/debug
++#       fastdebugshark  shark           <os>_<arch>_shark/fastdebug
++#       jvmgshark       shark           <os>_<arch>_shark/jvmg
++#       optimizedshark  shark           <os>_<arch>_shark/optimized
++#       profiledshark   shark           <os>_<arch>_shark/profiled
++#       productshark    shark           <os>_<arch>_shark/product
++#
+ # What you get with each target:
+ #
+ # debug*     - "thin" libjvm_g - debug info linked into the gamma_g launcher
+@@ -171,11 +178,13 @@
+ SUBDIRS_C2        = $(addprefix $(OSNAME)_$(BUILDARCH)_compiler2/,$(TARGETS))
+ SUBDIRS_TIERED    = $(addprefix $(OSNAME)_$(BUILDARCH)_tiered/,$(TARGETS))
+ SUBDIRS_CORE      = $(addprefix $(OSNAME)_$(BUILDARCH)_core/,$(TARGETS))
++SUBDIRS_SHARK     = $(addprefix $(OSNAME)_$(BUILDARCH)_shark/,$(TARGETS))
+ 
+ TARGETS_C2        = $(TARGETS)
+ TARGETS_C1        = $(addsuffix 1,$(TARGETS))
+ TARGETS_TIERED    = $(addsuffix tiered,$(TARGETS))
+ TARGETS_CORE      = $(addsuffix core,$(TARGETS))
++TARGETS_SHARK     = $(addsuffix shark,$(TARGETS))
+ 
+ BUILDTREE_MAKE    = $(GAMMADIR)/build/$(OSNAME)/makefiles/buildtree.make
+ BUILDTREE_VARS    = GAMMADIR=$(GAMMADIR) OS_FAMILY=$(OSNAME) ARCH=$(SRCARCH) BUILDARCH=$(BUILDARCH) LIBARCH=$(LIBARCH)
+@@ -191,6 +200,7 @@
+ 	@echo "  $(TARGETS_C2)"
+ 	@echo "  $(TARGETS_C1)"
+ 	@echo "  $(TARGETS_CORE)"
++	@echo "  $(TARGETS_SHARK)"
+ 
+ checks: check_os_version check_j2se_version
+ 
+@@ -240,6 +250,10 @@
+ 	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks
+ 	$(BUILDTREE) VARIANT=core
+ 
++$(SUBDIRS_SHARK): $(BUILDTREE_MAKE)
++	$(QUIETLY) $(MAKE) -f $(GAMMADIR)/build/$(OSNAME)/Makefile checks
++	$(BUILDTREE) VARIANT=shark
++
+ # Define INSTALL=y at command line to automatically copy JVM into JAVA_HOME
+ 
+ $(TARGETS_C2):  $(SUBDIRS_C2)
+@@ -270,6 +284,12 @@
+ 	cd $(OSNAME)_$(BUILDARCH)_core/$(patsubst %core,%,$@) && $(MAKE) $(MFLAGS) install
+ endif
+ 
++$(TARGETS_SHARK):  $(SUBDIRS_SHARK)
++	cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS)
++ifdef INSTALL
++	cd $(OSNAME)_$(BUILDARCH)_shark/$(patsubst %shark,%,$@) && $(MAKE) $(MFLAGS) install
++endif
++
+ # Just build the tree, and nothing else:
+ tree:      $(SUBDIRS_C2)
+ tree1:     $(SUBDIRS_C1)
+@@ -300,7 +320,7 @@
+ 
+ #-------------------------------------------------------------------------------
+ 
+-.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE)
++.PHONY: $(TARGETS_C2) $(TARGETS_C1) $(TARGETS_CORE) $(TARGETS_SHARK)
+ .PHONY: tree tree1 treecore
+ .PHONY: all compiler1 compiler2 core
+ .PHONY: clean clean_compiler1 clean_compiler2 clean_core docs clean_docs
+--- openjdk/hotspot/build/linux/makefiles/gcc.make.orig	2008-12-05 10:41:34.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/gcc.make	2008-12-05 10:50:52.000000000 +0000
+@@ -60,6 +60,9 @@
+ ifdef ICEDTEA_ZERO_BUILD
+ CFLAGS += $(LIBFFI_CFLAGS)
+ endif
++ifdef ICEDTEA_SHARK_BUILD
++CFLAGS += $(LLVM_CFLAGS)
++endif
+ CFLAGS += $(VM_PICFLAG)
+ CFLAGS += -fno-rtti
+ CFLAGS += -fno-exceptions
+--- openjdk/hotspot/build/linux/makefiles/top.make.orig	2008-11-25 09:11:51.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/top.make	2008-12-05 10:50:52.000000000 +0000
+@@ -73,6 +73,7 @@
+ Include_DBs/COMPILER1   = $(Include_DBs/CORE) $(VM)/includeDB_compiler1
+ Include_DBs/COMPILER2   = $(Include_DBs/CORE) $(VM)/includeDB_compiler2
+ Include_DBs/TIERED      = $(Include_DBs/CORE) $(VM)/includeDB_compiler1 $(VM)/includeDB_compiler2
++Include_DBs/SHARK       = $(Include_DBs/CORE) $(VM)/includeDB_shark
+ Include_DBs = $(Include_DBs/$(TYPE))
+ 
+ Cached_plat = $(GENERATED)/platform.current
+--- openjdk/hotspot/build/linux/makefiles/vm.make.orig	2008-12-05 10:41:34.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/vm.make	2008-12-05 10:50:53.000000000 +0000
+@@ -128,10 +128,14 @@
+ 
+ STATIC_CXX = true
+ 
+-ifeq ($(ZERO_LIBARCH), ppc64)
++ifdef ICEDTEA_SHARK_BUILD
+   STATIC_CXX = false
+ else
+-  STATIC_CXX = true
++  ifeq ($(ZERO_LIBARCH), ppc64)
++    STATIC_CXX = false
++  else
++    STATIC_CXX = true
++  endif
+ endif
+ 
+ ifeq ($(LINK_INTO),AOUT)
+@@ -159,6 +163,10 @@
+ ifdef ICEDTEA_ZERO_BUILD
+ LIBS_VM += $(LIBFFI_LIBS)
+ endif
++ifdef ICEDTEA_SHARK_BUILD
++LFLAGS_VM += $(LLVM_LDFLAGS)
++LIBS_VM   += $(LLVM_LIBS)
++endif
+ 
+ LINK_VM = $(LINK_LIB.c)
+ 
+--- openjdk/hotspot/build/linux/makefiles/buildtree.make.orig	2008-12-05 10:41:34.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/buildtree.make	2008-12-05 10:50:52.000000000 +0000
+@@ -211,8 +211,8 @@
+ 
+ ../shared_dirs.lst:  $(BUILDTREE_MAKE) $(GAMMADIR)/src/share/vm
+ 	@echo Creating directory list $@
+-	$(QUIETLY) find $(GAMMADIR)/src/share/vm/* -prune \
+-	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find {} \
++	$(QUIETLY) find -L $(GAMMADIR)/src/share/vm/* -prune \
++	-type d \! \( $(TOPLEVEL_EXCLUDE_DIRS) \) -exec find -L {} \
+         \( $(ALWAYS_EXCLUDE_DIRS) \) -prune -o -type d -print \; > $@
+ 
+ Makefile: $(BUILDTREE_MAKE)
+--- openjdk/hotspot/build/linux/makefiles/defs.make.orig	2008-12-05 10:41:34.000000000 +0000
++++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-12-05 10:50:52.000000000 +0000
+@@ -110,6 +110,7 @@
+ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjsig.so
+ EXPORT_LIST += $(EXPORT_SERVER_DIR)/libjvm.so
+ ifndef ICEDTEA_CORE_BUILD
++ifndef ICEDTEA_SHARK_BUILD
+ ifeq ($(ARCH_DATA_MODEL), 32)
+   EXPORT_CLIENT_DIR = $(EXPORT_JRE_LIB_ARCH_DIR)/client
+   EXPORT_LIST += $(EXPORT_CLIENT_DIR)/Xusage.txt
+@@ -125,3 +126,4 @@
+     endif
+ endif
+ endif
++endif
--- a/patches/hotspot/original/icedtea-sparc64-linux.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-sparc64-linux.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,82 +1,7 @@
-diff -up openjdk/hotspot/build/linux/makefiles/sparcv9.make.BAD openjdk/hotspot/build/linux/makefiles/sparcv9.make
---- openjdk/hotspot/build/linux/makefiles/sparcv9.make.BAD	2008-05-29 15:48:44.000000000 -0400
-+++ openjdk/hotspot/build/linux/makefiles/sparcv9.make	2008-05-29 15:48:39.000000000 -0400
-@@ -0,0 +1,27 @@
-+#
-+# Copyright 1999-2005 Sun Microsystems, Inc.  All Rights Reserved.
-+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+#
-+# This code is free software; you can redistribute it and/or modify it
-+# under the terms of the GNU General Public License version 2 only, as
-+# published by the Free Software Foundation.
-+#
-+# This code is distributed in the hope that it will be useful, but WITHOUT
-+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+# version 2 for more details (a copy is included in the LICENSE file that
-+# accompanied this code).
-+#
-+# You should have received a copy of the GNU General Public License version
-+# 2 along with this work; if not, write to the Free Software Foundation,
-+# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+#
-+# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+# CA 95054 USA or visit www.sun.com if you need additional information or
-+# have any questions.
-+#  
-+#
-+
-+# TLS helper, assembled from .s file
-+# Not included in includeDB because it has no dependencies
-+Obj_Files += linux_sparc.o
-diff -up openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp.BAD openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
---- openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp.BAD	2008-05-29 16:25:10.000000000 -0400
-+++ openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	2008-05-29 16:32:11.000000000 -0400
-@@ -225,7 +225,7 @@ LIR_Address* LIRGenerator::emit_array_ad
- 
- void LIRGenerator::increment_counter(address counter, int step) {
-   LIR_Opr pointer = new_register(T_INT);
--  __ move(LIR_OprFact::intConst((int)counter), pointer);
-+  __ move(LIR_OprFact::intConst((int)*counter), pointer);
-   LIR_Address* addr = new LIR_Address(pointer, 0, T_INT);
-   increment_counter(addr, step);
- }
-@@ -1106,20 +1106,12 @@ void LIRGenerator::trace_block_entry(Blo
- 
- void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
-                                         CodeEmitInfo* info) {
--#ifdef _LP64
--  __ store_mem_reg(value, address, info);
--#else
-   __ volatile_store_mem_reg(value, address, info);
--#endif
- }
- 
- void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
-                                        CodeEmitInfo* info) {
--#ifdef _LP64
--  __ load_mem_reg(address, result, info);
--#else
-   __ volatile_load_mem_reg(address, result, info);
--#endif
- }
- 
- 
-diff -up openjdk/hotspot/build/linux/makefiles/defs.make.BAD openjdk/hotspot/build/linux/makefiles/defs.make
---- openjdk/hotspot/build/linux/makefiles/defs.make.BAD	2008-05-30 07:03:37.000000000 -0400
-+++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-05-30 07:03:45.000000000 -0400
-@@ -58,8 +58,8 @@ ifeq ($(ARCH), ia64)
-   HS_ARCH         = ia64
- endif
- 
--# sparc
--ifneq (,$(filter $(ARCH), sparc sparc64))
-+# sparc64
-+ifeq ($(ARCH), sparc64)
-   ifeq ($(ARCH_DATA_MODEL), 64)
-     ARCH_DATA_MODEL  = 64
-     MAKE_ARGS        += LP64=1
-@@ -73,6 +73,14 @@ ifneq (,$(filter $(ARCH), sparc sparc64)
+diff -Nru openjdk.orig/hotspot/build/linux/makefiles/defs.make openjdk/hotspot/make/linux/makefiles/defs.make
+--- openjdk.orig/hotspot/build/linux/makefiles/defs.make	2008-06-22 22:28:06.000000000 +0100
++++ openjdk/hotspot/build/linux/makefiles/defs.make	2008-06-22 22:35:27.000000000 +0100
+@@ -73,6 +73,14 @@
    HS_ARCH            = sparc
  endif
  
@@ -91,3 +16,27 @@
  # x86_64
  ifeq ($(ARCH), x86_64) 
    ifeq ($(ARCH_DATA_MODEL), 64)
+diff -Nru openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp
+--- openjdk.orig/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	2008-06-22 20:44:41.000000000 +0100
++++ openjdk/hotspot/src/cpu/sparc/vm/c1_LIRGenerator_sparc.cpp	2008-06-22 22:35:27.000000000 +0100
+@@ -1112,20 +1112,12 @@
+ 
+ void LIRGenerator::volatile_field_store(LIR_Opr value, LIR_Address* address,
+                                         CodeEmitInfo* info) {
+-#ifdef _LP64
+-  __ store(value, address, info);
+-#else
+   __ volatile_store_mem_reg(value, address, info);
+-#endif
+ }
+ 
+ void LIRGenerator::volatile_field_load(LIR_Address* address, LIR_Opr result,
+                                        CodeEmitInfo* info) {
+-#ifdef _LP64
+-  __ load(address, result, info);
+-#else
+   __ volatile_load_mem_reg(address, result, info);
+-#endif
+ }
+ 
+ 
--- a/patches/hotspot/original/icedtea-static-libstdc++.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-static-libstdc++.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,9 +1,9 @@
-diff -r e95eb2395f60 openjdk-ecj/hotspot/build/linux/makefiles/vm.make
---- openjdk/hotspot/build/linux/makefiles/vm.make	Fri Nov 09 16:35:08 2007 +0000
-+++ openjdk/hotspot/build/linux/makefiles/vm.make	Mon Nov 12 09:09:28 2007 +0000
-@@ -149,6 +149,12 @@
- 	rm -f $@
- 	cat $^ > $@
+diff -Nru openjdk.orig/hotspot/build/linux/makefiles/vm.make openjdk/hotspot/make/linux/makefiles/vm.make
+--- openjdk.orig/hotspot/build/linux/makefiles/vm.make	2008-05-16 22:13:31.000000000 +0100
++++ openjdk/hotspot/build/linux/makefiles/vm.make	2008-05-23 23:25:47.000000000 +0100
+@@ -124,6 +124,12 @@
+ 
+ STATIC_CXX = true
  
 +ifeq ($(ZERO_LIBARCH), ppc64)
 +  STATIC_CXX = false
@@ -14,20 +14,3 @@
  ifeq ($(LINK_INTO),AOUT)
    LIBJVM.o                 =
    LIBJVM_MAPFILE           =
-@@ -162,8 +168,14 @@
-   # JVM is statically linked with libgcc[_s] and libstdc++; this is needed to
-   # get around library dependency and compatibility issues. Must use gcc not
-   # g++ to link.
--  LFLAGS_VM                += $(STATIC_LIBGCC)
--  LIBS_VM                  += $(STATIC_STDCXX) $(LIBS)
-+  ifeq ($(STATIC_CXX), true)
-+    LFLAGS_VM              += $(STATIC_LIBGCC)
-+    LIBS_VM                += $(STATIC_STDCXX)
-+  else
-+    LIBS_VM                += -lstdc++
-+  endif
-+
-+  LIBS_VM                  += $(LIBS)
- endif
- 
- LINK_VM = $(LINK_LIB.c)
--- a/patches/hotspot/original/icedtea-zero-build.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/hotspot/original/icedtea-zero-build.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -23,23 +23,23 @@
 diff -ru openjdk/hotspot/make/defs.make openjdk/hotspot/make/defs.make
 --- openjdk/hotspot/make/defs.make	2008-02-28 10:02:25.000000000 +0000
 +++ openjdk/hotspot/make/defs.make	2008-03-13 13:37:14.000000000 +0000
-@@ -199,13 +199,14 @@
+@@ -192,13 +192,14 @@
+ 
    # Use uname output for SRCARCH, but deal with platform differences. If ARCH
-   # is not explicitly listed below, it is treated as i486. Also note amd64 is
-   # a separate src arch, so LP64 && i486 ==> amd64.
+   # is not explicitly listed below, it is treated as x86. 
 -  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64,$(ARCH)))
 +  SRCARCH     = $(ARCH/$(filter sparc sparc64 ia64 amd64 x86_64 zero,$(ARCH)))
-   ARCH/       = i486
+   ARCH/       = x86
    ARCH/sparc  = sparc
    ARCH/sparc64= sparc
    ARCH/ia64   = ia64
-   ARCH/amd64  = amd64
-   ARCH/x86_64 = amd64
+   ARCH/amd64  = x86
+   ARCH/x86_64 = x86
 +  ARCH/zero   = zero
-   ifdef LP64
-     ifeq ($(SRCARCH), i486)
-       SRCARCH = amd64
-@@ -227,8 +228,9 @@
+ 
+   # BUILDARCH is usually the same as SRCARCH, except for sparcv9
+   BUILDARCH = $(SRCARCH)
+@@ -222,8 +223,9 @@
    LIBARCH/sparc   = sparc
    LIBARCH/sparcv9 = sparcv9
    LIBARCH/ia64    = ia64
--- a/patches/icedtea-hotspot7-tests.patch	Thu Dec 04 21:38:54 2008 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7408 +0,0 @@
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6646019/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6646019/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,52 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6646019
-+ * @summary array subscript expressions become top() with -d64
-+ * @run main/othervm -Xcomp -XX:CompileOnly=Test.test Test
-+*/
-+
-+
-+public class Test  {
-+  final static int i = 2076285318;
-+  long l = 2;
-+  short s;
-+
-+  public static void main(String[] args) {
-+    Test t = new Test();
-+    try { t.test(); }
-+    catch (Throwable e) {
-+      if (t.l != 5) {
-+        System.out.println("Fails: " + t.l + " != 5");
-+      }
-+    }
-+  }
-+
-+  private void test() {
-+    l = 5;
-+    l = (new short[(byte)-2])[(byte)(l = i)];
-+  }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6646020/Tester.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6646020/Tester.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,886 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6646020
-+ * @summary assert(in_bb(n),"must be in block") in -Xcomp mode
-+ */
-+
-+/* Complexity upper bound: 3361 ops */
-+
-+class Tester_Class_0 {
-+    static byte var_1;
-+
-+
-+    public Tester_Class_0()
-+    {
-+        "".length();
-+        {
-+            var_1 = (var_1 = (new byte[(byte)'D'])[(byte)2.40457E38F]);
-+            var_1 = (var_1 = (byte)1.738443503665377E307);
-+            var_1 = (var_1 = (byte)1237144669662298112L);
-+        }
-+        var_1 = "baldh".equalsIgnoreCase("") ? (var_1 = (byte)7.2932087E37F) : (byte)3909726578709910528L;
-+        var_1 = (var_1 = (var_1 = (var_1 = (byte)7.223761846153971E307)));
-+        var_1 = (var_1 = (var_1 = (var_1 = (var_1 = (byte)((short)7860452029249754112L + (byte)1.7374232546809952E308)))));
-+        var_1 = (!true ? (var_1 = (byte)4359229782598970368L) : (short)(byte)1.7509836746850026E308) >= 'P' ? (var_1 = (byte)3.275114793095594E307) : (byte)(- ((byte)1.5595572E38F) / 8.2971296E37F);
-+        byte var_9 = (true ? true : (false ? true : false)) ? (var_1 = (var_1 = (byte)9.928434E37F)) : (var_1 = (byte)9.785060633966518E307);
-+        final byte var_10 = 53;
-+        var_9 <<= (true | true) & (((var_10 == "".substring(2001075014).compareToIgnoreCase("rhbytggv") ? !true : ! !true) ? !false : false) ? !true & true : !false) ? var_10 : var_10;
-+        var_9 <<= - (var_9 -= - ~6397182310329038848L >> (char)955837891 << (short)- - -8.4452034E37F >> + ~5485157895941338112L);
-+        --var_9;
-+        var_9 >>= 'V';
-+        var_9 -= (new char[var_10])[var_9];
-+        double var_11;
-+        var_11 = (var_11 = (new int[var_9 = (var_9 %= 684423748)])[var_9]);
-+        var_9 /= 'q';
-+        var_9 *= ~var_9 | (short)1.7667766368850557E308 - "w".trim().charAt(- (var_9 /= + (var_11 = 'q')));
-+        if (var_10 <= 605036859609030656L | !false & false)
-+        {
-+            var_9 >>>= false ^ false ? (new short[var_10])[var_10] : (short)1013619326108001280L;
-+        }
-+        else
-+        {
-+            var_11 = var_9;
-+        }
-+        var_9 -= 'X';
-+        var_9 *= 'E';
-+        {
-+            var_9 ^= (new short[var_9])[var_9 >>>= 'c'];
-+        }
-+        var_11 = 4315867074042433536L;
-+        double var_12 = 1.2183900219527627E308;
-+        var_9 <<= (false ? !false : false) ? '\\' : 'D';
-+    }
-+
-+
-+
-+
-+    private final long func_0()
-+    {
-+        float var_2 = 0F;
-+        var_1 = (var_1 = (var_1 = (byte)((short)1.4106931056021857E308 % var_2)));
-+        for (new String(); true & (! !true ^ !false | false) && var_2 < 1; var_1 = (var_1 = (var_1 = (var_1 = (byte)1183673628639185920L))))
-+        {
-+            var_1 = true | false ? (var_1 = (byte)1.6263855E37F) : (byte)'O';
-+            var_2++;
-+            "fui".toUpperCase();
-+            final int var_3 = (var_1 = (var_1 = (byte)'i')) + (byte)2008561384 / (byte)1.4413369179905006E308;
-+        }
-+        var_1 = (var_1 = false ^ false ? (byte)2.3850814E38F : (byte)4.42887E37F);
-+        final float var_4 = 3.052265E38F;
-+        var_1 = (var_1 = (var_1 = (var_1 = (var_1 = (byte)'o'))));
-+        long var_5;
-+        var_1 = (var_1 = (byte)((var_1 = (byte)1913212786) * (var_1 = (byte)var_2)));
-+        var_5 = (short)3.2024069E38F * (short)(var_5 = 'Q');
-+        var_5 = (false ? true : false) ? (short)1098137179 : (byte)~695765814858203136L;
-+        var_1 = (var_1 = true & false ^ true ? (byte)1662737306 : (byte)'r');
-+        {
-+            (true ? "a" : "lymivj".toString()).codePointCount((short)3.032349E38F + (var_1 = (var_1 = (var_1 = (var_1 = (byte)1.3159799E37F)))), (byte)2.0898819853138264E307 & (new short[(byte)(short)var_2])[var_1 = (byte)(short)4.859332921376913E307]);
-+        }
-+        double var_6;
-+        var_6 = 1359078277;
-+        final float var_7 = 3.5952457E37F;
-+        var_5 = ('u' | 9005660398910009344L) << 'j';
-+        int var_8;
-+        var_5 = (!false || true & !false) && false ? (byte)1836342254 : (byte)1.4836203E38F;
-+        var_1 = (var_1 = (var_1 = (var_1 = (byte)1.5824984701060493E308)));
-+        var_1 = (var_1 = (var_1 = (byte)~ (var_1 = (var_1 = (var_1 = (byte)var_7)))));
-+        return +9.067416E37F <= (true | true ^ false ? (var_1 = (byte)(short)1.5243446E38F) : (var_1 = (byte)1.6893049E37F)) ? (byte)~4408841475280588800L - (var_5 = (var_1 = (byte)2.1542209E38F)) : (var_8 = (short)var_4);
-+    }
-+
-+    protected final static double func_1(final char arg_0, final long arg_1)
-+    {
-+        var_1 = (short)8779631802405542912L << 'x' <= arg_0 ? (byte)+9.96859509852443E307 : (var_1 = (var_1 = (byte)(short)5.218454879223281E307));
-+        return 5.57437404144192E307;
-+    }
-+
-+    double func_2(byte arg_0, final boolean arg_1, Object arg_2)
-+    {
-+        arg_2 = arg_1 != arg_1 ? "wq" : "w";
-+        arg_2 = arg_2;
-+        if (arg_1)
-+        {
-+            arg_2 = false & arg_1 ? "hasmp" : (arg_2 = arg_2);
-+        }
-+        else
-+        {
-+            arg_2 = "lcquv";
-+        }
-+        arg_0 -= arg_1 ^ false ? (arg_0 |= (short)arg_0) : (~3462197988186869760L | 7274210797196514304L) % - - + +130998764279904256L;
-+        arg_0 &= (true ? - - ~7861994999369861120L << 'l' : 'c') * 1246069704;
-+        return (arg_1 ? 9.311174E37F : 1.7085558737202237E308) * 1168887722;
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_0.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_1 extends Tester_Class_0 {
-+    static Object var_13;
-+    final static boolean var_14 = false | (false ? false : true);
-+    Object var_15;
-+    static byte var_16;
-+    final long var_17 = (long)(-9.40561658911133E307 - (short)2.2016736E38F) ^ (char)1099667310;
-+    static boolean var_18;
-+    static float var_19;
-+    final static byte var_20 = 123;
-+    static byte var_21 = var_1 = (var_1 = var_20);
-+    final static float var_22 = 1.5415572E38F;
-+
-+
-+    public Tester_Class_1()
-+    {
-+        char[][] var_39;
-+        boolean var_40 = false | !var_14;
-+        if (var_14)
-+        {
-+            final String[] var_41 = (new String[var_21][var_20])[var_21 *= var_21];
-+            var_15 = (new Tester_Class_0[var_20])[var_20];
-+            --var_21;
-+            int var_42;
-+        }
-+        else
-+        {
-+            var_19 = (short)325110146;
-+        }
-+        var_40 &= true;
-+        var_13 = (((new Tester_Class_1[var_21 |= (new char[var_20])[var_21]])[var_21]).var_15 = (new String[var_21][var_20][var_20])[var_21 >>= (byte)(int)var_22]);
-+        var_15 = "m";
-+    }
-+
-+
-+
-+
-+
-+    protected final static Tester_Class_0 func_0(final char arg_0, boolean arg_1)
-+    {
-+        final short var_23 = false ? (short)2.2956268E38F : var_20;
-+        {
-+            ((new Tester_Class_1[var_21])[var_20]).var_15 = ((new Tester_Class_0[var_20][var_21])[var_21])[var_20];
-+        }
-+        var_19 = var_23;
-+        {
-+            var_21++;
-+            --var_21;
-+            var_13 = (false ? arg_1 : arg_1) ? "" : "aianteahl";
-+            arg_1 ^= ! (var_14 ? var_14 : !var_14);
-+        }
-+        (arg_1 ? "rq" : "certd").trim();
-+        arg_1 ^= 's' < var_22;
-+        var_19 = 'T';
-+        var_19 = var_14 ? --var_21 : var_20;
-+        var_19 = (var_21 >>>= ~ -1559436447128426496L >> 88912720393932800L) | (new char[var_20][var_21])[var_21][var_20];
-+        short var_24 = 7601;
-+        if (arg_1)
-+        {
-+            var_13 = (new Tester_Class_0[var_20])[var_21];
-+        }
-+        else
-+        {
-+            var_19 = var_23;
-+        }
-+        var_19 = var_24;
-+        var_19 = 174274929356416000L;
-+        return arg_1 ? (Tester_Class_0)(new Object[var_20])[var_21 >>>= - ((byte)6471979169965446144L)] : (new Tester_Class_0[var_21])[var_20];
-+    }
-+
-+    private static int func_1(final Object arg_0, final boolean arg_1)
-+    {
-+        var_19 = 'N';
-+        var_13 = "ftspm".toUpperCase();
-+        var_18 = arg_1 ? !arg_1 : var_14;
-+        var_19 = var_21 % 'j';
-+        {
-+            var_13 = new short[var_21 >>= 8019540572802872320L];
-+        }
-+        final Tester_Class_0 var_25 = arg_1 ? ((short)1.3614569631193786E308 >= (short)var_20 ? func_0('O', true) : (Tester_Class_0)arg_0) : func_0('e', false);
-+        "cltpxrg".offsetByCodePoints((new short[var_20])[(byte)'F'] & var_20, 942627356);
-+        final Object var_26 = ((new Tester_Class_1[var_21])[var_20]).var_15 = arg_0;
-+        {
-+            var_21 |= 'H';
-+        }
-+        var_19 = 4705089801895780352L;
-+        var_19 = (var_18 = arg_1 & false) ? var_20 : (! (~var_21 > var_22) ? (new short[var_20])[var_21] : (short)3904907750551380992L);
-+        var_18 = false;
-+        {
-+            var_18 = "aoy".startsWith("ia", 18060804);
-+            if (true)
-+            {
-+                final short var_27 = 4832;
-+            }
-+            else
-+            {
-+                var_18 = (var_18 = arg_1) ? !false : !var_14;
-+            }
-+            var_18 = (var_18 = var_14);
-+            var_19 = 'L';
-+        }
-+        func_0((false ? ! ((var_21 -= 4.670301365216022E307) > 1.1839209E37F) : (var_18 = false)) ? 's' : 'R', 'Z' > - ((long)var_21) << 2585724390819764224L & var_25.func_2(var_21, false, var_13 = var_25) != 4918861136400833536L);
-+        double var_28 = 0;
-+        var_21 %= -var_28;
-+        for (byte var_29 = 91; arg_1 && (var_28 < 1 && false); var_19 = var_20)
-+        {
-+            var_19 = (var_18 = arg_1) & (var_18 = false) ? 'm' : '[';
-+            var_28++;
-+            var_18 = var_14;
-+            var_21 += (short)1363703973;
-+        }
-+        var_19 = (var_19 = var_22);
-+        var_18 = (var_18 = false | false ? 1743087391 <= (var_21 >>= 8790741242417599488L) : !arg_1);
-+        var_18 = true | true;
-+        --var_21;
-+        var_18 = !var_14 & false;
-+        "mt".indexOf(var_14 ? new String("fpu") : "awivb", (var_14 ? !true : (var_18 = var_14)) ? + ++var_21 : ~var_20);
-+        return (short)(new float[var_21--])[var_21] & ((var_18 = false) ? (var_21 *= 'N') : var_20 + (short)1680927063794178048L) & 1839004800;
-+    }
-+
-+    protected static int func_2(Tester_Class_0[][] arg_0)
-+    {
-+        ((new Tester_Class_1[var_20][var_21])[var_20][var_20]).var_15 = ((new int[var_21][var_21][(byte)var_22])[var_21 <<= var_20])[var_20];
-+        ((new Tester_Class_1[var_20])[var_20]).var_15 = "d";
-+        int var_30 = 0;
-+        "joxjgpywp".lastIndexOf(1834367264 >> var_21, (byte)7.572305E37F >>> (false ? (short)2.3909862E38F : + - +3939434849912855552L));
-+        while (var_14 | false ^ var_14 && (var_30 < 1 && true))
-+        {
-+            var_1 = var_20;
-+            var_30++;
-+            var_13 = new float[var_21][--var_21];
-+            boolean var_31;
-+        }
-+        var_19 = ((new Tester_Class_1[var_21])[var_20]).var_17 <= (~2158227803735181312L & 6001748808824762368L) ? (short)var_20 : var_20;
-+        var_18 = (var_18 = true);
-+        return (byte)(new short[var_20])[var_20] >>> ((new char[var_21][var_21])[var_21 |= 6074708801143703552L])[var_20];
-+    }
-+
-+    private final String func_3(boolean arg_0, short arg_1, short arg_2)
-+    {
-+        var_13 = (Tester_Class_0)((arg_0 ^= arg_0) ? (var_13 = (var_15 = (var_15 = "grfphyrs"))) : (var_13 = new Object[var_21 *= ']']));
-+        if (true & ! (arg_0 ^= !arg_0 | true))
-+        {
-+            boolean var_32 = true;
-+            var_19 = --arg_1;
-+            arg_2 <<= var_21;
-+        }
-+        else
-+        {
-+            arg_0 |= false;
-+        }
-+        var_21 >>>= arg_1;
-+        final float var_33 = 2.5500976E38F;
-+        return "";
-+    }
-+
-+    private static String func_4(final double arg_0, final Object arg_1, final short[] arg_2, final char arg_3)
-+    {
-+        float var_34;
-+        var_21++;
-+        ((new Tester_Class_1[var_20])[var_20]).var_15 = false ? arg_1 : arg_1;
-+        var_13 = arg_1;
-+        var_19 = var_22;
-+        var_13 = new long[var_21 /= 1038797776 + var_21][--var_21];
-+        ++var_21;
-+        var_18 = false && false;
-+        var_21--;
-+        "".lastIndexOf("kjro");
-+        final int var_35 = (var_21 <<= var_21--) * var_21--;
-+        if ("kohilkx".startsWith("gy", var_35))
-+        {
-+            var_34 = 2.0849673E37F;
-+        }
-+        else
-+        {
-+            double var_36 = arg_0;
-+        }
-+        var_34 = (var_21 /= var_20);
-+        {
-+            func_2(new Tester_Class_0[var_20][var_21]);
-+            var_34 = var_20 * (- ~5805881602002385920L / arg_3) << (short)~8041668398152312832L;
-+            var_13 = (var_13 = "qfwbfdf");
-+        }
-+        ((new Tester_Class_1[var_20])[var_21 += var_20]).var_15 = false ? func_0(arg_3, var_14) : func_0('J', var_18 = var_14);
-+        var_18 = (var_18 = var_14) & var_14;
-+        if ((new boolean[var_21])[var_21 >>= 121380821])
-+        {
-+            var_34 = 1382979413;
-+        }
-+        else
-+        {
-+            var_34 = (var_20 & var_20) + (true ? 'I' : arg_3);
-+        }
-+        byte var_37;
-+        ((new Tester_Class_1[var_20][var_21])[var_14 ^ var_14 | !var_14 ? var_20 : var_20][var_21 ^= (short)1692053070 & + ~7232298887878750208L - 1512699919]).var_15 = arg_2;
-+        byte var_38 = 1;
-+        var_38 -= arg_0;
-+        var_34 = arg_3;
-+        return var_14 ? "" : "xgkr".toUpperCase();
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_1.var_16 = "; result += Tester.Printer.print(var_16);
-+        result += "\n";
-+        result += "Tester_Class_1.var_20 = "; result += Tester.Printer.print(var_20);
-+        result += "\n";
-+        result += "Tester_Class_1.var_21 = "; result += Tester.Printer.print(var_21);
-+        result += "\n";
-+        result += "Tester_Class_1.var_14 = "; result += Tester.Printer.print(var_14);
-+        result += "\n";
-+        result += "Tester_Class_1.var_18 = "; result += Tester.Printer.print(var_18);
-+        result += "\n";
-+        result += "Tester_Class_1.var_17 = "; result += Tester.Printer.print(var_17);
-+        result += "\n";
-+        result += "Tester_Class_1.var_19 = "; result += Tester.Printer.print(var_19);
-+        result += "\n";
-+        result += "Tester_Class_1.var_22 = "; result += Tester.Printer.print(var_22);
-+        result += "\n";
-+        result += "Tester_Class_1.var_13 = "; result += Tester.Printer.print(var_13);
-+        result += "\n";
-+        result += "Tester_Class_1.var_15 = "; result += Tester.Printer.print(var_15);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_2 extends Tester_Class_0 {
-+    final int var_43 = 1600723343;
-+    static long var_44 = ~1297640037857117184L;
-+    static String var_45 = "ejaglds";
-+    double var_46;
-+    static float var_47 = 7.9423827E37F;
-+    static Tester_Class_1[][] var_48;
-+
-+
-+    public Tester_Class_2()
-+    {
-+        var_45 = (var_45 = "nkulkweqt");
-+        var_47 %= (new char[Tester_Class_1.var_21 >>= (short)Tester_Class_1.var_20])[Tester_Class_1.var_20];
-+        {
-+            Tester_Class_1.var_18 = Tester_Class_1.var_14;
-+        }
-+        var_47 %= 1.559461406041646E308;
-+        var_44 -= Tester_Class_1.var_21++ & ((new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_17;
-+        var_44 *= false ? (short)Tester_Class_1.var_20 : (short)var_47;
-+        Tester_Class_1.var_13 = (new Tester_Class_1().var_15 = new char[Tester_Class_1.var_20]);
-+        var_46 = 'i';
-+        double var_49 = var_46 = false ? (var_47 *= (var_46 = var_43)) : Tester_Class_1.var_20;
-+        var_49 += 'k';
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_2.var_43 = "; result += Tester.Printer.print(var_43);
-+        result += "\n";
-+        result += "Tester_Class_2.var_48 = "; result += Tester.Printer.print(var_48);
-+        result += "\n";
-+        result += "Tester_Class_2.var_44 = "; result += Tester.Printer.print(var_44);
-+        result += "\n";
-+        result += "Tester_Class_2.var_46 = "; result += Tester.Printer.print(var_46);
-+        result += "\n";
-+        result += "Tester_Class_2.var_47 = "; result += Tester.Printer.print(var_47);
-+        result += "\n";
-+        result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_2.var_45 = "; result += Tester.Printer.print(var_45);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_3 extends Tester_Class_0 {
-+    byte var_50;
-+    int var_51;
-+    static double var_52;
-+    static boolean var_53 = true;
-+    long var_54;
-+    static short var_55;
-+    short var_56;
-+
-+
-+    public Tester_Class_3()
-+    {
-+        var_53 |= false;
-+        (Tester_Class_2.var_45 = "gpbcgq").replaceAll("m".concat(Tester_Class_2.var_45 = "q"), Tester_Class_2.var_45).indexOf(Tester_Class_2.var_45 = "d");
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        double var_68 = 0;
-+        Tester_Class_1.var_19 = (var_55 = Tester_Class_1.var_20);
-+        do
-+        {
-+            var_53 ^= 'T' > Tester_Class_1.var_21-- & (var_53 |= Tester_Class_1.var_14);
-+            Tester_Class_2.var_44 >>= (char)3.928497616986412E307;
-+            var_68++;
-+            new Tester_Class_2().func_2(Tester_Class_1.var_20, !var_53 & Tester_Class_1.var_14, Tester_Class_1.var_13 = (Tester_Class_2.var_45 = Tester_Class_2.var_45));
-+        } while ((((var_56 = (short)1161292485) != 'M' ? var_53 : Tester_Class_1.var_14) ? Tester_Class_1.var_14 ^ true : var_53) && var_68 < 1);
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        ((Tester_Class_1)(Tester_Class_1.var_13 = new Tester_Class_2())).var_15 = Tester_Class_2.var_45;
-+        var_55 = func_1() | ((Tester_Class_1.var_18 = var_53) | (var_53 |= Tester_Class_1.var_14) | Tester_Class_1.var_14 | !Tester_Class_1.var_14) || false ? (short)Tester_Class_2.var_44 : (var_56 = (var_56 = (short)'['));
-+        var_52 = (var_51 = (var_55 = Tester_Class_1.var_20));
-+        double var_69 = 0;
-+        Tester_Class_2.var_44 |= (Tester_Class_1.var_14 ? (Tester_Class_2)(Tester_Class_1.var_13 = (Tester_Class_2)(Tester_Class_1.var_13 = Tester_Class_2.var_45)) : (Tester_Class_2)(Tester_Class_0)(Tester_Class_1.var_13 = Tester_Class_2.var_45)).var_43;
-+        do
-+        {
-+            var_51 = 495861255;
-+            var_69++;
-+        } while (var_69 < 3);
-+        Tester_Class_2.var_47 -= Tester_Class_1.var_20;
-+        Tester_Class_2.var_47 %= '[';
-+    }
-+
-+
-+
-+
-+    static Object func_0(final Tester_Class_0 arg_0, String arg_1, final float arg_2, final long arg_3)
-+    {
-+        (!var_53 | (var_53 &= var_53) ^ false ? new Tester_Class_1() : (Tester_Class_1)(new Tester_Class_0[Tester_Class_1.var_21])[Tester_Class_1.var_21]).var_15 = Tester_Class_1.var_14 ? new Tester_Class_1() : new Tester_Class_1();
-+        Tester_Class_2.var_47 /= !var_53 || var_53 ? (short)(((Tester_Class_2)arg_0).var_46 = (new char[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_20]) : Tester_Class_1.var_21;
-+        return (new Object[Tester_Class_1.var_21])[Tester_Class_1.var_21];
-+    }
-+
-+    boolean func_1()
-+    {
-+        {
-+            Tester_Class_1.var_21 >>= (var_56 = (Tester_Class_1.var_21 |= (Tester_Class_1.var_21 -= Tester_Class_1.var_20)));
-+            Tester_Class_2.var_45 = "w";
-+            var_51 = Tester_Class_1.var_21;
-+            Object var_57;
-+            ((Tester_Class_2)(Tester_Class_0)((new Object[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_46 = (var_52 = 1.3957085765622284E308);
-+        }
-+        Tester_Class_1.var_21 &= (var_55 = (byte)(Tester_Class_1.var_14 ? -Tester_Class_1.var_20 : 4290961666344782848L));
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        var_51 = (var_53 ^= ((var_53 &= Tester_Class_1.var_14) ? 'J' : 'M') > (var_56 = Tester_Class_1.var_21)) && (var_53 = Tester_Class_1.var_14) ? (Tester_Class_1.var_21 &= ~Tester_Class_1.var_20) : Tester_Class_1.var_20;
-+        {
-+            final Tester_Class_1 var_58 = (Tester_Class_1)(Tester_Class_0)(Tester_Class_1.var_13 = (new Object[Tester_Class_1.var_21])[Tester_Class_1.var_20]);
-+            Object var_59;
-+            Tester_Class_1.var_21 |= 'X';
-+            var_53 ^= Tester_Class_1.var_14;
-+        }
-+        int var_60 = 0;
-+        var_53 |= var_53;
-+        for (char var_61 = 'i'; (Tester_Class_1.var_14 ? false : Tester_Class_1.var_14) | (true | Tester_Class_1.var_14) && var_60 < 1; var_53 &= !Tester_Class_1.var_14)
-+        {
-+            var_51 = var_61;
-+            var_60++;
-+            var_61 &= (new short[Tester_Class_1.var_20][Tester_Class_1.var_20])[Tester_Class_1.var_20][Tester_Class_1.var_21];
-+            Tester_Class_2.var_45 = "vsuy";
-+        }
-+        Tester_Class_2 var_62 = ((var_53 &= Tester_Class_1.var_14 | Tester_Class_1.var_14 || Tester_Class_1.var_14) ? Tester_Class_1.var_14 : "hgwne".startsWith("etyhd", var_60)) ? (var_53 ? (Tester_Class_2)(Tester_Class_1.var_13 = "uyiaxtqc") : (Tester_Class_2)(Tester_Class_1.var_13 = Tester_Class_2.var_45)) : new Tester_Class_2();
-+        var_62 = var_62;
-+        float var_63;
-+        Object var_64;
-+        Tester_Class_2.var_44 <<= 'v';
-+        String var_65;
-+        {
-+            var_51 = Tester_Class_1.var_21;
-+        }
-+        var_55 = true ? (var_56 = Tester_Class_1.var_20) : (var_55 = Tester_Class_1.var_20);
-+        var_56 = Tester_Class_1.var_21;
-+        Tester_Class_1.var_21 |= var_60;
-+        Object var_66;
-+        Tester_Class_2 var_67;
-+        return true & Tester_Class_1.var_14 ^ (false ? var_53 : var_53);
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_3.var_51 = "; result += Tester.Printer.print(var_51);
-+        result += "\n";
-+        result += "Tester_Class_3.var_54 = "; result += Tester.Printer.print(var_54);
-+        result += "\n";
-+        result += "Tester_Class_3.var_52 = "; result += Tester.Printer.print(var_52);
-+        result += "\n";
-+        result += "Tester_Class_3.var_55 = "; result += Tester.Printer.print(var_55);
-+        result += "\n";
-+        result += "Tester_Class_3.var_56 = "; result += Tester.Printer.print(var_56);
-+        result += "\n";
-+        result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_3.var_50 = "; result += Tester.Printer.print(var_50);
-+        result += "\n";
-+        result += "Tester_Class_3.var_53 = "; result += Tester.Printer.print(var_53);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+public class Tester {
-+    final long var_70 = Tester_Class_2.var_44;
-+    int var_71;
-+    static double var_72;
-+    static short var_73 = (Tester_Class_3.var_53 &= (Tester_Class_3.var_53 ^= Tester_Class_3.var_53)) ? (short)(byte)(Tester_Class_3.var_55 = Tester_Class_1.var_20) : (Tester_Class_3.var_55 = Tester_Class_1.var_20);
-+    final static short var_74 = (Tester_Class_3.var_53 &= Tester_Class_3.var_53) ? (Tester_Class_3.var_53 ? var_73 : var_73++) : (var_73 *= (Tester_Class_1.var_21 |= var_73));
-+    float var_75;
-+
-+
-+    protected final Tester_Class_2 func_0()
-+    {
-+        Tester_Class_1.var_21 ^= ~Tester_Class_1.var_21;
-+        if (false)
-+        {
-+            ((Tester_Class_3)(new Object[Tester_Class_1.var_21])[Tester_Class_1.var_21 -= + + (Tester_Class_2.var_44 >>>= Tester_Class_1.var_21)]).var_50 = (Tester_Class_1.var_21 &= (var_71 = 554295231));
-+        }
-+        else
-+        {
-+            Tester_Class_2.var_47 += 'H';
-+        }
-+        final Tester_Class_0 var_76 = ((new Tester_Class_0[Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_20])[Tester_Class_1.var_20];
-+        (Tester_Class_1.var_14 ? (Tester_Class_2)var_76 : (Tester_Class_2)var_76).var_46 = (var_73 %= var_74 / (((new Tester_Class_2[Tester_Class_1.var_20])[Tester_Class_1.var_21 |= Tester_Class_1.var_20]).var_46 = Tester_Class_1.var_22));
-+        var_73 |= ((Tester_Class_2)(Tester_Class_1.var_13 = var_76)).var_43 | Tester_Class_1.var_20;
-+        return new Tester_Class_2();
-+    }
-+
-+    private static Tester_Class_3 func_1(byte arg_0, Tester_Class_1 arg_1, Tester_Class_1 arg_2, final int arg_3)
-+    {
-+        arg_0 <<= '`';
-+        return false ? (Tester_Class_3)(Tester_Class_0)(arg_1.var_15 = (arg_1 = arg_2)) : (Tester_Class_3)((new Tester_Class_0[Tester_Class_1.var_20][arg_0])[Tester_Class_1.var_20])[Tester_Class_1.var_20];
-+    }
-+
-+    public static String execute()
-+    {
-+        try {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { return t.toString(); }
-+            catch (Throwable e) { return "Error during result conversion to String"; }
-+        } catch (Throwable e) { return "Error during test execution"; }
-+    }
-+
-+    public static void main(String[] args)
-+    {
-+        for (int i = 0; i < 20000; i++) {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            if (t.var_71 != 0 ||
-+                t.var_70 != -1297640037857117185L ||
-+                t.var_72 != 0.0 ||
-+                t.var_75 != 0.0 ||
-+                t.var_73 != -1 ||
-+                t.var_74 != 15129) {
-+                throw new InternalError("wrong answer");
-+            }
-+        }
-+    }
-+
-+    private void test()
-+    {
-+        long var_77 = 0L;
-+        var_73 /= (Tester_Class_2.var_47 = 'D' | 'Q');
-+        Tester_Class_2.var_47 *= 't';
-+        while (var_77 < 36)
-+        {
-+            var_73 += Tester_Class_1.var_22;
-+            Tester_Class_2.var_47 += Tester_Class_1.var_20;
-+            var_77++;
-+            Tester_Class_2.var_45 = "";
-+            Tester_Class_2.var_45 = (Tester_Class_2.var_45 = Tester_Class_2.var_45);
-+        }
-+        if (Tester_Class_3.var_53 |= false)
-+        {
-+            int var_78 = 0;
-+            (false ? "idipdjrln" : "l").startsWith(Tester_Class_2.var_45);
-+            while ((Tester_Class_3.var_53 |= (Tester_Class_3.var_53 &= ! (Tester_Class_1.var_18 = true)) | Tester_Class_3.var_53) && (var_78 < 15 && (Tester_Class_3.var_53 &= Tester_Class_1.var_14)))
-+            {
-+                Tester_Class_2.var_44 <<= 'b';
-+                var_78++;
-+                var_72 = var_74;
-+                var_71 = (char)6792782617594333184L;
-+            }
-+            float var_79 = Tester_Class_2.var_47 /= 1.5148047552641134E308;
-+            ((new boolean[Tester_Class_1.var_20])[Tester_Class_1.var_21 <= (Tester_Class_1.var_21 -= 9.675021723726166E307) / - + (var_72 = 4.3844763012510596E307) ? (byte)(Tester_Class_2.var_44 += ~Tester_Class_1.var_21) : (Tester_Class_1.var_21 += 1.7430965313164616E308)] ? (Tester_Class_2)(new Tester_Class_1().var_15 = func_0()) : new Tester_Class_2()).var_46 = (var_72 = (Tester_Class_1.var_21 *= 'j'));
-+            Tester_Class_1.var_13 = (new Tester_Class_3[Tester_Class_1.var_21 >>>= var_78][Tester_Class_1.var_21])[Tester_Class_1.var_21][Tester_Class_1.var_20];
-+        }
-+        else
-+        {
-+            long var_80 = 0L;
-+            ((Tester_Class_2)(Tester_Class_1.var_13 = new long[Tester_Class_1.var_21])).var_46 = 'r';
-+            do
-+            {
-+                final float var_81 = 7.3633934E37F;
-+                var_80++;
-+                var_73 ^= Tester_Class_2.var_44;
-+            } while (Tester_Class_3.var_53 && var_80 < 4);
-+            Tester_Class_1.var_18 = Tester_Class_2.var_47 >= var_73;
-+            Tester_Class_2.var_45 = "xvodcylp";
-+            Tester_Class_2.var_45.codePointCount("indreb".charAt(+(new byte[Tester_Class_1.var_20][Tester_Class_1.var_20])[Tester_Class_1.var_21][Tester_Class_1.var_21]) * ~ (Tester_Class_1.var_21 %= (var_71 = --var_73)), ((Tester_Class_3.var_53 ^= Tester_Class_2.var_45.equalsIgnoreCase("rkxwa")) || Tester_Class_2.var_47 <= (Tester_Class_2.var_47 %= -var_80) ? (Tester_Class_1.var_21 ^= var_70) : var_73) & (var_71 = 'k'));
-+            Tester_Class_1.var_13 = ((new long[Tester_Class_1.var_21][Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21])[Tester_Class_1.var_21];
-+        }
-+        var_73 <<= (Tester_Class_1.var_18 = false) ? 't' : (false ? 'E' : 'u');
-+        var_73++;
-+        int var_82 = 0;
-+        Tester_Class_1.var_13 = func_1(Tester_Class_1.var_20, new Tester_Class_1(), (new Tester_Class_1[Tester_Class_1.var_21])[Tester_Class_1.var_21], 'M' & var_74);
-+        "gdrlrsubb".substring(12438522, var_82);
-+        Tester_Class_2.var_44 |= (((new Tester_Class_3[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_21 >>= 7993744087962264576L][Tester_Class_1.var_21]).var_51 = Tester_Class_3.var_53 ? 'B' : '[');
-+        final long var_83 = ~ (4544638910183665664L << (((Tester_Class_3)((new Tester_Class_0[Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21])[Tester_Class_1.var_21]).var_56 = (Tester_Class_3.var_53 &= Tester_Class_3.var_53) ? Tester_Class_1.var_21 : Tester_Class_1.var_20));
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        while (var_82 < 2 && Tester_Class_3.var_53 & (Tester_Class_3.var_53 ^= !false))
-+        {
-+            (Tester_Class_3.var_53 ? "xqeisnyf" : (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = Tester_Class_2.var_45)))).concat(Tester_Class_2.var_45 = "i");
-+            var_82++;
-+            boolean var_84 = false;
-+            Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        }
-+        var_71 = ~Tester_Class_2.var_44 != Tester_Class_2.var_44-- ? (var_73 = var_73) : (var_73 >>>= var_73);
-+        char var_85;
-+        Tester_Class_3.var_53 |= (Tester_Class_3.var_53 ^= true);
-+        int var_86 = 0;
-+        Tester_Class_1.var_21 %= (var_73 | (Tester_Class_1.var_21 *= 9.831691E37F)) * (Tester_Class_1.var_21 += 6784278051481715712L);
-+        while (Tester_Class_3.var_53 && (var_86 < 24 && ((((Tester_Class_3.var_53 ^= true) ? Tester_Class_3.var_53 : Tester_Class_1.var_14) ? !Tester_Class_3.var_53 : Tester_Class_3.var_53) ? (Tester_Class_1.var_18 = Tester_Class_3.var_53) : Tester_Class_1.var_14 || true)))
-+        {
-+            final byte var_87 = (byte)((false & true ? Tester_Class_1.var_20 : 257407175) & 4242055901066916864L * (var_73 *= 1621204618) / ((((Tester_Class_1)(new Object[(byte)4.925362697409246E307])[Tester_Class_1.var_21]).var_17 ^ (var_71 = var_86)) & 1859382584));
-+            var_86++;
-+            Tester_Class_2.var_45 = (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = "arceo"));
-+            float var_88;
-+        }
-+        "a".lastIndexOf(var_71 = Tester_Class_3.var_53 ^ false ? (var_71 = 1058420888) : Tester_Class_1.var_20);
-+        int var_89 = 0;
-+        {
-+            var_71 = 661164411;
-+        }
-+        boolean var_90;
-+        --var_73;
-+        Tester_Class_2.var_45.concat(Tester_Class_2.var_45);
-+        {
-+            var_85 = (Tester_Class_3.var_53 ? Tester_Class_3.var_53 : Tester_Class_3.var_53) ? 'R' : '[';
-+        }
-+        ((new Tester_Class_2[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_20]).var_46 = Tester_Class_1.var_20;
-+        final float var_91 = ((new Tester_Class_0[Tester_Class_1.var_21][Tester_Class_1.var_21])[Tester_Class_1.var_20][Tester_Class_1.var_21 -= Tester_Class_1.var_21]).equals(((new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_21]).var_15 = (Tester_Class_2.var_45 = Tester_Class_2.var_45)) ? (var_71 = Tester_Class_1.var_20) : 2.2259766E38F + Tester_Class_2.var_44;
-+        Tester_Class_2.var_47 *= ((Tester_Class_2)(Tester_Class_0)(Tester_Class_1.var_13 = Tester_Class_2.var_45)).var_43;
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+        Tester_Class_3.var_53 &= Tester_Class_1.var_14;
-+        while (Tester_Class_1.var_20 >= ++Tester_Class_1.var_21 && var_89 < 2)
-+        {
-+            Tester_Class_1.var_13 = (Tester_Class_3)(new Tester_Class_0[Tester_Class_1.var_21])[Tester_Class_1.var_21];
-+            var_89++;
-+            if (true)
-+            {
-+                Tester_Class_3.var_53 |= true;
-+                break;
-+            }
-+            else
-+            {
-+                Tester_Class_2 var_92;
-+            }
-+            ((Tester_Class_3)((Tester_Class_3.var_53 |= Tester_Class_3.var_53) ? (new Tester_Class_1().var_15 = (Tester_Class_0)(Tester_Class_1.var_13 = new boolean[Tester_Class_1.var_20][Tester_Class_1.var_21])) : new Tester_Class_0[Tester_Class_1.var_21][Tester_Class_1.var_21])).var_54 = (Tester_Class_1.var_21 = (Tester_Class_1.var_21 /= (Tester_Class_2.var_44 |= (int)(Tester_Class_1.var_21 >>>= var_82))));
-+            ((Tester_Class_3)(Tester_Class_1.var_13 = (new Tester_Class_1().var_15 = new Tester_Class_1()))).var_51 = Tester_Class_1.var_20;
-+            final char var_93 = 'u';
-+            ((Tester_Class_2)(new Tester_Class_1().var_15 = (Tester_Class_2.var_45 = Tester_Class_2.var_45))).var_46 = var_93;
-+            Tester_Class_2.var_45.toUpperCase();
-+            Tester_Class_2.var_45 = "mhk";
-+            (true | false ? new Tester_Class_1() : (new Tester_Class_1[Tester_Class_1.var_20])[Tester_Class_1.var_20]).var_15 = (Tester_Class_1)(((new Tester_Class_1[Tester_Class_1.var_21 |= Tester_Class_1.var_20][Tester_Class_1.var_21])[Tester_Class_1.var_21][Tester_Class_1.var_21]).var_15 = (Tester_Class_1.var_13 = (Tester_Class_1)(Tester_Class_1.var_13 = (Tester_Class_2.var_45 = "ofkbg"))));
-+        }
-+        float var_94 = 0F;
-+        Tester_Class_2.var_44 |= (var_73 >>>= (var_85 = (var_85 = 'j')));
-+        Tester_Class_3.var_52 = 1835242863964218368L;
-+        do
-+        {
-+            int var_95 = 1361237611;
-+            var_94++;
-+            Tester_Class_3.var_53 ^= (Tester_Class_3.var_53 |= Tester_Class_1.var_14);
-+        } while (var_94 < 16);
-+        {
-+            var_73 = var_73--;
-+            Tester_Class_2.var_45 = (Tester_Class_1.var_14 ? Tester_Class_1.var_14 : !false) ? "oaxg" : "igdnja";
-+        }
-+        ((new Tester_Class_1[Tester_Class_1.var_21])[Tester_Class_1.var_21]).equals(new Tester_Class_1().var_15 = (Tester_Class_2.var_45 = "agdnue").charAt(1416972150) != Tester_Class_2.var_47 ? new Tester_Class_1() : new Tester_Class_1());
-+        byte var_96 = Tester_Class_1.var_21 >>>= (var_85 = (var_85 = '`'));
-+        Tester_Class_2.var_45 = "";
-+        Tester_Class_2.var_47 += Tester_Class_2.var_47;
-+        Tester_Class_2.var_45 = Tester_Class_2.var_45;
-+    }
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester.var_71 = "; result += Printer.print(var_71);
-+        result += "\n";
-+        result += "Tester.var_70 = "; result += Printer.print(var_70);
-+        result += "\n";
-+        result += "Tester.var_72 = "; result += Printer.print(var_72);
-+        result += "\n";
-+        result += "Tester.var_75 = "; result += Printer.print(var_75);
-+        result += "\n";
-+        result += "Tester.var_73 = "; result += Printer.print(var_73);
-+        result += "\n";
-+        result += "Tester.var_74 = "; result += Printer.print(var_74);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+    static class Printer
-+    {
-+        public static String print(boolean arg) { return String.valueOf(arg); }
-+        public static String print(byte arg)    { return String.valueOf(arg); }
-+        public static String print(short arg)   { return String.valueOf(arg); }
-+        public static String print(char arg)    { return String.valueOf((int)arg); }
-+        public static String print(int arg)     { return String.valueOf(arg); }
-+        public static String print(long arg)    { return String.valueOf(arg); }
-+        public static String print(float arg)   { return String.valueOf(arg); }
-+        public static String print(double arg)  { return String.valueOf(arg); }
-+
-+
-+        public static String print(Object arg)
-+        {
-+            return print_r(new java.util.Stack(), arg);
-+        }
-+
-+        private static String print_r(java.util.Stack visitedObjects, Object arg)
-+        {
-+            String result = "";
-+            if (arg == null)
-+                result += "null";
-+            else
-+            if (arg.getClass().isArray())
-+            {
-+                for (int i = 0; i < visitedObjects.size(); i++)
-+                    if (visitedObjects.elementAt(i) == arg) return "<recursive>";
-+
-+                visitedObjects.push(arg);
-+
-+                final String delimiter = ", ";
-+                result += "[";
-+
-+                if (arg instanceof Object[])
-+                {
-+                    Object[] array = (Object[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print_r(visitedObjects, array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof boolean[])
-+                {
-+                    boolean[] array = (boolean[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof byte[])
-+                {
-+                    byte[] array = (byte[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof short[])
-+                {
-+                    short[] array = (short[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof char[])
-+                {
-+                    char[] array = (char[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof int[])
-+                {
-+                     int[] array = (int[]) arg;
-+                     for (int i = 0; i < array.length; i++)
-+                     {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                     }
-+                }
-+                else
-+                if (arg instanceof long[])
-+                {
-+                    long[] array = (long[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof float[])
-+                {
-+                    float[] array = (float[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof double[])
-+                {
-+                    double[] array = (double[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+
-+                result += "]";
-+                visitedObjects.pop();
-+
-+            } else
-+            {
-+                result += arg.toString();
-+            }
-+
-+            return result;
-+        }
-+    }
-+}
-+
-+
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6659207/Test.java.orig
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6659207/Test.java.orig	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,61 @@
-+/*
-+ * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6659207
-+ * @summary access violation in CompilerThread0
-+ */
-+
-+public class Test {
-+    static int[] array = new int[12];
-+
-+    static int index(int i) {
-+        if (i == 0) return 0;
-+        for (int n = 0; n < array.length; n++)
-+            if (i < array[n]) return n;
-+        return -1;
-+    }
-+
-+    static int test(int i) {
-+        int result = 0;
-+        i = index(i);
-+        if (i >= 0)
-+            if (array[i] != 0)
-+                result++;
-+
-+        if (i != -1)
-+            array[i]++;
-+
-+        return result;
-+    }
-+
-+    public static void main(String[] args) {
-+        int total = 0;
-+        for (int i = 0; i < 100000; i++) {
-+            total += test(10);
-+        }
-+        System.out.println(total);
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6661247/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6661247/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,156 @@
-+/*
-+ * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6661247
-+ * @summary Internal bug in 32-bit HotSpot optimizer while bit manipulations
-+ */
-+
-+import java.util.Random;
-+import java.nio.*;
-+
-+// This isn't a completely reliable test for 6661247 since the results
-+// depend on what the local schedule looks like but it does reproduce
-+// the issue in current builds.
-+
-+public class Test {
-+
-+    public static void test(boolean[] src, int srcPos, LongBuffer dest, long destPos, int count) {
-+        int countStart = (destPos & 63) == 0 ? 0 : 64 - (int)(destPos & 63);
-+        if (countStart > count)
-+            countStart = count;
-+        for (int srcPosMax = srcPos + countStart; srcPos < srcPosMax; srcPos++, destPos++) {
-+            if (src[srcPos])
-+                dest.put((int)(destPos >>> 6), dest.get((int)(destPos >>> 6)) | 1L << (destPos & 63));
-+            else
-+                dest.put((int)(destPos >>> 6), dest.get((int)(destPos >>> 6)) & ~(1L << (destPos & 63)));
-+        }
-+        count -= countStart;
-+        int cnt = count >>> 6;
-+        for (int k = (int)(destPos >>> 6), kMax = k + cnt; k < kMax; k++) {
-+            int low = (src[srcPos] ? 1 : 0)
-+                | (src[srcPos + 1] ? 1 << 1 : 0)
-+                | (src[srcPos + 2] ? 1 << 2 : 0)
-+                | (src[srcPos + 3] ? 1 << 3 : 0)
-+                | (src[srcPos + 4] ? 1 << 4 : 0)
-+                | (src[srcPos + 5] ? 1 << 5 : 0)
-+                | (src[srcPos + 6] ? 1 << 6 : 0)
-+                | (src[srcPos + 7] ? 1 << 7 : 0)
-+                | (src[srcPos + 8] ? 1 << 8 : 0)
-+                | (src[srcPos + 9] ? 1 << 9 : 0)
-+                | (src[srcPos + 10] ? 1 << 10 : 0)
-+                | (src[srcPos + 11] ? 1 << 11 : 0)
-+                | (src[srcPos + 12] ? 1 << 12 : 0)
-+                | (src[srcPos + 13] ? 1 << 13 : 0)
-+                | (src[srcPos + 14] ? 1 << 14 : 0)
-+                | (src[srcPos + 15] ? 1 << 15 : 0)
-+                | (src[srcPos + 16] ? 1 << 16 : 0)
-+                | (src[srcPos + 17] ? 1 << 17 : 0)
-+                | (src[srcPos + 18] ? 1 << 18 : 0)
-+                | (src[srcPos + 19] ? 1 << 19 : 0)
-+                | (src[srcPos + 20] ? 1 << 20 : 0)
-+                | (src[srcPos + 21] ? 1 << 21 : 0)
-+                | (src[srcPos + 22] ? 1 << 22 : 0)
-+                | (src[srcPos + 23] ? 1 << 23 : 0)
-+                | (src[srcPos + 24] ? 1 << 24 : 0)
-+                | (src[srcPos + 25] ? 1 << 25 : 0)
-+                | (src[srcPos + 26] ? 1 << 26 : 0)
-+                | (src[srcPos + 27] ? 1 << 27 : 0)
-+                | (src[srcPos + 28] ? 1 << 28 : 0)
-+                | (src[srcPos + 29] ? 1 << 29 : 0)
-+                | (src[srcPos + 30] ? 1 << 30 : 0)
-+                | (src[srcPos + 31] ? 1 << 31 : 0)
-+                ;
-+            srcPos += 32;
-+            int high = (src[srcPos] ? 1 : 0)        // PROBLEM!
-+                | (src[srcPos + 1] ? 1 << 1 : 0)
-+                | (src[srcPos + 2] ? 1 << 2 : 0)
-+                | (src[srcPos + 3] ? 1 << 3 : 0)
-+                | (src[srcPos + 4] ? 1 << 4 : 0)
-+                | (src[srcPos + 5] ? 1 << 5 : 0)
-+                | (src[srcPos + 6] ? 1 << 6 : 0)
-+                | (src[srcPos + 7] ? 1 << 7 : 0)
-+                | (src[srcPos + 8] ? 1 << 8 : 0)
-+                | (src[srcPos + 9] ? 1 << 9 : 0)
-+                | (src[srcPos + 10] ? 1 << 10 : 0)
-+                | (src[srcPos + 11] ? 1 << 11 : 0)
-+                | (src[srcPos + 12] ? 1 << 12 : 0)
-+                | (src[srcPos + 13] ? 1 << 13 : 0)
-+                | (src[srcPos + 14] ? 1 << 14 : 0)
-+                | (src[srcPos + 15] ? 1 << 15 : 0)
-+                | (src[srcPos + 16] ? 1 << 16 : 0)
-+                | (src[srcPos + 17] ? 1 << 17 : 0)
-+                | (src[srcPos + 18] ? 1 << 18 : 0)
-+                | (src[srcPos + 19] ? 1 << 19 : 0)
-+                | (src[srcPos + 20] ? 1 << 20 : 0)
-+                | (src[srcPos + 21] ? 1 << 21 : 0)
-+                | (src[srcPos + 22] ? 1 << 22 : 0)
-+                | (src[srcPos + 23] ? 1 << 23 : 0)
-+                | (src[srcPos + 24] ? 1 << 24 : 0)
-+                | (src[srcPos + 25] ? 1 << 25 : 0)
-+                | (src[srcPos + 26] ? 1 << 26 : 0)
-+                | (src[srcPos + 27] ? 1 << 27 : 0)
-+                | (src[srcPos + 28] ? 1 << 28 : 0)
-+                | (src[srcPos + 29] ? 1 << 29 : 0)
-+                | (src[srcPos + 30] ? 1 << 30 : 0)
-+                | (src[srcPos + 31] ? 1 << 31 : 0)
-+                ;
-+            srcPos += 32;
-+            dest.put(k, ((long)low & 0xFFFFFFFFL) | (((long)high) << 32));
-+            destPos += 64;
-+        }
-+        int countFinish = count & 63;
-+        for (int srcPosMax = srcPos + countFinish; srcPos < srcPosMax; srcPos++, destPos++) {
-+            if (src[srcPos])
-+                dest.put((int)(destPos >>> 6), dest.get((int)(destPos >>> 6)) | 1L << (destPos & 63));
-+            else
-+                dest.put((int)(destPos >>> 6), dest.get((int)(destPos >>> 6)) & ~(1L << (destPos & 63)));
-+        }
-+    }
-+    public static void main(String[] args) {
-+        Random r = new Random();
-+        int entries = 1000;
-+        boolean[] src = new boolean[entries * 64];
-+        long[] dest = new long[entries];
-+        long[] result = new long[entries];
-+
-+        for (int c = 0; c < 2000; c++) {
-+            for (int i = 0; i < entries; i++) {
-+                long l = r.nextLong();
-+                for (int bit = 0; bit < 64; bit++) {
-+                    src[i * 64 + bit] = (l & (1L << bit)) != 0;
-+                }
-+                dest[i] = 0;
-+                result[i] = l;
-+            }
-+            test(src, 0, LongBuffer.wrap(dest, 0, dest.length), 0, src.length);
-+            for (int i = 0; i < entries; i++) {
-+                if (dest[i] != result[i]) {
-+                    throw new InternalError(i + ": " + Long.toHexString(dest[i]) + " != " + Long.toHexString(result[i]));
-+                }
-+            }
-+        }
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6663621/IVTest.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6663621/IVTest.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,117 @@
-+/*
-+ * Copyright 1997-2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/**
-+ * @test
-+ * @bug 6663621
-+ * @summary JVM crashes while trying to execute api/java_security/Signature/SignatureTests.html#initSign tests.
-+ */
-+
-+public class IVTest {
-+    static int paddedSize;
-+
-+    static void padV15(byte[] padded) {
-+        int psSize = padded.length;
-+        int k = 0;
-+        while (psSize-- > 0) {
-+            padded[k++] = (byte)0xff;
-+        }
-+    }
-+
-+    static void padV15_2(int paddedSize) {
-+        byte[] padded = new byte[paddedSize];
-+        int psSize = padded.length;
-+        int k = 0;
-+        while (psSize-- > 0) {
-+            padded[k++] = (byte)0xff;
-+        }
-+    }
-+
-+    static void padV15_3() {
-+        byte[] padded = new byte[paddedSize];
-+        int psSize = padded.length;
-+        int k = 0;
-+        while (psSize-- > 0) {
-+            padded[k++] = (byte)0xff;
-+        }
-+    }
-+
-+    static void padV15_4() {
-+        byte[] padded = new byte[paddedSize];
-+        int psSize = padded.length;
-+        for (int k = 0;psSize > 0; psSize--) {
-+            int i = padded.length - psSize;
-+            padded[i] = (byte)0xff;
-+        }
-+    }
-+
-+    static void padV15_5() {
-+        byte[] padded = new byte[paddedSize];
-+        int psSize = padded.length;
-+        int k = psSize - 1;
-+        for (int i = 0; i < psSize; i++) {
-+            padded[k--] = (byte)0xff;
-+        }
-+    }
-+
-+    public static void main(String argv[]) {
-+        int bounds = 1024;
-+        int lim = 500000;
-+        long start = System.currentTimeMillis();
-+        for (int j = 0; j < lim; j++) {
-+            paddedSize = j % bounds;
-+            padV15(new byte[paddedSize]);
-+        }
-+        long end = System.currentTimeMillis();
-+        System.out.println(end - start);
-+        start = System.currentTimeMillis();
-+        for (int j = 0; j < lim; j++) {
-+            paddedSize = j % bounds;
-+            padV15_2(paddedSize);
-+        }
-+        end = System.currentTimeMillis();
-+        System.out.println(end - start);
-+        start = System.currentTimeMillis();
-+        for (int j = 0; j < lim; j++) {
-+            paddedSize = j % bounds;
-+            padV15_3();
-+        }
-+        end = System.currentTimeMillis();
-+        System.out.println(end - start);
-+        start = System.currentTimeMillis();
-+        for (int j = 0; j < lim; j++) {
-+            paddedSize = j % bounds;
-+            padV15_4();
-+        }
-+        end = System.currentTimeMillis();
-+        System.out.println(end - start);
-+        start = System.currentTimeMillis();
-+        for (int j = 0; j < lim; j++) {
-+            paddedSize = j % bounds;
-+            padV15_5();
-+        }
-+        end = System.currentTimeMillis();
-+        System.out.println(end - start);
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6663848/Tester.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6663848/Tester.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,478 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6663848
-+ * @summary assert(i < Max(),"oob")
-+ */
-+
-+/* Complexity upper bound: 296055 ops */
-+
-+final class Tester_Class_0 {
-+    byte var_1;
-+    static double var_2;
-+    String var_3;
-+    char var_4 = 'n';
-+    static int var_5;
-+    String var_6;
-+    final long var_7 = 4161100809902398464L;
-+    static String var_8 = "a";
-+
-+
-+    public Tester_Class_0()
-+    {
-+        switch (((false ^ !"n".startsWith("kmmhtohv", 553985525) ? true : false) ? 'k' : (var_4 *= - (var_2 = 3.1182935E38F))) - (~2013121027650726912L >= 2.929692E38F / (var_1 = (byte)4.2723157E37F) ? var_4 | (short)var_7 : ~ ((byte)"".indexOf("yuno", 4922080))))
-+        {
-+            case 125:
-+
-+            case ']':
-+
-+            case 6:
-+                var_5 = (false ? false : 3708707602755734528L >= 1648075631) ? var_4 : (false ? var_4 : ++var_4);
-+                break;
-+
-+            case 46:
-+                Object var_15;
-+                ++var_4;
-+                float var_16 = 3.1085987E38F;
-+                var_5 = 'h';
-+                var_1 = true ? (byte)9.482988718680618E307 : (false && false ? (byte)var_7 : (byte)6793807430041920512L);
-+                final byte var_17 = var_1 = (337740577 ^ ~8932537004307666944L) / (short)var_16 - (byte)var_7 << var_7 > ~1539422023641354240L ? (false ? (byte)var_4 : (byte)9.302678E37F) : (byte)(var_5 = (byte)1.3007792E38F);
-+                var_15 = "an";
-+                break;
-+
-+            case 29:
-+                var_3 = (var_6 = (var_8 = "kgc"));
-+                break;
-+
-+            case 60:
-+
-+        }
-+        char var_18;
-+        ((new Tester_Class_0[var_1 = (byte)(var_2 = 93813743)])[var_1 = (byte)var_4]).var_1 = (var_1 = (var_1 = (byte)5.1405316E37F));
-+        var_8 = var_8;
-+        float var_19 = 0F;
-+        var_2 = var_4;
-+        do
-+        {
-+            var_4 >>= var_7;
-+            var_19++;
-+            var_4 %= true ? (short)7643330105057892352L : (short)1.1014013E38F;
-+        } while (var_19 < 2 && (! (true & (!true && false)) && true));
-+        var_4++;
-+        int var_20 = 0;
-+        var_4 = ~var_7 == (var_1 = (byte)var_7) | (float)var_20 <= 'H' ? 'r' : (var_4 |= (byte)var_4);
-+        for (var_6 = (var_8 = "wqmnvxava"); (false ? (short)+ ~3540350558052792320L : + ~ ~3244965056572428288L - (var_4 *= 8.314953959831226E307)) <= +9.34280058703911E307 && var_20 < 6; var_2 = 3.0507823E38F)
-+        {
-+            var_2 = ~ ((byte)844279629935048704L) ^ (var_19 <= (false ? '\\' : 'B') ? (byte)(short)(var_1 = (byte)(short)var_19) : (var_1 = (var_1 = (var_1 = (byte)'T'))));
-+            var_20++;
-+            var_5 = (short)(var_7 >>> (! !true & true ? 'D' : (var_4 -= 1.1444072012663494E308)));
-+            (var_6 = "jnjbrmaus").compareTo(var_3 = false ? "pfmv" : (var_8 = var_8));
-+        }
-+        var_2 = func_0(1248385981, 'V' != '[' ? (short)1.0082348960424545E308 : (byte)var_4, new double[var_1 = (byte)'p'][(byte)var_19], 1.3646683639847343E308);
-+        var_5 = (var_1 = (var_1 = (true ^ false ? "bfh".startsWith(var_8) : true || !true) | false ? (byte)(var_2 = - ~var_7) : (var_1 = (byte)var_19)));
-+        var_3 = (var_3 = "dn");
-+        var_2 = false ? (var_1 = (byte)9.136750130102702E307) : var_7;
-+    }
-+
-+
-+
-+
-+    final short func_0(int arg_0, short arg_1, double[][] arg_2, double arg_3)
-+    {
-+        double[][] var_9 = arg_2;
-+        arg_0 <<= true ? (byte)- +1.1174307E37F : (var_1 = (byte)911334714);
-+        switch ("touoh".endsWith(var_8) ^ ! ! (++var_4 != 1.8567045E38F) ? (var_4 <<= arg_1) : 'E')
-+        {
-+            case 'a':
-+
-+            case 46:
-+
-+            case 's':
-+
-+            case 50:
-+                ((new Tester_Class_0[(byte)arg_0][(byte)- (- + - - + - +1.775205E38F - (arg_1 |= 'Z'))])[var_1 = (var_1 = (byte)4.020531E37F)][var_1 = (var_1 = (byte)883328311549528064L)]).var_4 &= (var_6 = var_8).charAt(arg_0);
-+                var_3 = false ? var_8 : "amfijbpwa";
-+                var_4 -= -1.4699719646972257E308;
-+                var_2 = (var_1 = (byte)(arg_1 += 1.6757431E38F));
-+                var_1 = (var_1 = (var_1 = (byte)+1.4416583523884388E308));
-+                final Object var_10 = (new Object[(byte)(arg_1 += var_4)])[var_1 = (byte)- +1.0281942E38F];
-+                arg_1 = arg_1;
-+                break;
-+
-+            case 7:
-+                var_8 = var_8 + var_8;
-+                break;
-+
-+            case 'N':
-+
-+            case 'V':
-+
-+            case 56:
-+
-+            case 'I':
-+
-+        }
-+        arg_0 &= arg_1;
-+        var_3 = false ? var_8 : "vpaj";
-+        var_4 = (var_4 *= arg_1);
-+        arg_3 *= (var_4 = var_4);
-+        final char var_11 = true ? var_4 : (char)(var_4 << (var_1 = (byte)(arg_1 &= arg_0)));
-+        boolean var_12;
-+        var_4 ^= '`';
-+        "nkj".startsWith(var_6 = "wrcnrdd");
-+        var_1 = (byte)~var_7;
-+        var_6 = (var_8 = "ul");
-+        return (var_12 = 3548576322219573248L <= var_4++ & ((var_12 = !true) || (var_12 = !false | false))) ? arg_1-- : (var_1 = (byte)+ (var_2 = 2.7633542E38F));
-+    }
-+
-+    protected final void func_1(final String arg_0, Object arg_1, short arg_2)
-+    {
-+        arg_2 *= ~8267766955221100544L;
-+        arg_1 = (var_6 = var_8);
-+        arg_2 <<= false ? (var_1 = (var_1 = (var_1 = (byte)1.6645553629318776E308))) : arg_2;
-+    }
-+
-+    protected final static float func_2(byte arg_0, final String arg_1)
-+    {
-+        var_8 = arg_1;
-+        char var_13 = ((new Tester_Class_0[arg_0 |= ']'])[arg_0]).var_4--;
-+        var_5 = 907889433;
-+        {
-+            var_13 ^= (var_5 = var_13);
-+        }
-+        var_8 = arg_1;
-+        var_5 = (byte)1759688161;
-+        var_8 = (new String[arg_0 >>>= (short)1072761211])[arg_0];
-+        return 5.108221E37F;
-+    }
-+
-+    private static boolean func_3(boolean arg_0, final boolean arg_1)
-+    {
-+        var_2 = ((new Tester_Class_0[(byte)(short)'H'])[(byte)(short)(var_2 = (short)'k')]).var_4;
-+        if (false)
-+        {
-+            var_8 = "cl";
-+        }
-+        else
-+        {
-+            final byte[] var_14 = new byte[true ? (byte)(- ((byte)9.760296114722793E307) | ~1867374212153383936L) : (byte)(short)'Q'];
-+            var_2 = (float)~3838271533006646272L / (- ~ ~1786841397228277760L ^ ~3695911615719734272L & 'Z');
-+        }
-+        {
-+            var_8 = var_8;
-+        }
-+        ((new Tester_Class_0[(byte)(var_2 = (short)~ - +4818709334539164672L)])[(byte)'W']).var_1 = true || false & arg_0 ^ (arg_1 ^ arg_0 ? arg_0 : (arg_0 ^= true)) ? (byte)1.5309163701271477E308 : (byte)3.0904342E38F;
-+        ((new Tester_Class_0[(byte)756871578277111808L][(byte)+ + -3.0687752E38F])[(byte)'f'][(byte)1544156315]).var_6 = (var_8 = "vqey");
-+        return arg_1;
-+    }
-+
-+    public final char func_4(short arg_0)
-+    {
-+        {
-+            var_6 = (var_3 = "hjtjar");
-+            var_1 = false ? (byte)4.02486350499973E307 : (byte)1.3222663E38F;
-+        }
-+        var_1 = (new byte[var_1 = (var_1 = (byte)1770517884)])[var_1 = (byte)arg_0];
-+        var_4++;
-+        --arg_0;
-+        var_5 = true ? 'D' : (var_4 ^= (var_5 = 134858941));
-+        return (char)~ (7273058621469586432L << (byte)3.1756883E38F ^ (false ? (byte)(var_5 = var_4) : (arg_0 >>= 6165812289376474112L))) < (2046127339 ^ + ((byte)arg_0)) ? (!false ? (var_4 %= 1.8187417377124746E307) : (var_4 *= 445936805)) : var_4;
-+    }
-+
-+}
-+
-+
-+class Tester_Class_1 {
-+    Tester_Class_0[][] var_21;
-+    static long var_22 = 6671342492736446464L;
-+    float var_23 = 2.9329673E38F;
-+    final int var_24 = 1834862519;
-+    int var_25 = 69920645;
-+    static char var_26;
-+    static Object var_27;
-+    static int var_28 = Tester_Class_0.var_5 = false ? 'U' : (var_26 = (var_26 = 'R'));
-+
-+
-+    public Tester_Class_1()
-+    {
-+        (false ? (Tester_Class_0)(var_27 = Tester_Class_0.var_8) : (Tester_Class_0)(var_27 = "a")).var_1 = (short)(var_23 %= var_23) >= (byte)1217257602 | var_25 == (char)(var_23 += var_23) ? (byte)new Tester_Class_0().var_4-- : ((true | false) ^ !false ? (byte)6.122806E37F : (byte)1.084542872057614E308);
-+        Tester_Class_0.var_2 = new Tester_Class_0().var_7;
-+        --var_22;
-+        boolean var_32 = ! ((new Tester_Class_0().var_1 = (((new Tester_Class_0[(byte)var_22])[(byte)var_23]).var_1 = false ? (byte)(var_23 = var_28) : (byte)1.5858707076311894E308)) != (char)+var_23);
-+        var_25 -= (true ? (byte)5.488240359086226E307 : (((Tester_Class_0)(var_27 = Tester_Class_0.var_8)).var_1 = (byte)'L')) * (Tester_Class_0.var_2 = 7.045106259776882E307);
-+        Object var_33 = (var_32 ^= var_32) ? (var_27 = (Tester_Class_0.var_8 = (Tester_Class_0.var_8 = "gaemnaep"))) : (new Tester_Class_0[(byte)'g'])[(byte)(short)271735827];
-+        byte var_34 = var_32 ? (byte)((Tester_Class_0)var_33).var_7 : ((var_32 &= true) ? (byte)(Tester_Class_0.var_2 = 1.6975344767401616E307) : (byte)- ((double)var_22));
-+        Tester_Class_0.var_2 = 1.4644308179397427E308;
-+        var_28 /= (short)1681483575;
-+        Tester_Class_0.var_2 = (var_34 <<= (var_25 ^= ~ (var_22 |= (var_22 = var_22))));
-+        var_23 *= (char)(var_28 *= var_32 ? var_34 ^ --var_34 : 3220732582528450560L);
-+        if ((((Tester_Class_0)var_33).var_4 &= var_34) != (short)var_28)
-+        {
-+            Tester_Class_0.var_8 = ((false ? (Tester_Class_0)var_33 : (Tester_Class_0)var_33).var_6 = Tester_Class_0.var_8);
-+        }
-+        else
-+        {
-+            var_33 = false | (var_32 ^= true) ? ((new Tester_Class_0[var_34][var_34])[var_34])[var_34] : (Tester_Class_0)var_33;
-+        }
-+        if (false)
-+        {
-+            var_22 = 107656877775594496L;
-+        }
-+        else
-+        {
-+            ((var_32 &= (var_32 |= var_32)) || (var_23 /= var_25) == (Tester_Class_0.var_2 = 7649348100017113088L) ? (new Tester_Class_0[var_34])[var_34] : (Tester_Class_0)var_33).var_4 >>>= (((new Tester_Class_0[var_34])[var_34 <<= 'C']).var_6 = (((Tester_Class_0)(var_33 = (var_33 = var_33))).var_6 = ++var_28 > var_23 ? "qgq" : (Tester_Class_0.var_8 = Tester_Class_0.var_8))).equalsIgnoreCase(Tester_Class_0.var_8) ? var_34++ : ++var_34;
-+        }
-+        String[][] var_35;
-+        Tester_Class_0.var_8 = Tester_Class_0.var_8;
-+        var_27 = (new Tester_Class_0[var_34][var_34 /= 226411329])[false ? --var_34 : (var_34 /= 1.7237614E38F)][var_34];
-+        var_23 %= var_25;
-+    }
-+
-+
-+
-+    protected Object clone()
-+    {
-+        var_28 >>>= (new Tester_Class_0().var_1 = (byte)new Tester_Class_0().var_4);
-+        ((Tester_Class_0)(var_27 = (Tester_Class_0.var_8 = (Tester_Class_0.var_8 = (Tester_Class_0.var_8 = "ybndugrur"))))).var_3 = Tester_Class_0.var_8;
-+        var_22--;
-+        new Tester_Class_0().var_4 -= (new Tester_Class_0().var_1 = (byte)'O');
-+        {
-+            short var_29 = 12378;
-+        }
-+        Tester_Class_0.var_8 = "fd";
-+        "".lastIndexOf("bgsxwmil");
-+        new Tester_Class_0().var_6 = (Tester_Class_0.var_2 = -1.7590174497347678E308) == (var_26 = 'o') | true && !false ? Tester_Class_0.var_8 : (((Tester_Class_0)(var_27 = "")).var_6 = Tester_Class_0.var_8);
-+        return var_27 = (var_27 = (var_27 = (var_27 = (Tester_Class_0.var_8 = Tester_Class_0.var_8).substring(var_24))));
-+    }
-+
-+    public boolean equals(Object obj)
-+    {
-+        --var_28;
-+        var_23 /= +var_23 * -6025098819014877184L / 3.3957492E38F / (short)'i';
-+        Tester_Class_0.var_2 = 3.0420988E38F * ((short)var_23 <= (var_23 %= 8.761205585617465E307) % + -1.2374670294031777E308 ? (var_23 = 'P') : (float)+ +1.0313120780554142E308);
-+        (7489001532003495936L >= 'C' ? (Tester_Class_0)obj : (Tester_Class_0)(var_27 = obj)).func_4((short)(float)(byte)(float)(Tester_Class_0.var_2 = 1601763635));
-+        (var_23 * 2.2882572E38F <= (short)var_25 * (true || false ? (short)~ ((byte)1.1382317160718865E307) : (Tester_Class_0.var_2 = 7.909133507918336E307)) ? (Tester_Class_0)obj : (Tester_Class_0)obj).var_4++;
-+        boolean var_30 = true;
-+        var_27 = new Tester_Class_0();
-+        final String var_31 = "aiqnc";
-+        return 1.1357028E38F + (var_30 ? (Tester_Class_0)(var_27 = obj) : (Tester_Class_0)obj).var_7 == 3.860172628750592E306;
-+    }
-+
-+
-+}
-+
-+public class Tester {
-+    final static long var_36 = (4.4957056E37F < Tester_Class_1.var_22 + 281107777128915968L ? (Tester_Class_1.var_26 = 't') : (char)Tester_Class_1.var_28) - (4654994097042818048L | (byte)(Tester_Class_0.var_2 = (short)(Tester_Class_1.var_26 = ']'))) ^ 349774342780012544L;
-+
-+
-+    static long func_0(final Tester_Class_1 arg_0, long arg_1)
-+    {
-+        ((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0)(Tester_Class_1.var_27 = Tester_Class_0.var_8))).var_4 |= --new Tester_Class_0().var_4;
-+        return Tester_Class_1.var_22 &= new Tester_Class_0().var_4;
-+    }
-+
-+    protected Tester_Class_1 func_1(final boolean arg_0, Object arg_1)
-+    {
-+        Tester_Class_0.var_2 = (short)Tester_Class_1.var_22;
-+        ((arg_0 ? (byte)8.639448452214698E307 : ((Tester_Class_1)arg_1).var_24) <= ((Tester_Class_1)(Tester_Class_1.var_27 = new float[(byte)Tester_Class_1.var_22])).var_25++ ? (Tester_Class_0)arg_1 : (Tester_Class_0)(arg_1 = (Tester_Class_1.var_27 = (Tester_Class_0)arg_1))).var_3 = (Tester_Class_0.var_8 = "pgfdbinj");
-+        arg_1 = (new Tester_Class_0[((Tester_Class_0)arg_1).var_1 = (byte)1.0730194668655324E308])[(byte)'l'];
-+        Tester_Class_0.var_8 = Tester_Class_0.var_8;
-+        Tester_Class_1.var_27 = arg_0 & (true | !true) ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1;
-+        Tester_Class_1.var_28 += arg_0 ? (byte)(Tester_Class_0.var_8.compareToIgnoreCase(Tester_Class_0.var_8) % (Tester_Class_1.var_28 %= 2.2770412E38F)) : (byte)((byte)(short)Tester_Class_1.var_28 ^ var_36);
-+        Tester_Class_1.var_28 <<= ((Tester_Class_0)arg_1).var_4;
-+        return arg_0 ? (false ^ false ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1) : (Tester_Class_1)arg_1;
-+    }
-+
-+    protected final static String[][] func_2(final double arg_0)
-+    {
-+        Tester_Class_0.var_2 = (((Tester_Class_1.var_22 = ((Tester_Class_1)(Tester_Class_1.var_27 = "")).var_25++) != + ((byte)(Tester_Class_0.var_2 = - ((byte)2.690435E38F))) ? (Tester_Class_1)(Tester_Class_1.var_27 = "twoj") : (new Tester_Class_1[(byte)'n'])[(byte)- ((byte)'p')]).var_25 /= (new short[false ? (byte)arg_0 : (byte)3.1713847E38F])[(byte)(short)((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_1.var_27 = "fi"))).var_7]);
-+        {
-+            ((new Tester_Class_1[(byte)9.709543613377303E307])[((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0.var_8 = "efwkox"))).var_1 = (byte)7789404846284517376L]).var_23 *= (((new Tester_Class_0[(byte)'J'][(byte)++Tester_Class_1.var_28])[(byte)Tester_Class_1.var_28][(byte)(Tester_Class_1.var_28 = 1677818267)]).var_1 = false || true ? (byte)1.4659824E38F : (byte)(Tester_Class_1.var_26 = 'T'));
-+        }
-+        Tester_Class_0.var_2 = !true | !false | false & ! (!true & (true ^ false)) ? (byte)(Tester_Class_1.var_26 = 'l') : (short)(arg_0 * (char)(byte)Tester_Class_1.var_28);
-+        Tester_Class_1.var_28 <<= false ^ (! ! (!false | ! !true | true) | (Tester_Class_0.var_2 = arg_0) == 245171309) ? (byte)arg_0 : (short)Tester_Class_1.var_22;
-+        {
-+            ((Tester_Class_1)(true ? (Tester_Class_1.var_27 = "axpbpadi") : Tester_Class_0.var_8)).var_23 = ((Tester_Class_1)(Tester_Class_1.var_27 = (new Tester_Class_0[(byte)1.1668668415637981E308][(byte)1.4116134699564312E308])[(byte)-7.4415765E37F][(byte)5156322492367086592L])).var_25;
-+        }
-+        final double var_37 = 1.6970877829548446E308;
-+        --(Tester_Class_1.var_28 == (byte)((byte)arg_0 + (byte)1.1632396E38F) ? (Tester_Class_0)(Tester_Class_1.var_27 = "vluk") : (Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0.var_8 = "pfki"))).var_4;
-+        Tester_Class_1.var_22--;
-+        return new String[new Tester_Class_0().var_1 = (((Tester_Class_0)(Tester_Class_1.var_27 = "filxvch")).var_1 = (byte)var_36)][new Tester_Class_0().var_1 = (byte)'C'];
-+    }
-+
-+    final short func_3(byte arg_0, final short arg_1)
-+    {
-+        ((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0.var_8 = "oenvgqdit"))).var_6 = Tester_Class_0.var_8;
-+        new Tester_Class_0().var_4 >>>= + -var_36;
-+        Tester_Class_0.var_2 = (((new Tester_Class_1[arg_0])[arg_0 %= ++Tester_Class_1.var_28]).var_25 &= Tester_Class_1.var_22);
-+        ((new Tester_Class_1[arg_0])[arg_0 |= 1942533325]).var_23 %= arg_0 < arg_0 ? 'm' : 'N';
-+        float var_38;
-+        ((new Tester_Class_1[arg_0])[arg_0]).var_23 /= (((new Tester_Class_1[arg_0][arg_0])[arg_0 |= 'N'])[arg_0 <<= - ((byte)- (Tester_Class_0.var_2 = 3.3324301E38F))]).var_23;
-+        return true ? arg_1 : arg_1;
-+    }
-+
-+    private String func_4()
-+    {
-+        if (true)
-+        {
-+            ((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_1.var_27 = (Tester_Class_1.var_27 = Tester_Class_0.var_8)))).var_1 = (byte)6.4527776E37F;
-+            ((Tester_Class_0)(Tester_Class_1.var_27 = new char[(byte)1.5121402849337185E307])).var_4 >>= - ((byte)3.3631582E37F) + (Tester_Class_1.var_28 /= 2.813947549586372E307);
-+        }
-+        else
-+        {
-+            {
-+                Tester_Class_1.var_22 *= 1.6498653E36F;
-+            }
-+            Tester_Class_0.var_2 = + ((byte)7.750601265069686E307) > (short)(byte)3131520439106527232L ? (short)4699552681135671296L : (short)Tester_Class_1.var_22;
-+            Tester_Class_1.var_22++;
-+            ((Tester_Class_1)(new Object[(byte)6.231994821505742E307])[(byte)Tester_Class_1.var_22]).var_23 %= 30526551;
-+            {
-+                Tester_Class_0.var_2 = ((Tester_Class_1)(Tester_Class_1.var_27 = new short[(byte)9.628297E37F])).var_25;
-+            }
-+            Tester_Class_1.var_28 /= (byte)(false ^ Tester_Class_0.var_8.equalsIgnoreCase(Tester_Class_0.var_8) ? (byte)2.689633745095358E307 : (short)1.2532476E38F);
-+            float var_39;
-+            long[] var_40 = new long[((Tester_Class_0)(Tester_Class_1.var_27 = Tester_Class_0.var_8)).var_1 = (((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0.var_8 = Tester_Class_0.var_8))).var_1 = (byte)(1.8335008E38F % (true | false ? (short)Tester_Class_1.var_22 : (byte)'P')))];
-+        }
-+        Tester_Class_0.var_2 = (((new Tester_Class_0[((Tester_Class_0)(Tester_Class_1.var_27 = "inufeoe")).var_1 = (byte)(short)'M'])[(byte)(Tester_Class_0.var_2 = + - -2.274269E38F)]).var_1 = (((Tester_Class_0)(Tester_Class_1.var_27 = "c")).var_1 = (byte)'Z'));
-+        Tester_Class_0.var_8 = (Tester_Class_0.var_8 = Tester_Class_0.var_8);
-+        return "rkvffvlf";
-+    }
-+
-+    final char func_5(final char arg_0, final Object[] arg_1, final double arg_2, Object arg_3)
-+    {
-+        arg_3 = true && Tester_Class_1.var_22 < (((Tester_Class_0)arg_3).var_1 = (((Tester_Class_0)(Tester_Class_1.var_27 = arg_3)).var_1 = (byte)arg_2)) ? "dgmwbkv" : Tester_Class_0.var_8;
-+        (true ? (Tester_Class_1)arg_3 : (Tester_Class_1)arg_3).var_23 -= (Tester_Class_0.var_2 = arg_0);
-+        arg_3 = (new String[(byte)arg_2])[(byte)-2.797633529863769E307];
-+        (false ^ !false ^ (!true && true) ? (Tester_Class_0)arg_3 : (Tester_Class_0)arg_3).var_4 -= (new char[((Tester_Class_0)arg_3).var_1 = (((Tester_Class_0)arg_3).var_1 = (((Tester_Class_0)arg_3).var_1 = (byte)2.433897E38F))])[((Tester_Class_0)arg_3).var_1 = (byte)+7.036923762392132E307];
-+        Tester_Class_0.var_8 = Tester_Class_0.var_8;
-+        Tester_Class_0.var_2 = true ^ +((Tester_Class_1)(arg_3 = "o")).var_23 <= arg_2 ? (short)Tester_Class_1.var_22 : (((Tester_Class_0)arg_3).var_1 = (byte)1.9730195E38F);
-+        (false ? (Tester_Class_0)arg_3 : (Tester_Class_0)arg_3).var_6 = "bpjqfacys";
-+        ((new Tester_Class_0[((Tester_Class_0)arg_3).var_1 = (byte)1969581340][((Tester_Class_0)arg_3).var_1 = (byte)(Tester_Class_0.var_2 = arg_0)])[((Tester_Class_0)arg_3).var_1 = (byte)(Tester_Class_0.var_2 = 4044194664687833088L)][((Tester_Class_0)arg_3).var_1 = (byte)((Tester_Class_1)arg_3).var_24]).var_1 = (false ? (byte)+ ((byte)1.2689328633821032E305) == arg_2 : false) ? (byte)arg_2 : (((Tester_Class_0)arg_3).var_1 = (byte)1586517741);
-+        return (func_3(((Tester_Class_0)arg_3).var_1 = (byte)Tester_Class_1.var_28, (short)(byte)- +func_1(true, arg_3).var_23) > 1882532904 ? (short)2.6362656E38F >= (char)2.445034E38F & false : var_36 > Tester_Class_1.var_22) ? ((new Tester_Class_0[(byte)1.2074529E38F][(byte)'N'])[(byte)1.3365433211782782E308][(byte)Tester_Class_1.var_28]).var_4 : 'O';
-+    }
-+
-+    private final static Tester_Class_1 func_6(String arg_0, String arg_1)
-+    {
-+        Tester_Class_1.var_22 += ((new Tester_Class_0[(byte)4.1707075152824266E306])[(byte)(short)(((Tester_Class_0)(Tester_Class_1.var_27 = "tmyiha")).var_4 &= 'e')]).var_4;
-+        return (new Tester_Class_1[((Tester_Class_0)(Tester_Class_1.var_27 = arg_1)).var_1 = (byte)2.8419246E38F][(byte)Tester_Class_1.var_22])[((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_1.var_27 = arg_0))).var_1 = (((Tester_Class_0)(Tester_Class_1.var_27 = (Tester_Class_0.var_8 = "nvyfpdyms"))).var_1 = (byte)Tester_Class_1.var_22--)][((Tester_Class_0)(Tester_Class_1.var_27 = "kklsnsnia")).var_1 = (byte)'['];
-+    }
-+
-+    double func_7(Object arg_0, final String arg_1)
-+    {
-+        if (false)
-+        {
-+            ((Tester_Class_0)arg_0).var_1 = (byte)'Z';
-+        }
-+        else
-+        {
-+            ((Tester_Class_0)arg_0).var_3 = Tester_Class_0.var_8;
-+        }
-+        float var_41 = (true ? (new Tester_Class_1[((Tester_Class_0)arg_0).var_1 = (byte)var_36])[((Tester_Class_0)arg_0).var_1 = (byte)Tester_Class_1.var_22] : (Tester_Class_1)arg_0).var_23 /= 'n';
-+        ++Tester_Class_1.var_22;
-+        return true ^ +func_6(arg_1, Tester_Class_0.var_8).var_23 < ~6945306015697774592L & (Tester_Class_1.var_28 |= var_36) <= var_36 ? + -1.4330949313452472E308 - -6602331706844466176L : Tester_Class_1.var_28;
-+    }
-+
-+    private final static byte func_8(final Object arg_0, double arg_1, final double arg_2, double arg_3)
-+    {
-+        ((Tester_Class_1)arg_0).var_23 = (short)(!false && (new boolean[(byte)2.2566308E38F])[((Tester_Class_0)arg_0).var_1 = (byte)((Tester_Class_1)arg_0).var_25] ? arg_2 : 3.0315489414155014E307);
-+        short var_42 = (new short[((Tester_Class_0)arg_0).var_1 = (((Tester_Class_0)arg_0).var_1 = (byte)var_36)])[(byte)arg_2];
-+        Tester_Class_1.var_22 <<= ((new Tester_Class_0[(byte)var_42])[((Tester_Class_0)arg_0).var_1 = (byte)'X']).var_4;
-+        (false ? new Tester_Class_0() : new Tester_Class_0()).var_4 *= 6.636831399350763E307;
-+        (true & false ^ !((Tester_Class_1)arg_0).equals(arg_0) ? (Tester_Class_0)arg_0 : (Tester_Class_0)arg_0).var_4 <<= (Tester_Class_1.var_22 >>>= (Tester_Class_1.var_28 -= Tester_Class_1.var_28)) / 1064434;
-+        int var_43;
-+        final Object var_44 = Tester_Class_1.var_27 = new byte[((Tester_Class_0)arg_0).var_1 = (byte)+arg_2];
-+        ((Tester_Class_0)var_44).var_1 = (byte)arg_1;
-+        Tester_Class_1 var_45 = (3582921389614857216L != 2.132918E38F / Tester_Class_1.var_22 % (((Tester_Class_1)var_44).var_23 %= var_42--) ? false : false ^ !false) ? func_6(((Tester_Class_0)arg_0).var_6 = Tester_Class_0.var_8, Tester_Class_0.var_8 = Tester_Class_0.var_8) : (Tester_Class_1)arg_0;
-+        arg_1 *= false ? (false ? (byte)var_45.var_23 : (byte)var_45.var_24) : (byte)8158132319185776640L;
-+        Tester_Class_0.var_8 = (new Tester_Class_0().var_6 = "gvxkyj");
-+        Tester_Class_1.var_27 = "bkfbu";
-+        arg_1 *= (((Tester_Class_0)arg_0).var_4 += new Tester_Class_0().var_4);
-+        Tester_Class_0 var_46 = (false ? false && - (((Tester_Class_0)arg_0).var_1 = (byte)var_45.var_24) > var_45.var_23 - arg_2 : ("fn".startsWith(Tester_Class_0.var_8) && false) & !true) ? (Tester_Class_0)arg_0 : (Tester_Class_0)arg_0;
-+        return var_46.var_1 = (var_46.var_1 = (var_46.var_1 = (byte)var_45.var_23));
-+    }
-+
-+    public static void main(String[] args)
-+    {
-+        for (int i = 0; i < 100000; i++) {
-+            Tester t = new Tester();
-+            try {
-+                t.test();
-+            } catch(Throwable e) {
-+            }
-+            if (t.var_36 !=  -4918908939899620363L) {
-+                throw new InternalError(t.var_36 + " !=  -4918908939899620363");
-+            }
-+        }
-+    }
-+
-+    private void test()
-+    {
-+        ((Tester_Class_0)(Tester_Class_1.var_27 = new Tester_Class_0())).var_4 &= new Tester_Class_0().var_4 >>> (short)new Tester_Class_1().var_25;
-+        Tester_Class_1.var_22 <<= Tester_Class_1.var_22;
-+        Tester_Class_1.var_27 = ((true | ! !false) & false ? ! !true : 6.5017485E37F == (short)(Tester_Class_1.var_22 &= 'h')) ? (Tester_Class_1.var_27 = new Tester_Class_1()) : new Tester_Class_1();
-+        (1.252611E37F < (((new Tester_Class_0[(byte)'X'])[(byte)6.916916470825763E307]).var_4 /= (byte)Tester_Class_1.var_28 < (new short[(byte)7.626803503643197E307])[(byte)var_36] ? (short)new Tester_Class_0().var_4 : (short)(byte)Tester_Class_1.var_22) ? (true ? new Tester_Class_0() : new Tester_Class_0()) : (true ? new Tester_Class_0() : (Tester_Class_0)(Tester_Class_1.var_27 = Tester_Class_0.var_8))).var_4 ^= Tester_Class_1.var_28++;
-+        (true ? new Tester_Class_1() : func_1(true, Tester_Class_1.var_27 = "jjgccelm")).var_23 -= (- - + + +1.2976166388790213E308 != ((!true ^ ! !true) & (short)(Tester_Class_1.var_28 &= var_36) <= (Tester_Class_1.var_26 = 'C') ? 1163089569715148800L : 8.591879058615699E307) ? (new Tester_Class_0().var_1 = (new Tester_Class_0().var_1 = (byte)2.7209893E38F)) : (!false ^ ! !false ? (short)'x' : (short)'a')) + 7620981797791666176L;
-+        new Tester_Class_0().var_4 ^= 8777687662500669440L;
-+        final String[] var_47 = new String[((1864097118983963648L | (Tester_Class_1.var_26 = '[')) < + (new Tester_Class_1().var_23 += --new Tester_Class_0().var_4) ? ! !true : false) ? (new Tester_Class_0().var_1 = (new Tester_Class_0().var_1 = (byte)2.6448988E38F)) : (byte)Tester_Class_1.var_22];
-+        long var_48 = 0L;
-+        Tester_Class_0.var_2 = "nwcmc".codePointAt("wgcdlmd".compareTo("jyt"));
-+        do
-+        {
-+            Tester_Class_1.var_22 += new Tester_Class_0().var_4;
-+            var_48++;
-+            Tester_Class_1.var_27 = false ? "dfvpqs" : Tester_Class_0.var_8;
-+            new Tester_Class_0().var_1 = (new Tester_Class_0().var_1 = (new byte[(byte)2.2825838E38F])[(byte)4.2446597794703817E307]);
-+        } while ((true ? !false : false & !false) && (var_48 < 117 && true));
-+        int var_49 = 0;
-+        Tester_Class_1.var_26 = 'I';
-+        short var_50;
-+        while (var_49 < 225 && ('U' | ~ ((byte)9.556538701292864E306)) < var_49)
-+        {
-+            var_50 = (var_50 = ((byte)1.2016701369644112E308 != (var_50 = (short)1.2518271E38F) ^ !true ? !true : false) ? (short)6.629572378442352E307 : (byte)'O');
-+            var_49++;
-+            var_50 = true ? (byte)Tester_Class_1.var_22 : (byte)(Tester_Class_1.var_22 = (byte)var_48);
-+            byte var_51;
-+            short var_52;
-+        }
-+        Tester_Class_1.var_27 = Tester_Class_0.var_8 + "r";
-+        var_50 = (var_50 = true ^ ! (!false ^ false) ? (byte)573442894 : (byte)2.1479471E38F);
-+        ((var_50 = (short)'w') >= (new Tester_Class_0().var_1 = (byte)5.148172E37F) & true ? new Tester_Class_0() : new Tester_Class_0()).var_4 >>= true ? (new Tester_Class_0().var_4 /= (byte)Tester_Class_1.var_28) : (Tester_Class_1.var_26 = '^');
-+        float var_53;
-+        (func_6(Tester_Class_0.var_8, Tester_Class_0.var_8).var_24 <= (var_50 = (var_50 = (short)var_48)) ^ !true | true & true | true ^ false ? (Tester_Class_1)(Tester_Class_1.var_27 = Tester_Class_0.var_8) : new Tester_Class_1()).var_23 /= ((new Tester_Class_0[(byte)1.6656795E38F])[new Tester_Class_0().var_1 = (byte)1.212530193895014E308]).var_4;
-+        long var_54 = 0L;
-+        Object var_55;
-+        (true | --new Tester_Class_0().var_4 == 2898909413610959872L & true == true ? func_6(Tester_Class_0.var_8, Tester_Class_0.var_8) : new Tester_Class_1()).var_23 %= 7471272661059674112L;
-+        while (false & (false | 5.7300464E37F != (short)(Tester_Class_0.var_2 = (short)var_36)) && var_54 < 293)
-+        {
-+            func_6(Tester_Class_0.var_8 = "wts", Tester_Class_0.var_8 = (Tester_Class_0.var_8 = Tester_Class_0.var_8)).var_25 |= (Tester_Class_1.var_22 ^= (var_50 = (byte)1.0904691577897794E308));
-+            var_54++;
-+            (false ? func_6(Tester_Class_0.var_8, "inujn") : func_6(Tester_Class_0.var_8, Tester_Class_0.var_8 = Tester_Class_0.var_8)).var_23 /= (Tester_Class_0.var_2 = (var_50 = (((Tester_Class_0)(var_55 = Tester_Class_0.var_8)).var_1 = (byte)(short)Tester_Class_1.var_28)));
-+            Tester_Class_0.var_8 = Tester_Class_0.var_8;
-+        }
-+        var_50 = func_3(new Tester_Class_0().var_1 = (new Tester_Class_0().var_1 = (byte)var_36), var_50 = (var_50 = (var_50 = (byte)var_36)));
-+        Tester_Class_1.var_22++;
-+        Tester_Class_1.var_28 <<= 'Y';
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6689060/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6689060/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,577 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6689060
-+ * @summary Escape Analysis does not work with Compressed Oops
-+ * @run main/othervm -Xbatch -XX:CompileCommand=exclude,Test.dummy -XX:+AggressiveOpts Test
-+ */
-+
-+import java.lang.reflect.Array;
-+
-+class Point {
-+  int x;
-+  int y;
-+  Point next;
-+  int ax[];
-+  int ay[];
-+  Point pax[];
-+  Point pay[];
-+  public Point getNext() {
-+    return next;
-+  }
-+}
-+
-+public class Test {
-+
-+  void dummy() {
-+    // Empty method to verify correctness of DebugInfo.
-+    // Use -XX:CompileCommand=exclude,Test.dummy
-+  }
-+
-+  int ival(int i) {
-+    return i*2;
-+  }
-+
-+  int test80(int y, int l, int i) {
-+    Point p = new Point();
-+    p.ax = new int[2];
-+    p.ay = new int[2];
-+    int x = 3;
-+    p.ax[0] = x;
-+    p.ay[1] = 3 * x + y;
-+    dummy();
-+    return p.ax[0] * p.ay[1];
-+  }
-+
-+  int test81(int y, int l, int i) {
-+    Point p = new Point();
-+    p.ax = new int[2];
-+    p.ay = new int[2];
-+    int x = 3;
-+    p.ax[0] = x;
-+    p.ay[1] = 3 * x + y;
-+    dummy();
-+    return p.ax[0] * p.ay[1];
-+  }
-+
-+
-+  int test44(int y) {
-+    Point p1 = new Point();
-+    p1.x = ival(3);
-+    dummy();
-+    p1.y = 3 * p1.x + y;
-+    return p1.y;
-+  }
-+
-+  int test43(int y) {
-+    Point p1 = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p1.x = ival(3);
-+    } else {
-+      p1.x = ival(5);
-+    }
-+    dummy();
-+    p1.y = 3 * p1.x + y;
-+    return p1.y;
-+  }
-+
-+  int test42(int y) {
-+    Point p1 = new Point();
-+    p1.x = 3;
-+    for (int i = 0; i < y; i++) {
-+      if ( (i & 1) == 1 ) {
-+        p1.x += 4;
-+      }
-+    }
-+    p1.y = 3 * y + p1.x;
-+    return p1.y;
-+  }
-+
-+  int test40(int y) {
-+    Point p1 = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+    } else {
-+      p1.x = 5;
-+    }
-+    p1.y = 3 * p1.x + y;
-+    return p1.y;
-+  }
-+
-+  int test41(int y) {
-+    Point p1 = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p1.x += 4;
-+    } else {
-+      p1.x += 5;
-+    }
-+    p1.y = 3 * p1.x + y;
-+    return p1.y;
-+  }
-+
-+  Point test00(int y) {
-+    int x = 3;
-+    Point p = new Point();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    return p;
-+  }
-+
-+  Point test01(int y) {
-+    int x = 3;
-+    Point p = new Point();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p;
-+  }
-+
-+  Point test02(int y) {
-+    int x = 3;
-+    Point p1 = null;
-+    for (int i = 0; i < y; i++) {
-+      Point p2 = new Point();
-+      p2.x = x;
-+      p2.y = 3 * y + x;
-+      p2.next = p1;
-+      p1 = p2;
-+    }
-+    return p1;
-+  }
-+
-+  Point test03(int y) {
-+    int x = 3;
-+    Point p1 = null;
-+    for (int i = 0; i < y; i++) {
-+      Point p2 = new Point();
-+      p2.x = x;
-+      p2.y = 3 * y + x;
-+      p2.next = p1;
-+      p1 = p2;
-+    }
-+    dummy();
-+    return p1;
-+  }
-+
-+  Point test04(int y) {
-+    int x = 3;
-+    Point p1 = null;
-+    for (int i = 0; i < y; i++) {
-+      Point p2 = new Point();
-+      p2.x = x;
-+      p2.y = 3 * y + x;
-+      p2.next = p1;
-+      dummy();
-+      p1 = p2;
-+    }
-+    return p1;
-+  }
-+
-+  int test05(int y) {
-+    int x = 3;
-+    Point p1 = new Point();
-+    for (int i = 0; i < y; i++) {
-+      Point p2 = new Point();
-+      p2.x = x;
-+      p2.y = 3 * y + x;
-+      p1.next = p2;
-+      p1 = p2;
-+    }
-+    return p1.y;
-+  }
-+
-+  int test0(int y) {
-+    int x = 3;
-+    Point p = new Point();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1(int y) {
-+    Point p = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p = new Point(); // Kill previous
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2(int y) {
-+    Point p1 = new Point();
-+    Point p2 = new Point();
-+    p1.x = 3;
-+    p2.x = 4;
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test3(int y, Point p1) {
-+    Point p2 = new Point();
-+    p1.x = 3;
-+    p2.x = 4;
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test4(int y) {
-+    Point p1 = new Point();
-+    Point p2 = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p2.x = 4;
-+    } else {
-+      p1.x = 5;
-+      p2.x = 6;
-+    }
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test5(int y, Point p1) {
-+    Point p2 = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p2.x = 4;
-+    } else {
-+      p1.x = 5;
-+      p2.x = 6;
-+    }
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test6(int y) {
-+    Point p1 = new Point();
-+    Point p2 = new Point();
-+    p1.next = p2;
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p1.getNext().x = 4;
-+    } else {
-+      p1.x = 5;
-+      p1.getNext().x = 6;
-+    }
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test7(int y, Point p1) {
-+    Point p2 = new Point();
-+    p1.next = p2;
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p1.getNext().x = 4;
-+    } else {
-+      p1.x = 5;
-+      p1.getNext().x = 6;
-+    }
-+    p1.y = 3 * p2.x + y;
-+    p2.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p2.y;
-+  }
-+
-+  int test8(int y, int l, int i) {
-+    Point p = new Point();
-+    p.ax = new int[l];
-+    p.ay = new int[l];
-+    int x = 3;
-+    p.ax[i] = x;
-+    p.ay[i] = 3 * x + y;
-+    dummy();
-+    return p.ax[i] * p.ay[i];
-+  }
-+
-+  int test9(int y, int l, int i) {
-+    Point p = new Point();
-+    p.pax = new Point[l];
-+    p.pay = new Point[l];
-+    p.pax[i] = new Point();
-+    p.pay[i] = new Point();
-+    p.pax[i].x = 3;
-+    p.pay[i].x = 4;
-+    p.pax[i].y = 3 * p.pay[i].x + y;
-+    p.pay[i].y = 3 * p.pax[i].x + y;
-+    dummy();
-+    return p.pax[i].y * p.pay[i].y;
-+  }
-+
-+  int test10(int y, int l, int i, Class cls) {
-+    Point p = new Point();
-+    try {
-+      p.pax = (Point[])Array.newInstance(cls, l);
-+      p.pax[i] = (Point)cls.newInstance();
-+    }
-+    catch(java.lang.InstantiationException ex) {
-+      return 0;
-+    }
-+    catch(java.lang.IllegalAccessException ex) {
-+      return 0;
-+    }
-+    p.pax[i].x = 3;
-+    p.pax[i].y = 3 * p.pax[i].x + y;
-+    dummy();
-+    return p.pax[i].x * p.pax[i].y;
-+  }
-+
-+  int test11(int y) {
-+    Point p1 = new Point();
-+    Point p2 = new Point();
-+    p1.next = p2;
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p1.next.x = 4;
-+    } else {
-+      p1.x = 5;
-+      p1.next.x = 6;
-+    }
-+    p1.y = 3 * p1.next.x + y;
-+    p1.next.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p1.next.y;
-+  }
-+
-+  int test12(int y) {
-+    Point p1 = new Point();
-+    p1.next = p1;
-+    if ( (y & 1) == 1 ) {
-+      p1.x = 3;
-+      p1.next.x = 4;
-+    } else {
-+      p1.x = 5;
-+      p1.next.x = 6;
-+    }
-+    p1.y = 3 * p1.next.x + y;
-+    p1.next.y = 3 * p1.x + y;
-+    dummy();
-+    return p1.y * p1.next.y;
-+  }
-+
-+
-+  public static void main(String args[]) {
-+    Test tsr    = new Test();
-+    Point p     = new Point();
-+    Point ptmp  = p;
-+    Class cls   = Point.class;
-+    int y = 0;
-+    for (int i=0; i<10000; i++) {
-+      ptmp.next = tsr.test00(1);
-+      ptmp.next = tsr.test01(1);
-+      ptmp.next = tsr.test02(1);
-+      ptmp.next = tsr.test03(1);
-+      ptmp.next = tsr.test04(1);
-+
-+      y = tsr.test05(1);
-+
-+      y = tsr.test80(y, 1, 0);
-+      y = tsr.test81(y, 1, 0);
-+
-+      y = tsr.test44(y);
-+      y = tsr.test43(y);
-+      y = tsr.test42(y);
-+      y = tsr.test40(y);
-+      y = tsr.test41(y);
-+
-+      y = tsr.test0(y);
-+      y = tsr.test1(y);
-+      y = tsr.test2(y);
-+      y = tsr.test3(y, p);
-+      y = tsr.test4(y);
-+      y = tsr.test5(y, p);
-+      y = tsr.test6(y);
-+      y = tsr.test7(y, p);
-+      y = tsr.test8(y, 1, 0);
-+      y = tsr.test9(y, 1, 0);
-+      y = tsr.test10(y, 1, 0, cls);
-+      y = tsr.test11(y);
-+      y = tsr.test12(y);
-+    }
-+    for (int i=0; i<10000; i++) {
-+      ptmp.next = tsr.test00(1);
-+      ptmp.next = tsr.test01(1);
-+      ptmp.next = tsr.test02(1);
-+      ptmp.next = tsr.test03(1);
-+      ptmp.next = tsr.test04(1);
-+
-+      y = tsr.test05(1);
-+
-+      y = tsr.test80(y, 1, 0);
-+      y = tsr.test81(y, 1, 0);
-+
-+      y = tsr.test44(y);
-+      y = tsr.test43(y);
-+      y = tsr.test42(y);
-+      y = tsr.test40(y);
-+      y = tsr.test41(y);
-+
-+      y = tsr.test0(y);
-+      y = tsr.test1(y);
-+      y = tsr.test2(y);
-+      y = tsr.test3(y, p);
-+      y = tsr.test4(y);
-+      y = tsr.test5(y, p);
-+      y = tsr.test6(y);
-+      y = tsr.test7(y, p);
-+      y = tsr.test8(y, 1, 0);
-+      y = tsr.test9(y, 1, 0);
-+      y = tsr.test10(y, 1, 0, cls);
-+      y = tsr.test11(y);
-+      y = tsr.test12(y);
-+    }
-+    for (int i=0; i<10000; i++) {
-+      ptmp.next = tsr.test00(1);
-+      ptmp.next = tsr.test01(1);
-+      ptmp.next = tsr.test02(1);
-+      ptmp.next = tsr.test03(1);
-+      ptmp.next = tsr.test04(1);
-+
-+      y = tsr.test05(1);
-+
-+      y = tsr.test80(y, 1, 0);
-+      y = tsr.test81(y, 1, 0);
-+
-+      y = tsr.test44(y);
-+      y = tsr.test43(y);
-+      y = tsr.test42(y);
-+      y = tsr.test40(y);
-+      y = tsr.test41(y);
-+
-+      y = tsr.test0(y);
-+      y = tsr.test1(y);
-+      y = tsr.test2(y);
-+      y = tsr.test3(y, p);
-+      y = tsr.test4(y);
-+      y = tsr.test5(y, p);
-+      y = tsr.test6(y);
-+      y = tsr.test7(y, p);
-+      y = tsr.test8(y, 1, 0);
-+      y = tsr.test9(y, 1, 0);
-+      y = tsr.test10(y, 1, 0, cls);
-+      y = tsr.test11(y);
-+      y = tsr.test12(y);
-+    }
-+
-+    int z = 0;
-+    y = tsr.test80(0, 1, 0);
-+    z += y;
-+    System.out.println("After 'test80' y=" + y);
-+    y = tsr.test81(0, 1, 0);
-+    z += y;
-+    System.out.println("After 'test81' y=" + y);
-+
-+    y = tsr.test44(0);
-+    z += y;
-+    System.out.println("After 'test44' y=" + y);
-+    y = tsr.test43(0);
-+    z += y;
-+    System.out.println("After 'test43' y=" + y);
-+    y = tsr.test42(0);
-+    z += y;
-+    System.out.println("After 'test42' y=" + y);
-+    y = tsr.test40(0);
-+    z += y;
-+    System.out.println("After 'test40' y=" + y);
-+    y = tsr.test41(0);
-+    z += y;
-+    System.out.println("After 'test41' y=" + y);
-+
-+    ptmp.next = tsr.test00(1);
-+    z += y;
-+    System.out.println("After 'test00' p.y=" + ptmp.next.y);
-+    ptmp.next = tsr.test01(1);
-+    z += y;
-+    System.out.println("After 'test01' p.y=" + ptmp.next.y);
-+    ptmp.next = tsr.test02(1);
-+    z += y;
-+    System.out.println("After 'test02' p.y=" + ptmp.next.y);
-+    ptmp.next = tsr.test03(1);
-+    z += y;
-+    System.out.println("After 'test03' p.y=" + ptmp.next.y);
-+    ptmp.next = tsr.test04(1);
-+    z += y;
-+    System.out.println("After 'test04' p.y=" + ptmp.next.y);
-+
-+    y = tsr.test05(1);
-+    z += y;
-+    System.out.println("After 'test05' y=" + y);
-+
-+    y = tsr.test0(0);
-+    z += y;
-+    System.out.println("After 'test0' y=" + y);
-+    y = tsr.test1(0);
-+    z += y;
-+    System.out.println("After 'test1' y=" + y);
-+    y = tsr.test2(0);
-+    z += y;
-+    System.out.println("After 'test2' y=" + y);
-+    y = tsr.test3(0, new Point());
-+    z += y;
-+    System.out.println("After 'test3' y=" + y);
-+    y = tsr.test4(0);
-+    z += y;
-+    System.out.println("After 'test4' y=" + y);
-+    y = tsr.test5(0, new Point());
-+    z += y;
-+    System.out.println("After 'test5' y=" + y);
-+    y = tsr.test6(0);
-+    z += y;
-+    System.out.println("After 'test6' y=" + y);
-+    y = tsr.test7(0, new Point());
-+    z += y;
-+    System.out.println("After 'test7' y=" + y);
-+    y = tsr.test8(0, 1, 0);
-+    z += y;
-+    System.out.println("After 'test8' y=" + y);
-+    y = tsr.test9(0, 1, 0);
-+    z += y;
-+    System.out.println("After 'test9' y=" + y);
-+    y = tsr.test10(0, 1, 0, cls);
-+    z += y;
-+    System.out.println("After 'test10' y=" + y);
-+    y = tsr.test11(0);
-+    z += y;
-+    System.out.println("After 'test11' y=" + y);
-+    y = tsr.test12(0);
-+    z += y;
-+    System.out.println("After 'test12' y=" + y);
-+    System.out.println("Sum of y =" + z);
-+  }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6695810/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6695810/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,56 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6695810
-+ * @summary null oop passed to encode_heap_oop_not_null
-+ * @run main/othervm -Xbatch Test
-+ */
-+
-+public class Test {
-+    Test _t;
-+
-+    static void test(Test t1, Test t2) {
-+        if (t2 != null)
-+            t1._t = t2;
-+
-+        if (t2 != null)
-+            t1._t = t2;
-+    }
-+
-+    public static void main(String[] args) {
-+        Test t = new Test();
-+        for (int i = 0; i < 50; i++) {
-+            for (int j = 0; j < 100; j++) {
-+                test(t, t);
-+            }
-+            test(t, null);
-+        }
-+        for (int i = 0; i < 10000; i++) {
-+            test(t, t);
-+        }
-+        test(t, null);
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6700047/Test6700047.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6700047/Test6700047.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,60 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/**
-+ * @test
-+ * @bug 6700047
-+ * @summary C2 failed in idom_no_update
-+ * @run main Test6700047
-+ */
-+
-+public class Test6700047 {
-+    public static void main(String[] args) {
-+        for (int i = 0; i < 100000; i++) {
-+            intToLeftPaddedAsciiBytes();
-+        }
-+    }
-+
-+    public static int intToLeftPaddedAsciiBytes() {
-+        int offset = 40;
-+        int q;
-+        int r;
-+        int         i   = 100;
-+        int result = 1;
-+        while (offset > 0) {
-+            q = (i * 52429);
-+            r = i;
-+            offset--;
-+            i = q;
-+            if (i == 0) {
-+                break;
-+            }
-+        }
-+        if (offset > 0) {
-+            for(int j = 0; j < offset; j++) {
-+                result++;
-+            }
-+        }
-+        return result;
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6712835/Test6712835.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6712835/Test6712835.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,1578 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/**
-+ * @test
-+ * @bug 6712835
-+ * @summary Server compiler fails with assertion (loop_count < K,"infinite loop in PhaseIterGVN::transform")
-+ * @run main/othervm -Xcomp Test6712835
-+ */
-+
-+/* Complexity upper bound: 349851 ops */
-+
-+abstract class Tester_Class_0 {
-+    boolean var_1 = true;
-+    static double var_2;
-+    float var_3 = 1.8301116E38F;
-+    final String var_4 = "wck";
-+    final static short var_5 = 25624;
-+
-+
-+    public Tester_Class_0()
-+    {
-+        var_2 = (byte)1.7374809293839066E308;
-+        {
-+            double var_18 = false ? 8027040614338917376L * var_3 + - (var_2 = var_5) : (var_3 += (char)4.491494085158084E307);
-+            var_3 *= ~ ((byte)702579792) / 6600332715431236608L;
-+            long var_19 = 0L;
-+            var_18 -= 1759091496;
-+            do
-+            {
-+                final long var_20 = (new long[(byte)(var_3 += + +1.6695243696502334E308)][(byte)((byte)1110410742 | ~var_19)])[var_1 & var_1 ? (byte)1047514041090199552L : (byte)var_5][(byte)(var_1 ? 123309551 : - ((byte)5932930312361050112L))];
-+                var_19++;
-+                final short var_21 = var_5;
-+            } while (var_19 < 1 && var_1 ^ var_3 == + ((byte)var_5));
-+            {
-+                int var_22;
-+            }
-+            {
-+                var_4.endsWith("o");
-+            }
-+            int var_23 = 0;
-+            var_1 &= (var_1 = true);
-+            for (byte var_24 = 26; (var_1 = !var_1) && var_23 < 1; var_18 += var_1 ^ (var_1 |= false) ^ true ? var_24 : (byte)1504077779675035648L)
-+            {
-+                var_18 *= var_23;
-+                var_23++;
-+                float var_25;
-+                (((new Tester_Class_0[var_24][var_24][var_24])[var_24])[var_24 >>= var_19][var_24 &= 6702582681202665472L]).var_3 *= var_5;
-+            }
-+            var_1 = (var_3 -= var_5) > (byte)func_2(1317089759, var_5, (byte)var_19) % (false & true ? 475183200 : 8947159119888251904L);
-+            var_18 /= ~var_19 ^ ((byte)(var_18 %= (int)var_5) >= 6773554922270913536L ? (byte)var_5 : (byte)'u');
-+            var_3 = ~ ((byte)var_19);
-+        }
-+        double var_26 = 0;
-+        var_1 &= (var_1 |= ! (var_1 |= true));
-+        while (var_26 < 1)
-+        {
-+            var_2 = 'e';
-+            var_26++;
-+            var_1 ^= !true | 'j' * ((var_2 = 93384362) + var_5) <= var_5;
-+            var_2 = true ? 2056852215 : var_5;
-+        }
-+        switch ((new char[(byte)var_3])[(byte)(short)var_4.charAt(438929928)] / (new byte[(byte)1779353916050551808L][(byte)+ ~8903539475459755008L])[(byte)836413337621087232L][(byte)784406244])
-+        {
-+            case 101:
-+                var_3 -= var_5;
-+                break;
-+
-+            case 'L':
-+
-+            case 20:
-+                final int var_27 = 2146473580;
-+                break;
-+
-+            case 18:
-+
-+            default:
-+                "mwh".substring((byte)(float)'A' % var_5, ']' | var_5 ^ ~ ((byte)'E'));
-+                break;
-+
-+            case 'H':
-+
-+        }
-+        var_3 = var_5;
-+        long var_28;
-+        var_28 = (var_1 = 'u' != (var_3 = var_1 ? 1384770002488557568L : ~ ~6691557565676772352L)) ? - ((byte)938410603) : var_5;
-+        ((new Tester_Class_0[(byte)var_26])[(byte)'w']).var_3 = (byte)(short)'I';
-+        var_2 = (var_1 ^= "sfltwylm".startsWith("ytmeds")) ? 1837260339 * 434565574 : (new double[(byte)var_26])[(byte)var_3];
-+    }
-+
-+
-+
-+    public boolean equals(Object obj)
-+    {
-+        var_2 = 785819716 / 'i';
-+        switch ((! (var_1 ^= var_1) ^ (! ((false | (var_1 |= var_1)) ^ !false) ? false : (var_1 |= !false)) ? var_1 : ! !var_1 ^ var_1) ? 1426689390 : var_5 * var_5)
-+        {
-+            case '`':
-+
-+            case 89:
-+
-+            case 13:
-+                char var_9 = 'W';
-+                break;
-+
-+            case 31:
-+
-+            case 15:
-+
-+            case 'm':
-+                var_1 &= var_1;
-+                break;
-+
-+            case 'Z':
-+
-+            case 34:
-+                String[] var_10 = (new String[(byte)5534253842608756736L][(byte)'M'])[(byte)8717534666212195328L];
-+                break;
-+
-+            case 124:
-+
-+        }
-+        var_3 += var_5;
-+        var_1 |= (var_1 |= (var_1 = (var_1 |= var_5 >= (var_2 = (byte)var_3))));
-+        var_1 ^= (var_1 = var_4.endsWith(new String()));
-+        var_2 = (var_3 %= 664966429);
-+        {
-+            var_4.lastIndexOf((int)('i' * (! !true & (true & !var_1) ? (byte)2.2562587635371023E307 : (byte)(var_3 %= var_3)) / var_3), 'P' % (false ? (byte)'N' : (byte)943393108));
-+        }
-+        var_3 /= false | ! !var_1 ? (char)1.3721055E38F : '\\';
-+        if (var_1)
-+        {
-+            var_4.compareTo("uaqmqwg");
-+        }
-+        else
-+        {
-+            var_1 ^= var_1 & (var_1 &= (var_1 ^= (var_1 ^= var_1)));
-+        }
-+        var_3 *= (new int[(byte)1980200282][(byte)'i'])[(byte)(var_2 = (byte)'O')][false ? (byte)2.4739911E38F : (byte)- ((byte)1.6045903096088714E308)];
-+        var_1 = var_5 != (byte)var_5 & (1.5002759009669559E308 < (byte)5110733568033040384L ^ (var_1 ? (var_1 ^= true) : var_1));
-+        long var_11;
-+        return (var_2 = (byte)'B') < 550125954;
-+    }
-+
-+
-+    public static char func_0(final int arg_0, long[] arg_1, final boolean arg_2)
-+    {
-+        var_2 = (short)(false ? (byte)1.2577737E38F : (byte)'t');
-+        "xdf".codePointBefore((!arg_2 ? (byte)1426638765 : (byte)541094055) * ((byte)var_5 / var_5));
-+        ((new Tester_Class_0[(byte)(short)(var_2 = 'A')])[(byte)arg_0]).var_3 = 7823141134226481152L;
-+        ((new Tester_Class_0[(byte)- ~1368497135389664256L])[!false || true ? (byte)2.5393905E38F : (byte)2.4415902E38F]).var_3 -= (int)(false ? (byte)var_5 : (byte)"musnlk".charAt(785792957));
-+        ((new Tester_Class_0[(byte)357672172])[(byte)7.709380171237795E307]).var_3 = arg_0;
-+        ((new Tester_Class_0[(byte)var_5])[(byte)('Z' / + + -2.6037312E38F)]).var_3 %= arg_2 ? + - - + - + +4.6761156E37F : (byte)- (var_2 = - - ~3113191255384341504L);
-+        (("exseqpham" + "uigdxg").equalsIgnoreCase("oeutvibnv") ? "l" : "qra").replace(false ^ true ? 't' : "jwpf".charAt(+ ((byte)arg_0)), 6.624090730243228E307 > 2.7771497E38F ? 't' : "tcfesyg".charAt(arg_0));
-+        ((new Tester_Class_0[(byte)arg_0][(byte)6943189372481268736L])[(byte)2.6713643513095145E307][(byte)var_5]).var_1 &= !"ipgqq".endsWith("aecnyvpmf");
-+        ((new Tester_Class_0[(byte)(+ +2158971337956592640L ^ var_5)])[false ? (byte)8594725249859841024L : (byte)var_5]).var_3 = (byte)"jd".charAt((byte)1.6298661301128909E307 << (byte)'B');
-+        var_2 = (float)1014982842 * (byte)var_5 * ((new Tester_Class_0[(byte)2.7842814E38F])[(byte)"n".charAt('e' ^ (byte)arg_0)]).var_3;
-+        if (false)
-+        {
-+            ((new Tester_Class_0[(byte)8.702990410251979E307][(byte)8.865924E37F])[(byte)var_5][(byte)+ ((long)var_5)]).var_1 ^= arg_2;
-+        }
-+        else
-+        {
-+            ((new Tester_Class_0[(byte)('I' | var_5)])[(byte)('L' + (+ - - (var_2 = 'N') + 1.324025E38F))]).var_3 = var_5 % '[' + (byte)var_5;
-+        }
-+        ((new Tester_Class_0[(byte)7.41761E37F][(byte)(var_2 = var_5)])[(byte)var_5][(byte)'o']).var_1 &= false;
-+        ((new Tester_Class_0[(byte)+ ((byte)7.9065203E37F)])[(byte)var_5]).var_1 ^= 630582880 > - (var_2 = var_5);
-+        return 'K';
-+    }
-+
-+    protected float func_1(int arg_0, final Object arg_1, Object arg_2)
-+    {
-+        var_1 ^= (var_1 ^= true) & !var_1;
-+        {
-+            var_3 -= var_3;
-+            var_2 = var_1 && (var_1 &= ! !true) | + ~3353396000385141760L < 7949306917320622080L ? (byte)306954754 : (byte)var_5;
-+            final long var_12 = 1048994076885686272L;
-+        }
-+        short var_13 = 8706;
-+        byte var_14 = (new byte[(byte)6.697464316212731E307])[(byte)var_4.indexOf("clbr", (byte)var_5 + 'F')];
-+        ((new Tester_Class_0[var_14][var_14 &= 'b'])[var_14][var_14]).var_1 |= var_14 >= var_3;
-+        (((new String[var_14][var_14])[var_14])[var_14]).codePointAt(585064460);
-+        var_14 -= 2121015302;
-+        var_2 = 1.241922E38F;
-+        {
-+            (((new Tester_Class_0[var_14][var_14 ^= 'y'])[var_14])[var_14 |= var_14]).var_3 *= 5756647686007829504L;
-+        }
-+        {
-+            var_13--;
-+        }
-+        double var_15;
-+        var_1 = (var_1 = true) ? false : true;
-+        arg_0--;
-+        return var_3;
-+    }
-+
-+    public final static short func_2(int arg_0, final short arg_1, byte arg_2)
-+    {
-+        arg_0 %= (((new Tester_Class_0[arg_2][arg_2])[arg_2++][--arg_2]).var_1 |= true) ? 'e' : var_5 >>> arg_2;
-+        float var_16 = ((false ? ~3951083684045828096L >>> - -3880809660598466560L : arg_0) ^ arg_1) - 1.1257035E37F;
-+        var_2 = var_5 + 3.3679594E38F;
-+        arg_2 += true & (((new Tester_Class_0[arg_2])[arg_2 *= 4301185995603340288L]).var_1 = arg_1 != arg_1) ? (var_2 = arg_0) : 988311987505040384L + ']' >>> --arg_2;
-+        arg_2 = arg_2;
-+        var_16 /= (arg_2 += (arg_0 += (var_16 %= arg_2)) + (var_16 -= arg_2));
-+        var_16 += 7416220016668043264L;
-+        ((new Tester_Class_0[arg_2])[arg_2]).var_1 &= false;
-+        ((new Tester_Class_0[--arg_2])[--arg_2]).var_1 = true | (true & true ? true : false);
-+        arg_2 -= (var_2 = 7997355759027275776L);
-+        ((new Tester_Class_0[arg_2])[arg_2 %= 8660960251961819136L]).var_3 *= 4180634858198604800L;
-+        arg_0 /= -1.3063173E38F;
-+        var_2 = arg_2;
-+        var_2 = (6266377813429248L ^ 'j') / (!false & (1.1423139843154216E308 >= (var_2 = arg_2) || (((new Tester_Class_0[arg_2])[arg_2]).var_1 ^= true)) ? (short)('e' * arg_0) : var_5);
-+        --arg_0;
-+        var_2 = (+ - ~8598445599816821760L << arg_1) % 1890075208 & (!true & !true ^ false & false ? 'w' : 'm') % (5614521287604667392L / arg_2) & ~193105176465084416L;
-+        arg_2 &= (arg_2 |= arg_0) ^ ((((new Tester_Class_0[arg_2][arg_2])[arg_2])[arg_2]).var_1 ? arg_2 : (new long[arg_2])[arg_2]);
-+        ((new Tester_Class_0[arg_2 &= 'V'][arg_2])[arg_2 /= 5486057194586717184L][arg_2 %= var_16]).var_1 |= (new boolean[((new Tester_Class_0[arg_2])[arg_2]).var_1 ? arg_2 : arg_2])[arg_2];
-+        return ((((new Tester_Class_0[arg_2][arg_2][arg_2])[--arg_2])[arg_2 |= arg_2][arg_2 %= 6782653882738869248L]).var_1 ? false : !true | "hopq".equalsIgnoreCase("wvm") | "qmhtjvm".endsWith("gewqas")) && ! !false & false ? arg_1 : arg_1;
-+    }
-+
-+    protected final static char func_3(byte arg_0, final int arg_1, final short arg_2, long[] arg_3)
-+    {
-+        ((new Tester_Class_0[arg_0 ^= 1902924521091955712L])[arg_0]).var_1 &= ((((new Tester_Class_0[arg_0][arg_0])[--arg_0])[arg_0 *= - -1.0959788E38F]).var_1 = false);
-+        {
-+            var_2 = (new float[arg_0][(byte)1082004329])[arg_0][arg_0 <<= 'T'];
-+        }
-+        ((new Tester_Class_0[arg_0 >>= arg_1][arg_0])[arg_0][arg_0]).var_1 |= ((new Tester_Class_0[arg_0])[--arg_0]).var_4.startsWith(((new Tester_Class_0[arg_0])[arg_0]).var_4);
-+        ((new Tester_Class_0[(byte)var_5])[arg_0]).var_4.substring(273513722, 'f' * 'n').substring((new short[arg_0][arg_0])[arg_0][arg_0] % 'C' >> (arg_3[arg_0] - 's') % ("".charAt(arg_1) & var_5));
-+        var_2 = 'Q' + (char)arg_0;
-+        {
-+            ((new Tester_Class_0[++arg_0])[arg_0]).var_1 ^= !true || !true ? !false ^ false : ! (1.7030813E38F != ~arg_0);
-+        }
-+        {
-+            "jbdu".indexOf(((new Tester_Class_0[arg_0 *= 2628674024589069312L])[arg_0 -= arg_1]).var_4, "gqglwwbab".charAt(~arg_0) >>> 'M');
-+        }
-+        {
-+            --arg_0;
-+        }
-+        ((new Tester_Class_0[arg_0])[arg_0]).var_1 = 'n' == ('t' | (+9156142987836739584L | 's')) - 2915339344736463872L;
-+        int var_17;
-+        var_17 = 'k';
-+        var_17 = (((new Tester_Class_0[arg_0])[arg_0]).var_1 &= false) ? (short)'q' : arg_2;
-+        return '`';
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_0.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_0.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_0.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_0.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_0.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_1 extends Tester_Class_0 {
-+    final boolean var_29 = false;
-+    static short var_30;
-+    Tester_Class_0 var_31;
-+
-+
-+    public Tester_Class_1()
-+    {
-+        new String();
-+        byte var_43 = (var_1 ? var_29 : var_1) ? (byte)(~ ~ ~6520122970162626560L | ~6642750731731981312L) : (byte)(var_30 = var_5);
-+        {
-+            var_2 = Tester_Class_0.var_5;
-+        }
-+        ((Tester_Class_0)(new Object[var_43])[var_43]).var_1 = var_29;
-+        var_43 += 512311665;
-+    }
-+
-+
-+
-+
-+    final int func_0()
-+    {
-+        Tester_Class_0.var_2 = var_29 ? (var_29 ? (byte)'D' : (byte)Tester_Class_0.var_5) : (!var_1 ^ var_1 | (var_1 ^= var_1) ? (byte)'J' : (byte)51510881);
-+        new String();
-+        new String();
-+        new String();
-+        return 1731501229;
-+    }
-+
-+    private final static void func_1(final String arg_0, final Object arg_1)
-+    {
-+        long var_32 = ((new Tester_Class_1[(byte)37719380])['I' == Tester_Class_0.var_5 + Tester_Class_0.var_5 ? (byte)(var_30 = (byte)1.3043569561522328E308) : (byte)1.1111420042091164E308]).var_1 ? ~2569063513521638400L - Tester_Class_0.var_5 ^ 'm' : 660383226;
-+        ((Tester_Class_0)arg_1).var_3 += (char)8417109805993570304L;
-+        var_30 = var_5;
-+        var_2 = (new byte[(byte)2102078692])[(byte)7.942050823719592E307];
-+        if (((new Tester_Class_1[(byte)224717297])[(byte)2889830453578512384L]).var_1)
-+        {
-+            Tester_Class_0.var_2 = (new byte[(byte)'C'])[(byte)Tester_Class_0.var_5];
-+        }
-+        else
-+        {
-+            var_32 <<= 'u';
-+        }
-+        Tester_Class_0.var_2 = Tester_Class_0.var_5;
-+        final Object var_33 = arg_1;
-+        final byte var_34 = 40;
-+        ++var_32;
-+        (((new Tester_Class_1[var_34][var_34])[var_34][var_34]).var_31 = ((new Tester_Class_0[var_34][var_34])[var_34])[var_34]).var_1 ^= (((new Tester_Class_1[var_34][var_34])[var_34][var_34]).var_31 = (Tester_Class_0)var_33).var_1;
-+        ((new Tester_Class_1[var_34])[var_34]).var_31 = (((new Tester_Class_1[var_34])[((new Tester_Class_1[var_34][var_34])[var_34][var_34]).var_1 ? var_34 : var_34]).var_31 = (((new Tester_Class_1[(byte)2.4941036E38F])[var_34]).var_31 = (Tester_Class_0)arg_1));
-+    }
-+
-+    public static int[][] func_2(long arg_0, final float arg_1, short arg_2, final double arg_3)
-+    {
-+        long var_35;
-+        {
-+            arg_0++;
-+            var_2 = true ? (byte)9.691601510156328E307 : (byte)"a".charAt(~ ((byte)arg_1));
-+            if (((new Tester_Class_1[(byte)'\\'][(byte)arg_2])[(byte)arg_2][(byte)arg_0]).var_29)
-+            {
-+                arg_2++;
-+            }
-+            else
-+            {
-+                Tester_Class_0.var_2 = arg_2;
-+                var_30 = arg_2;
-+                Tester_Class_0.var_2 = arg_0;
-+            }
-+            arg_2 /= 157487965;
-+            arg_2 -= func_2(~ ((byte)arg_0), (short)arg_3, (byte)+2.2503214E38F);
-+        }
-+        arg_0--;
-+        double var_36;
-+        arg_0 <<= (arg_0 >>= (arg_0 = 'O'));
-+        {
-+            arg_0++;
-+            --arg_0;
-+        }
-+        --arg_2;
-+        ++arg_2;
-+        "gbcrkn".length();
-+        var_30 = (short)7.14672E37F;
-+        {
-+            arg_0 %= (arg_0 >>= (arg_2 *= (byte)1.5835087622116814E308)) % arg_3;
-+            var_36 = 'n';
-+            int[][] var_37 = new int[(byte)(double)arg_0][(byte)(arg_2 >>= 'o')];
-+            if ((byte)1390907656194158592L <= arg_2)
-+            {
-+                "uuoeps".indexOf("", 899321600);
-+            }
-+            else
-+            {
-+                var_36 = - ~ -arg_0;
-+            }
-+            short var_38 = var_5;
-+            var_36 = ~arg_0 + (6482428938632186880L + 6995927649252739072L);
-+        }
-+        if (((new Tester_Class_1[(byte)arg_1][(byte)arg_2])[(new byte[(byte)arg_0])[(byte)var_5]][(byte)'s']).var_1 = false)
-+        {
-+            ++arg_0;
-+        }
-+        else
-+        {
-+            ((new Tester_Class_1[(byte)2.7176027E38F])[(byte)((arg_2 -= 2.595396436487417E307) % 'p')]).var_1 ^= ((new Tester_Class_1[(byte)4.393706E36F])[false ? (byte)4826960994531808256L : (byte)arg_0]).var_29;
-+        }
-+        int var_39 = 0;
-+        arg_2 <<= 'Y';
-+        while (var_39 < 1 && false)
-+        {
-+            arg_0++;
-+            var_39++;
-+            Object var_40;
-+            ((Tester_Class_0)(var_40 = new long[(byte)3.285531E38F])).var_3 += var_39;
-+        }
-+        Object var_41;
-+        "w".substring(1359453539);
-+        return new int[(byte)((arg_2 /= 4.143015135482291E307) - 3.2659622E38F)][(byte)++arg_2];
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_1.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_1.var_30 = "; result += Test6712835.Printer.print(var_30);
-+        result += "\n";
-+        result += "Tester_Class_1.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_1.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_1.var_29 = "; result += Test6712835.Printer.print(var_29);
-+        result += "\n";
-+        result += "Tester_Class_1.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_1.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_1.var_31 = "; result += Test6712835.Printer.print(var_31);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_2 extends Tester_Class_0 {
-+    static float var_44 = 2.7867988E38F;
-+    static byte var_45;
-+    static long var_46 = 4319798868443575296L;
-+
-+
-+    public Tester_Class_2()
-+    {
-+        Tester_Class_1.var_30 = (byte)3.1718026E38F;
-+        var_45 = (new byte[(byte)'o'])[var_45 = (byte)Tester_Class_0.var_5];
-+        Tester_Class_1.var_30 = (Tester_Class_1.var_30 = Tester_Class_0.var_5);
-+        if (true)
-+        {
-+            ++var_46;
-+            boolean var_51 = false ? (var_1 &= !var_1) : true;
-+            --var_46;
-+            if (false)
-+            {
-+                var_3 *= 6.882788442363403E307;
-+            }
-+            else
-+            {
-+                Tester_Class_0.var_2 = '`';
-+            }
-+            final float var_52 = (var_1 ^= var_1 || (var_1 &= false)) | (var_51 |= (var_51 &= false)) ? (byte)4.751813848964725E307 : (var_3 *= var_5);
-+            (false ? var_4 : var_4).startsWith("j" + var_4);
-+            var_46++;
-+            var_3 %= Tester_Class_1.var_5;
-+        }
-+        else
-+        {
-+            Tester_Class_1.var_30 = (var_45 = (var_45 = (var_45 = (byte)Tester_Class_1.var_5)));
-+            Tester_Class_1.var_2 = (var_3 -= ~ ((byte)var_46) - 2018787280);
-+            Tester_Class_1.var_30 = (Tester_Class_1.var_30 = (Tester_Class_1.var_30 = (Tester_Class_1.var_30 = var_5)));
-+        }
-+        char var_53;
-+        ++var_46;
-+        short var_54 = 138;
-+        ++var_46;
-+        var_2 = 1435782089;
-+        Tester_Class_0.var_2 = var_46;
-+    }
-+
-+
-+
-+
-+    protected final boolean func_0(final boolean arg_0, final boolean arg_1)
-+    {
-+        var_2 = 2.6153986361247174E307;
-+        var_45 = (var_45 = (var_45 = (var_45 = (var_45 = (byte)(var_44 += var_46)))));
-+        var_46++;
-+        long var_47 = 0L;
-+        var_3 -= + ((byte)(~var_46 * ~var_46 ^ var_46 % 1910419567));
-+        do
-+        {
-+            ++var_46;
-+            var_47++;
-+            char var_48 = 'b';
-+        } while (var_47 < 2);
-+        new Tester_Class_1().var_31 = ((new Tester_Class_1[var_45 = (byte)3.0853839E38F])[(new byte[var_45 = (byte)1.4974966426791287E308])[var_45 = (byte)Tester_Class_0.var_5]]).var_1 ? new Tester_Class_1() : new Tester_Class_1();
-+        var_45 = (var_45 = (byte)var_44);
-+        double var_49 = 0;
-+        var_45 = (byte)(Tester_Class_1.var_30 = Tester_Class_0.var_5);
-+        while (((false ^ (var_1 &= var_1) | (var_1 |= arg_0) ? new Tester_Class_1() : new Tester_Class_1()).var_29 ? var_1 : false && (var_1 ^= arg_0)) && (var_49 < 3 && (true ? new Tester_Class_1() : new Tester_Class_1()).var_1))
-+        {
-+            var_45 = (var_45 = (var_45 = (var_45 = (var_45 = (byte)1.933612E38F))));
-+            var_49++;
-+            var_45 = (var_45 = (var_45 = (var_45 = (byte)685709636)));
-+            long var_50;
-+        }
-+        var_45 = (var_45 = (var_45 = (byte)var_5));
-+        var_46--;
-+        return true;
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_2.var_46 = "; result += Test6712835.Printer.print(var_46);
-+        result += "\n";
-+        result += "Tester_Class_2.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_2.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_2.var_44 = "; result += Test6712835.Printer.print(var_44);
-+        result += "\n";
-+        result += "Tester_Class_2.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_2.var_45 = "; result += Test6712835.Printer.print(var_45);
-+        result += "\n";
-+        result += "Tester_Class_2.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_2.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_3 extends Tester_Class_0 {
-+    static boolean var_55 = true;
-+    short var_56;
-+    char var_57 = (char)723612093;
-+    final static byte var_58 = 118;
-+    static float var_59 = true ? -2818156175448416256L : - - (Tester_Class_2.var_44 += var_58);
-+    static Tester_Class_1 var_60;
-+    byte var_61 = 112;
-+    Tester_Class_2[] var_62;
-+    static short var_63 = 19813;
-+    static double var_64 = (var_55 = true) ? (Tester_Class_1.var_2 = 'M') : Tester_Class_2.var_46;
-+
-+
-+    public Tester_Class_3()
-+    {
-+        var_56 = var_58;
-+        Tester_Class_1 var_65 = var_60 = (var_60 = (var_60 = (new Tester_Class_1[var_61 |= '\\'])[(var_1 = true) || var_55 ? var_58 : var_61]));
-+        var_64 /= 1253632965 * '`';
-+        Tester_Class_2.var_46 >>>= var_58;
-+        (((var_61 = var_58) * (var_55 ? 1641980027 : var_63) >= 1490788063 ? var_65 : var_65).var_29 ? var_65 : var_65).var_31 = (new Tester_Class_2[var_58])[var_58];
-+        ++var_63;
-+        new String();
-+        var_64 += var_55 ? (var_61 >>>= 'Q') : (var_63 <<= var_57);
-+        ((new Tester_Class_2().var_3 >= Tester_Class_2.var_46 ? !var_55 : var_4.startsWith(var_4, 586086925)) ? "gjsdhuop" : "juqrt").substring(("pm" + ((new Tester_Class_2[var_61][var_58])[var_58][var_58]).var_4).codePointBefore((~var_61 << 3032688286897486848L) - Tester_Class_1.var_5), (var_61 += 4.0796373033184064E306) >> (Tester_Class_2.var_46 >>> var_58));
-+        var_63 -= (var_63 ^= var_57);
-+        var_64 = var_5 - (Tester_Class_2.var_46 *= var_57);
-+        Tester_Class_2.var_46 &= 7544159045139005440L;
-+        var_55 |= false;
-+        Tester_Class_2.var_46 = var_61;
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_3.var_57 = "; result += Test6712835.Printer.print(var_57);
-+        result += "\n";
-+        result += "Tester_Class_3.var_62 = "; result += Test6712835.Printer.print(var_62);
-+        result += "\n";
-+        result += "Tester_Class_3.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_3.var_64 = "; result += Test6712835.Printer.print(var_64);
-+        result += "\n";
-+        result += "Tester_Class_3.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_3.var_59 = "; result += Test6712835.Printer.print(var_59);
-+        result += "\n";
-+        result += "Tester_Class_3.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_3.var_56 = "; result += Test6712835.Printer.print(var_56);
-+        result += "\n";
-+        result += "Tester_Class_3.var_63 = "; result += Test6712835.Printer.print(var_63);
-+        result += "\n";
-+        result += "Tester_Class_3.var_58 = "; result += Test6712835.Printer.print(var_58);
-+        result += "\n";
-+        result += "Tester_Class_3.var_61 = "; result += Test6712835.Printer.print(var_61);
-+        result += "\n";
-+        result += "Tester_Class_3.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_3.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_3.var_55 = "; result += Test6712835.Printer.print(var_55);
-+        result += "\n";
-+        result += "Tester_Class_3.var_60 = "; result += Test6712835.Printer.print(var_60);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_4 {
-+    static long var_66;
-+    final long var_67 = 7113579489152300032L * 985636454;
-+    int[] var_68;
-+    Tester_Class_3 var_69;
-+    final long var_70 = Tester_Class_2.var_46 <<= Tester_Class_1.var_5;
-+    byte var_71 = Tester_Class_3.var_58;
-+
-+
-+    public Tester_Class_4()
-+    {
-+        Tester_Class_2.var_46++;
-+        (var_69 = new Tester_Class_3()).var_61 += (!true | (Tester_Class_3.var_55 ^= Tester_Class_3.var_55) ? new Tester_Class_3() : new Tester_Class_3()).var_61;
-+        final String[][] var_79 = new String[var_71 >>= (Tester_Class_3.var_63 ^= 'm')][((Tester_Class_3)(new Tester_Class_1().var_31 = new Tester_Class_2())).var_61 >>= (var_71 >>>= (Tester_Class_2.var_46 += 465205188010511360L))];
-+        ++(var_69 = (var_69 = (var_69 = (Tester_Class_3)(new Object[Tester_Class_3.var_58][var_71])[Tester_Class_3.var_58][var_71]))).var_61;
-+        (((new Tester_Class_2[var_71][Tester_Class_3.var_58])[Tester_Class_2.var_45 = var_71])[var_71]).var_3 += (Tester_Class_2.var_46 <<= (Tester_Class_2.var_46 /= 9.03047405760868E307) >> (new Tester_Class_2().var_1 ? 2099696051 : Tester_Class_3.var_63));
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = new Tester_Class_1())));
-+        char var_80;
-+        Tester_Class_3.var_64 += 355712574;
-+        ++Tester_Class_2.var_46;
-+    }
-+
-+
-+
-+
-+    private final static Tester_Class_1 func_0(boolean arg_0, double arg_1)
-+    {
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = new Tester_Class_1());
-+        byte var_72 = (byte)Tester_Class_2.var_46;
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = new Tester_Class_1()))));
-+        float var_73 = 0F;
-+        "flfix".offsetByCodePoints((Tester_Class_3.var_63 ^= 3286104714651747328L) + ((Tester_Class_3)(new Tester_Class_0[var_72])[var_72]).var_61, Tester_Class_0.var_5 + Tester_Class_3.var_58);
-+        while (var_73 < 2 && (false ? (Tester_Class_3.var_60 = new Tester_Class_1()) : (Tester_Class_1)(new Tester_Class_0[var_72])[var_72]).var_29)
-+        {
-+            ((Tester_Class_3)(Tester_Class_0)(new Object[var_72])[Tester_Class_3.var_58]).var_61 >>= ((new Tester_Class_4[var_72])[var_72]).var_67;
-+            var_73++;
-+            new String("blod");
-+            --var_72;
-+        }
-+        ((new Tester_Class_4[Tester_Class_3.var_58][var_72])[new Tester_Class_3().var_61][Tester_Class_3.var_58]).var_69 = new Tester_Class_3();
-+        float var_74 = (! ("dkcx".lastIndexOf(Tester_Class_1.var_5 >> - (var_72 >>>= 1433506903139345408L)) == Tester_Class_2.var_46) ? 'O' : 'e' - new Tester_Class_2().var_3) * ~ (var_72 ^= var_72);
-+        Tester_Class_3.var_60 = !true ? new Tester_Class_1() : (new Tester_Class_1[Tester_Class_3.var_58])[var_72];
-+        ((arg_0 &= Tester_Class_3.var_55 | (Tester_Class_3.var_60 = new Tester_Class_1()).var_29) ? (Tester_Class_3.var_60 = (Tester_Class_1)(new Tester_Class_1().var_31 = new Tester_Class_2())) : (Tester_Class_3.var_60 = (new Tester_Class_1[var_72])[Tester_Class_3.var_58])).var_31 = (new Tester_Class_3[var_72 |= 546982927])[Tester_Class_3.var_58];
-+        long var_75 = 0L;
-+        final double var_76 = +arg_1;
-+        while (var_75 < 1)
-+        {
-+            short var_77;
-+            var_75++;
-+            new Tester_Class_3().var_57 = (false & true ? new Tester_Class_3() : new Tester_Class_3()).var_57;
-+            (Tester_Class_3.var_60 = (new Tester_Class_1[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_31 = (new Tester_Class_2[Tester_Class_3.var_58][var_72])[var_72][var_72];
-+        }
-+        Tester_Class_3.var_64 *= (arg_0 ? (Tester_Class_3.var_55 ^= (arg_0 ^= arg_0)) & ! (Tester_Class_3.var_55 = arg_0) : arg_0) ^ new Tester_Class_1().var_29 ? ++((new Tester_Class_3[var_72][var_72])[(new byte[Tester_Class_3.var_58])[Tester_Class_3.var_58]][(((new Tester_Class_4[var_72][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58]).var_69 = (new Tester_Class_3[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_61]).var_57 : 'C';
-+        long var_78;
-+        var_74 %= (Tester_Class_3.var_55 |= (arg_0 = (arg_0 ^= (arg_0 &= !arg_0)))) ? new Tester_Class_3().var_61 : (Tester_Class_3.var_63 ^= var_72);
-+        arg_1 /= (Tester_Class_2.var_46 &= 'W');
-+        --(((new Tester_Class_4[var_72])[var_72]).var_69 = (((new Tester_Class_4[var_72])[var_72]).var_69 = new Tester_Class_3())).var_61;
-+        return (new Tester_Class_1[var_72][Tester_Class_3.var_58])[var_72][new Tester_Class_3().var_61];
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_4.var_68 = "; result += Test6712835.Printer.print(var_68);
-+        result += "\n";
-+        result += "Tester_Class_4.var_66 = "; result += Test6712835.Printer.print(var_66);
-+        result += "\n";
-+        result += "Tester_Class_4.var_67 = "; result += Test6712835.Printer.print(var_67);
-+        result += "\n";
-+        result += "Tester_Class_4.var_70 = "; result += Test6712835.Printer.print(var_70);
-+        result += "\n";
-+        result += "Tester_Class_4.var_71 = "; result += Test6712835.Printer.print(var_71);
-+        result += "\n";
-+        result += "Tester_Class_4.var_69 = "; result += Test6712835.Printer.print(var_69);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_5 extends Tester_Class_0 {
-+    static boolean var_81;
-+    final int var_82 = 174395841;
-+    int var_83;
-+    byte var_84;
-+    boolean var_85 = Tester_Class_3.var_55;
-+    static boolean var_86 = Tester_Class_3.var_55;
-+
-+
-+    public Tester_Class_5()
-+    {
-+        {
-+            short var_87 = (new short[Tester_Class_3.var_58][var_84 = Tester_Class_3.var_58])[(((new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_69 = (Tester_Class_3)(Tester_Class_0)(new Object[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_61][Tester_Class_3.var_58];
-+            Tester_Class_4 var_88 = var_85 ^ (var_81 = false) ? (new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58] : (new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58];
-+            {
-+                ++var_87;
-+            }
-+            short var_89;
-+            (var_88.var_69 = (new Tester_Class_3[var_88.var_71][var_88.var_71])[var_88.var_71][var_88.var_71]).var_61 += (((Tester_Class_2)(new Tester_Class_1().var_31 = new Tester_Class_2())).var_3 = Tester_Class_3.var_58);
-+            var_88 = var_88;
-+        }
-+        {
-+            ++Tester_Class_2.var_46;
-+            --Tester_Class_2.var_46;
-+        }
-+        {
-+            Tester_Class_2.var_46++;
-+            Tester_Class_3.var_64 /= Tester_Class_3.var_59;
-+            ((Tester_Class_4)(new Object[Tester_Class_2.var_45 = Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_71 %= (var_3 /= 3637233239489444864L);
-+            ++Tester_Class_2.var_46;
-+        }
-+        new Tester_Class_3().var_57++;
-+        var_85 &= (Tester_Class_3.var_55 |= false);
-+        Tester_Class_3.var_60 = new Tester_Class_1();
-+        Tester_Class_2.var_46++;
-+        ((Tester_Class_3)(true ? (new Tester_Class_2[Tester_Class_3.var_58])[Tester_Class_3.var_58] : (new Tester_Class_0[Tester_Class_3.var_58])[Tester_Class_2.var_45 = Tester_Class_3.var_58])).var_57 *= ((new Tester_Class_3[Tester_Class_3.var_58])[(byte)'`']).var_57;
-+        var_3 += (int)Tester_Class_3.var_59 ^ (Tester_Class_2.var_46 -= Tester_Class_2.var_46) % ~((new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_71;
-+        ++Tester_Class_2.var_46;
-+        --Tester_Class_2.var_46;
-+        var_83 = Tester_Class_3.var_58;
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_5.var_82 = "; result += Test6712835.Printer.print(var_82);
-+        result += "\n";
-+        result += "Tester_Class_5.var_83 = "; result += Test6712835.Printer.print(var_83);
-+        result += "\n";
-+        result += "Tester_Class_5.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_5.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_5.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_5.var_84 = "; result += Test6712835.Printer.print(var_84);
-+        result += "\n";
-+        result += "Tester_Class_5.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_5.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_5.var_81 = "; result += Test6712835.Printer.print(var_81);
-+        result += "\n";
-+        result += "Tester_Class_5.var_85 = "; result += Test6712835.Printer.print(var_85);
-+        result += "\n";
-+        result += "Tester_Class_5.var_86 = "; result += Test6712835.Printer.print(var_86);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_6 extends Tester_Class_0 {
-+    long var_90 = 8467263472031702016L;
-+    final static int var_91 = 1648594448 * ']';
-+    char var_92 = 'x';
-+    short var_93 = Tester_Class_3.var_63;
-+    Tester_Class_4 var_94;
-+    String[] var_95;
-+    static short var_96 = Tester_Class_3.var_63 -= 83376045 << 40225606;
-+    final static double var_97 = 5.387227213380301E307;
-+    final static short var_98 = Tester_Class_3.var_63 &= var_91;
-+    byte var_99 = 44;
-+
-+
-+    public Tester_Class_6()
-+    {
-+        (Tester_Class_3.var_60 = (Tester_Class_1)(new Object[Tester_Class_3.var_58][var_99])[Tester_Class_3.var_58][var_99]).var_31 = true | true ? (Tester_Class_5)(new Object[var_99])[Tester_Class_3.var_58] : (Tester_Class_5)(new Object[Tester_Class_3.var_58])[var_99];
-+        var_92 &= 'p';
-+        Tester_Class_5.var_81 = (((new Tester_Class_1[var_99][Tester_Class_3.var_58])[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_29;
-+        {
-+            {
-+                ++Tester_Class_2.var_46;
-+                Tester_Class_3.var_2 = var_98;
-+                var_93 -= var_96;
-+            }
-+            Tester_Class_2.var_46--;
-+            {
-+                (var_5 == (((Tester_Class_3)(new Tester_Class_0[var_99])[Tester_Class_3.var_58]).var_61 /= var_5) ? "fsajxeuao".replace('s', 'K') : var_4).substring('e' >>> var_5).toLowerCase();
-+            }
-+            var_93 %= ((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_90;
-+            var_93 /= var_93;
-+            if (Tester_Class_5.var_86)
-+            {
-+                (var_94 = (new Tester_Class_4[var_99])[var_99]).var_69 = (new Tester_Class_3[var_99])[var_99 %= -var_90];
-+            }
-+            else
-+            {
-+                --var_96;
-+            }
-+            var_93 *= 'O';
-+            final long var_103 = 7573900518735055872L;
-+            --Tester_Class_3.var_63;
-+        }
-+        Tester_Class_3.var_64 /= var_93;
-+        if (true)
-+        {
-+            --Tester_Class_2.var_46;
-+            Tester_Class_5 var_104;
-+            final double var_105 = Tester_Class_3.var_64 += Tester_Class_5.var_86 & (new Tester_Class_2().var_1 & ((Tester_Class_3.var_55 = (var_1 ^= Tester_Class_5.var_86) & false) & (Tester_Class_5.var_81 = Tester_Class_5.var_86))) ? (byte)'g' : var_99;
-+            Tester_Class_3.var_64 *= var_99;
-+        }
-+        else
-+        {
-+            char var_106 = var_92 -= Tester_Class_3.var_58;
-+        }
-+        double[] var_107 = ((new double[Tester_Class_3.var_58][var_99][var_99])[var_99])[false ? Tester_Class_3.var_58 : Tester_Class_3.var_58];
-+        var_99 <<= (Tester_Class_3.var_63 >>= Tester_Class_3.var_58);
-+        ++var_99;
-+    }
-+
-+
-+
-+
-+    final static byte func_0(final byte arg_0, final char arg_1, final Tester_Class_5[] arg_2)
-+    {
-+        ((Tester_Class_4)(new Object[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][arg_0]).var_69 = (Tester_Class_3)(new Tester_Class_0[Tester_Class_3.var_58])[Tester_Class_2.var_45 = Tester_Class_3.var_58];
-+        long var_100 = 0L;
-+        Tester_Class_3.var_64 /= (Tester_Class_5.var_86 = true) || 'o' > (Tester_Class_3.var_63 -= (float)arg_0) ? var_98 : 1.7875238E38F;
-+        do
-+        {
-+            Tester_Class_3.var_64 %= var_5;
-+            var_100++;
-+            Tester_Class_3.var_64 += var_96 + 'r';
-+        } while (true && (var_100 < 1 && (new Tester_Class_1().var_29 ? new Tester_Class_1() : (new Tester_Class_1[arg_0][Tester_Class_3.var_58])[arg_0][Tester_Class_3.var_58]).var_29));
-+        (Tester_Class_3.var_55 ^ (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = new Tester_Class_1()))).var_29 ? new Tester_Class_3() : new Tester_Class_3()).var_57 = ((((new Tester_Class_6[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58]).var_94 = (((new Tester_Class_6[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][arg_0]).var_94 = (new Tester_Class_4[Tester_Class_3.var_58][arg_0])[Tester_Class_3.var_58][Tester_Class_3.var_58])).var_69 = new Tester_Class_3()).var_57;
-+        final double var_101 = 1.6798216578519203E308;
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = false ? new Tester_Class_1() : (Tester_Class_3.var_60 = new Tester_Class_1()));
-+        Tester_Class_2 var_102 = new Tester_Class_2();
-+        return Tester_Class_3.var_58;
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_6.var_92 = "; result += Test6712835.Printer.print(var_92);
-+        result += "\n";
-+        result += "Tester_Class_6.var_91 = "; result += Test6712835.Printer.print(var_91);
-+        result += "\n";
-+        result += "Tester_Class_6.var_95 = "; result += Test6712835.Printer.print(var_95);
-+        result += "\n";
-+        result += "Tester_Class_6.var_90 = "; result += Test6712835.Printer.print(var_90);
-+        result += "\n";
-+        result += "Tester_Class_6.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_6.var_97 = "; result += Test6712835.Printer.print(var_97);
-+        result += "\n";
-+        result += "Tester_Class_6.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_6.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_6.var_93 = "; result += Test6712835.Printer.print(var_93);
-+        result += "\n";
-+        result += "Tester_Class_6.var_96 = "; result += Test6712835.Printer.print(var_96);
-+        result += "\n";
-+        result += "Tester_Class_6.var_98 = "; result += Test6712835.Printer.print(var_98);
-+        result += "\n";
-+        result += "Tester_Class_6.var_99 = "; result += Test6712835.Printer.print(var_99);
-+        result += "\n";
-+        result += "Tester_Class_6.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_6.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_6.var_94 = "; result += Test6712835.Printer.print(var_94);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+abstract class Tester_Class_7 {
-+    final static char var_108 = '_';
-+    static Tester_Class_3 var_109;
-+    final short var_110 = 4360;
-+    short var_111;
-+    Object var_112;
-+    Tester_Class_4 var_113;
-+    static Tester_Class_5 var_114;
-+    final short var_115 = Tester_Class_6.var_96;
-+    final static float var_116 = Tester_Class_3.var_59;
-+
-+
-+    public Tester_Class_7()
-+    {
-+        --Tester_Class_2.var_46;
-+        --Tester_Class_6.var_96;
-+        var_113 = (new Tester_Class_4[new Tester_Class_6().var_99])[Tester_Class_3.var_58];
-+        --Tester_Class_2.var_46;
-+        Tester_Class_6.var_96--;
-+        Tester_Class_3.var_63 -= 'i';
-+        if (!Tester_Class_5.var_86)
-+        {
-+            Tester_Class_3.var_64 %= var_116;
-+            if ((Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)(Tester_Class_0)(var_112 = "yosyghjm"))).var_29)
-+            {
-+                Tester_Class_2.var_46++;
-+            }
-+            else
-+            {
-+                (var_114 = (var_114 = (Tester_Class_5)(Tester_Class_0)(var_112 = "bxt"))).var_83 = (Tester_Class_2.var_45 = (Tester_Class_2.var_45 = Tester_Class_3.var_58));
-+            }
-+            var_114 = (var_114 = (var_114 = (var_114 = (var_114 = (var_114 = (Tester_Class_5)(var_112 = "blrobgg"))))));
-+            var_113 = (((Tester_Class_6)(var_112 = "popebwfp")).var_94 = (new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58]);
-+        }
-+        else
-+        {
-+            Tester_Class_3.var_60 = new Tester_Class_1();
-+        }
-+        final Tester_Class_6 var_122 = new Tester_Class_6();
-+        var_122.var_92 &= (var_122.var_92 |= var_108);
-+        ((new Tester_Class_5[var_122.var_99])[((new Tester_Class_3[Tester_Class_3.var_58])[var_122.var_99--]).var_61]).var_83 = 1708230145;
-+    }
-+
-+
-+
-+    public boolean equals(Object obj)
-+    {
-+        (((Tester_Class_5.var_81 = (Tester_Class_5.var_81 = false)) ? (Tester_Class_3.var_55 &= false) : !Tester_Class_3.var_55 & ((Tester_Class_1)obj).var_29) ? (new Tester_Class_2[Tester_Class_3.var_58])[Tester_Class_3.var_58] : (Tester_Class_2)obj).equals((Tester_Class_5.var_86 |= Tester_Class_3.var_55) | (Tester_Class_3.var_55 = Tester_Class_3.var_55) ? obj : (Tester_Class_6)(Tester_Class_0)obj);
-+        Tester_Class_3.var_64 *= 2.8258473339654136E307;
-+        {
-+            final int var_118 = 1248523063;
-+            short var_119 = 30906;
-+            Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)obj);
-+            ((Tester_Class_6)(((Tester_Class_1)obj).var_31 = ((var_113 = (Tester_Class_4)obj).var_69 = (Tester_Class_3)obj))).var_94 = (var_113 = (Tester_Class_4)(var_112 = (Tester_Class_1)obj));
-+        }
-+        final Tester_Class_1 var_120 = false ^ (((Tester_Class_1)obj).var_1 = !true) ^ (((Tester_Class_6)(Tester_Class_0)obj).var_92 *= (((Tester_Class_3)obj).var_57 |= (Tester_Class_2.var_46 >>= 6986775136305733632L))) < (byte)Tester_Class_6.var_97 ? (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)obj)) : (true ? (Tester_Class_1)obj : (Tester_Class_1)obj);
-+        (var_114 = (var_114 = (Tester_Class_5)obj)).var_83 = (((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_92 &= ((Tester_Class_4)obj).var_70 << (Tester_Class_2.var_45 = Tester_Class_3.var_58));
-+        var_114 = (Tester_Class_5)obj;
-+        obj = ((Tester_Class_3.var_60 = var_120).var_29 ? false : false) ? (new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_3.var_58] : obj;
-+        (var_120.var_29 ? (Tester_Class_6)(obj = (Tester_Class_3.var_60 = var_120)) : (new Tester_Class_6[Tester_Class_3.var_58])[((Tester_Class_3)obj).var_61 ^= Tester_Class_6.var_91]).var_90 ^= 2127530040436251648L;
-+        Object var_121;
-+        return (new boolean[Tester_Class_3.var_58])[((var_113 = (Tester_Class_4)obj).var_69 = (var_109 = (new Tester_Class_3[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58])).var_61];
-+    }
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_7.var_108 = "; result += Test6712835.Printer.print(var_108);
-+        result += "\n";
-+        result += "Tester_Class_7.var_116 = "; result += Test6712835.Printer.print(var_116);
-+        result += "\n";
-+        result += "Tester_Class_7.var_110 = "; result += Test6712835.Printer.print(var_110);
-+        result += "\n";
-+        result += "Tester_Class_7.var_111 = "; result += Test6712835.Printer.print(var_111);
-+        result += "\n";
-+        result += "Tester_Class_7.var_115 = "; result += Test6712835.Printer.print(var_115);
-+        result += "\n";
-+        result += "Tester_Class_7.var_114 = "; result += Test6712835.Printer.print(var_114);
-+        result += "\n";
-+        result += "Tester_Class_7.var_113 = "; result += Test6712835.Printer.print(var_113);
-+        result += "\n";
-+        result += "Tester_Class_7.var_109 = "; result += Test6712835.Printer.print(var_109);
-+        result += "\n";
-+        result += "Tester_Class_7.var_112 = "; result += Test6712835.Printer.print(var_112);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_8 extends Tester_Class_7 {
-+    static char var_123;
-+    Tester_Class_4 var_124;
-+    static short var_125;
-+
-+
-+    public Tester_Class_8()
-+    {
-+        {
-+            Tester_Class_3.var_64 -= (Tester_Class_2.var_46 *= Tester_Class_3.var_64);
-+            {
-+                Tester_Class_2.var_46--;
-+            }
-+            ++Tester_Class_3.var_63;
-+            Tester_Class_5.var_86 |= true;
-+            Tester_Class_6.var_96--;
-+        }
-+        "w".indexOf(312689020);
-+        if (false)
-+        {
-+            (Tester_Class_7.var_114 = (new Tester_Class_5[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_83 = 'I';
-+        }
-+        else
-+        {
-+            --Tester_Class_6.var_96;
-+        }
-+        switch (Tester_Class_5.var_86 ? Tester_Class_3.var_58 : Tester_Class_3.var_58)
-+        {
-+            case 95:
-+
-+            case 35:
-+
-+        }
-+        Tester_Class_6.var_96--;
-+        Tester_Class_3.var_64 *= 4.516167673347119E307;
-+        --Tester_Class_3.var_63;
-+        {
-+            int var_126;
-+        }
-+        Tester_Class_3.var_60 = new Tester_Class_1();
-+        Tester_Class_2.var_46++;
-+        ((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_99 &= Tester_Class_6.var_91;
-+        ((new Tester_Class_1[((new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_71])[((Tester_Class_3)(var_112 = "fsmtm")).var_61]).var_31 = (Tester_Class_2)(new Tester_Class_0[Tester_Class_3.var_58])[Tester_Class_3.var_58];
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_8.var_108 = "; result += Test6712835.Printer.print(var_108);
-+        result += "\n";
-+        result += "Tester_Class_8.var_123 = "; result += Test6712835.Printer.print(var_123);
-+        result += "\n";
-+        result += "Tester_Class_8.var_116 = "; result += Test6712835.Printer.print(var_116);
-+        result += "\n";
-+        result += "Tester_Class_8.var_110 = "; result += Test6712835.Printer.print(var_110);
-+        result += "\n";
-+        result += "Tester_Class_8.var_111 = "; result += Test6712835.Printer.print(var_111);
-+        result += "\n";
-+        result += "Tester_Class_8.var_115 = "; result += Test6712835.Printer.print(var_115);
-+        result += "\n";
-+        result += "Tester_Class_8.var_125 = "; result += Test6712835.Printer.print(var_125);
-+        result += "\n";
-+        result += "Tester_Class_8.var_114 = "; result += Test6712835.Printer.print(var_114);
-+        result += "\n";
-+        result += "Tester_Class_8.var_113 = "; result += Test6712835.Printer.print(var_113);
-+        result += "\n";
-+        result += "Tester_Class_8.var_124 = "; result += Test6712835.Printer.print(var_124);
-+        result += "\n";
-+        result += "Tester_Class_8.var_109 = "; result += Test6712835.Printer.print(var_109);
-+        result += "\n";
-+        result += "Tester_Class_8.var_112 = "; result += Test6712835.Printer.print(var_112);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_9 {
-+    final static String var_127 = "pxk";
-+    Tester_Class_2 var_128;
-+    final static char var_129 = '\\';
-+    static float var_130;
-+    static boolean var_131;
-+    final static float var_132 = Tester_Class_3.var_59;
-+    static Tester_Class_0 var_133;
-+    boolean[] var_134;
-+
-+
-+    public Tester_Class_9()
-+    {
-+        Tester_Class_2.var_44 -= Tester_Class_3.var_58;
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (new Tester_Class_1[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58]));
-+        {
-+            Tester_Class_8 var_136;
-+        }
-+        ++Tester_Class_2.var_46;
-+        Tester_Class_6.var_96--;
-+        var_128 = (var_128 = (var_128 = (Tester_Class_2)(var_133 = (new Tester_Class_1[Tester_Class_3.var_58])[Tester_Class_3.var_58])));
-+        ++Tester_Class_6.var_96;
-+        ++Tester_Class_2.var_46;
-+        Tester_Class_4 var_137;
-+        var_128 = (var_128 = (new Tester_Class_2[Tester_Class_3.var_58])[Tester_Class_3.var_58]);
-+        (Tester_Class_8.var_114 = (Tester_Class_8.var_114 = (new Tester_Class_5[Tester_Class_3.var_58])[Tester_Class_3.var_58])).var_83 = (((new Tester_Class_4[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58]).var_69 = (new Tester_Class_3[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58]).var_57++;
-+        Tester_Class_2.var_46++;
-+    }
-+
-+
-+
-+
-+    protected static short func_1()
-+    {
-+        {
-+            Tester_Class_3.var_63--;
-+        }
-+        Tester_Class_3.var_64 *= Tester_Class_2.var_46;
-+        short var_135;
-+        Tester_Class_3.var_64 -= Tester_Class_6.var_96;
-+        return new Tester_Class_6().var_93;
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_9.var_129 = "; result += Test6712835.Printer.print(var_129);
-+        result += "\n";
-+        result += "Tester_Class_9.var_134 = "; result += Test6712835.Printer.print(var_134);
-+        result += "\n";
-+        result += "Tester_Class_9.var_130 = "; result += Test6712835.Printer.print(var_130);
-+        result += "\n";
-+        result += "Tester_Class_9.var_132 = "; result += Test6712835.Printer.print(var_132);
-+        result += "\n";
-+        result += "Tester_Class_9.var_131 = "; result += Test6712835.Printer.print(var_131);
-+        result += "\n";
-+        result += "Tester_Class_9.var_127 = "; result += Test6712835.Printer.print(var_127);
-+        result += "\n";
-+        result += "Tester_Class_9.var_128 = "; result += Test6712835.Printer.print(var_128);
-+        result += "\n";
-+        result += "Tester_Class_9.var_133 = "; result += Test6712835.Printer.print(var_133);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+final class Tester_Class_10 extends Tester_Class_0 {
-+    final static byte var_138 = 78;
-+    Object var_139;
-+    final static boolean var_140 = true;
-+    float var_141 = 1.2816267E38F;
-+    Tester_Class_8 var_142;
-+    static Tester_Class_3 var_143;
-+    short var_144 = var_1 ? (Tester_Class_6.var_96 &= 8024552544994698240L) : Tester_Class_0.var_5;
-+    final boolean var_145 = var_140;
-+    long var_146;
-+    float[] var_147;
-+
-+
-+    public Tester_Class_10()
-+    {
-+        "xuc".codePointCount(new Tester_Class_6().var_99 / ((new Tester_Class_9().var_128 = new Tester_Class_2()).var_1 ? var_138 : (int)(Tester_Class_3.var_64 += Tester_Class_3.var_64)), 882345740);
-+        Tester_Class_3.var_64 /= Tester_Class_9.var_132;
-+        Tester_Class_9.var_127.indexOf((Tester_Class_7.var_114 = (Tester_Class_8.var_114 = (Tester_Class_5)(var_139 = "mcyagebtv"))).var_83 = var_145 ? (Tester_Class_2.var_45 = Tester_Class_3.var_58) : Tester_Class_6.var_96);
-+        --Tester_Class_2.var_46;
-+        final float var_148 = 3.0263434E38F;
-+        ((Tester_Class_7.var_114 = (Tester_Class_5)(Tester_Class_9.var_133 = new Tester_Class_1())).var_85 & ((Tester_Class_1)(var_139 = new Tester_Class_6())).var_1 ? "gmxwrgik" : Tester_Class_9.var_127).compareTo(var_4);
-+        --Tester_Class_2.var_46;
-+        new Tester_Class_6();
-+        ++Tester_Class_2.var_46;
-+        Tester_Class_3.var_60 = Tester_Class_5.var_86 ? new Tester_Class_1() : new Tester_Class_1();
-+        {
-+            --Tester_Class_6.var_96;
-+            ((Tester_Class_7)(var_139 = new Tester_Class_1().var_4)).var_112 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)(var_139 = "gugsy")));
-+        }
-+        Tester_Class_9.var_133 = (Tester_Class_3.var_60 = new Tester_Class_1());
-+        if (var_140 & !var_140)
-+        {
-+            Tester_Class_6.var_96++;
-+        }
-+        else
-+        {
-+            Tester_Class_2.var_46++;
-+        }
-+        {
-+            ++new Tester_Class_6().var_92;
-+        }
-+        Tester_Class_7.var_109 = (((new Tester_Class_4[Tester_Class_3.var_58])[Tester_Class_3.var_58]).var_69 = (var_143 = new Tester_Class_3()));
-+        Tester_Class_3.var_63--;
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_10.var_147 = "; result += Test6712835.Printer.print(var_147);
-+        result += "\n";
-+        result += "Tester_Class_10.var_146 = "; result += Test6712835.Printer.print(var_146);
-+        result += "\n";
-+        result += "Tester_Class_10.var_3 = "; result += Test6712835.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_10.var_141 = "; result += Test6712835.Printer.print(var_141);
-+        result += "\n";
-+        result += "Tester_Class_10.var_5 = "; result += Test6712835.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_10.var_144 = "; result += Test6712835.Printer.print(var_144);
-+        result += "\n";
-+        result += "Tester_Class_10.var_138 = "; result += Test6712835.Printer.print(var_138);
-+        result += "\n";
-+        result += "Tester_Class_10.var_1 = "; result += Test6712835.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_10.var_140 = "; result += Test6712835.Printer.print(var_140);
-+        result += "\n";
-+        result += "Tester_Class_10.var_145 = "; result += Test6712835.Printer.print(var_145);
-+        result += "\n";
-+        result += "Tester_Class_10.var_139 = "; result += Test6712835.Printer.print(var_139);
-+        result += "\n";
-+        result += "Tester_Class_10.var_142 = "; result += Test6712835.Printer.print(var_142);
-+        result += "\n";
-+        result += "Tester_Class_10.var_2 = "; result += Test6712835.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_10.var_4 = "; result += Test6712835.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_10.var_143 = "; result += Test6712835.Printer.print(var_143);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+interface Tester_Interface_11 {
-+    public Tester_Class_4 func_0(final int arg_0, final byte arg_1);
-+    public Tester_Class_2 func_1(Tester_Class_5 arg_0, final Tester_Class_0 arg_1, final int arg_2);
-+}
-+
-+public class Test6712835 {
-+    final boolean var_149 = false;
-+    Tester_Class_8 var_150;
-+    final long var_151 = 8058077687473630208L;
-+
-+
-+    protected final Tester_Class_1 func_0(final Object arg_0, Tester_Class_3 arg_1, final Tester_Class_4 arg_2, int arg_3)
-+    {
-+        Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)arg_0));
-+        --Tester_Class_3.var_63;
-+        (var_150 = (((new Tester_Class_10[arg_2.var_71])[(((Tester_Class_6)arg_0).var_94 = arg_2).var_71 &= Tester_Class_3.var_63 << ~arg_2.var_71]).var_142 = (var_150 = (((Tester_Class_10)arg_0).var_142 = (Tester_Class_8)arg_0)))).var_113 = arg_2;
-+        Tester_Class_7.var_114 = (Tester_Class_7.var_114 = false ? (Tester_Class_5)arg_0 : (Tester_Class_5)arg_0);
-+        ((((arg_1 = arg_1).var_1 |= "lgcrda".equalsIgnoreCase("ontlkst")) ? (Tester_Class_1)arg_0 : (Tester_Class_3.var_60 = (Tester_Class_1)arg_0)).var_29 ? (arg_1 = (Tester_Class_3)(((Tester_Class_7)arg_0).var_112 = (Tester_Class_9)arg_0)) : arg_1).var_57 >>>= ']';
-+        Tester_Class_8.var_114 = (Tester_Class_5)arg_0;
-+        ((Tester_Class_3.var_55 &= (arg_1.var_1 = true)) ? (Tester_Class_6)(new Tester_Class_0[Tester_Class_3.var_58][Tester_Class_10.var_138])[Tester_Class_10.var_138][Tester_Class_10.var_138] : (Tester_Class_6)arg_0).var_94 = arg_2;
-+        {
-+            Tester_Class_3.var_55 &= ((Tester_Class_3.var_60 = new Tester_Class_1()).var_1 &= false);
-+            Tester_Class_2.var_44 -= (arg_3 |= + ~6610561718704644096L);
-+            ((Tester_Class_8)arg_0).var_113 = ((((Tester_Class_10)(Tester_Class_0)arg_0).var_142 = (var_150 = (Tester_Class_8)arg_0)).var_124 = arg_2);
-+            (! (false | Tester_Class_5.var_86) ? (Tester_Class_10)arg_0 : (new Tester_Class_10[arg_1.var_61][arg_1.var_61])[Tester_Class_10.var_138][Tester_Class_10.var_138]).var_139 = ((Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)arg_0)).var_31 = (((Tester_Class_9)arg_0).var_128 = (((Tester_Class_9)arg_0).var_128 = (Tester_Class_2)arg_0)));
-+        }
-+        final Tester_Interface_11 var_152 = !((Tester_Class_1)arg_0).var_29 ^ Tester_Class_5.var_86 ? (new Tester_Interface_11[arg_2.var_71][arg_1.var_61])[arg_1.var_61][arg_1.var_61] : (new Tester_Interface_11[arg_2.var_71][arg_2.var_71])[Tester_Class_10.var_138][Tester_Class_3.var_58];
-+        Tester_Class_3.var_64 /= (arg_3 >>= ++((Tester_Class_6)(Tester_Class_0)arg_0).var_92) * Tester_Class_9.var_132;
-+        Tester_Class_0 var_153 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)arg_0))))).var_31 = (((new Tester_Class_9[arg_1.var_61])[arg_1.var_61 *= 634692606]).var_128 = !false ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0);
-+        (Tester_Class_10.var_140 ? (Tester_Class_7)arg_0 : (var_150 = (Tester_Class_8)(Tester_Class_7)arg_0)).var_112 = Tester_Class_3.var_64 != ((((Tester_Class_10)(var_153 = (Tester_Class_8.var_114 = (Tester_Class_5)arg_0))).var_1 |= arg_1.var_1) ? (Tester_Class_6)var_153 : (Tester_Class_6)var_153).var_99-- ? (Tester_Class_7)((var_150 = (Tester_Class_8)arg_0).var_112 = (Tester_Class_10)var_153) : (Tester_Class_7)arg_0;
-+        (((new Tester_Class_7[Tester_Class_10.var_138][arg_2.var_71])[Tester_Class_3.var_58])[arg_2.var_71]).var_112 = arg_0;
-+        if (!false)
-+        {
-+            arg_3 <<= (Tester_Class_2.var_46 /= - ((byte)((Tester_Class_10)arg_0).var_144)) - ((Tester_Class_6)arg_0).var_99;
-+        }
-+        else
-+        {
-+            ((Tester_Class_7)(((Tester_Class_8)arg_0).var_112 = var_153)).var_113 = arg_2;
-+            ((Tester_Class_9)arg_0).var_128 = (((Tester_Class_9)(((Tester_Class_7)arg_0).var_112 = (Tester_Class_7)arg_0)).var_128 = (((Tester_Class_9)arg_0).var_128 = (Tester_Class_2)arg_0));
-+        }
-+        (((Tester_Class_10)arg_0).var_142 = (Tester_Class_8)arg_0).var_124 = (((Tester_Class_6)var_153).var_94 = arg_2);
-+        final char var_154 = arg_1.var_57 %= ((Tester_Class_6)var_153).var_93--;
-+        (true ? arg_1 : (arg_1 = arg_1)).equals(arg_0);
-+        (Tester_Class_10.var_140 ? (new Tester_Class_6[Tester_Class_10.var_138])[arg_2.var_71] : (new Tester_Class_6[(Tester_Class_10.var_143 = arg_1).var_61])[arg_1.var_61]).var_94 = ((((new Tester_Class_7[arg_2.var_71][arg_1.var_61][Tester_Class_10.var_138])[Tester_Class_10.var_138])[arg_2.var_71 = arg_2.var_71][Tester_Class_10.var_138]).var_113 = (((Tester_Class_7)arg_0).var_113 = arg_2));
-+        Tester_Class_3.var_60 = ((Tester_Class_10)(((Tester_Class_7)arg_0).var_112 = (Tester_Class_7)(((Tester_Class_10)var_153).var_139 = new Tester_Class_6[Tester_Class_10.var_138][Tester_Class_10.var_138]))).var_1 ? (Tester_Class_3.var_60 = (Tester_Class_1)var_153) : (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)(Tester_Class_9.var_133 = (Tester_Class_10)arg_0)));
-+        ((Tester_Class_7)(((Tester_Class_10)arg_0).var_139 = new Tester_Class_10[Tester_Class_3.var_58][--arg_2.var_71])).var_112 = new byte[(((Tester_Class_8)(Tester_Class_7)((var_150 = (var_150 = (Tester_Class_8)arg_0)).var_112 = arg_2)).var_113 = (((Tester_Class_7)arg_0).var_113 = arg_2)).var_71];
-+        Tester_Class_8 var_155;
-+        (Tester_Class_3.var_55 & arg_2.equals(arg_0) ? (Tester_Class_10)var_153 : (Tester_Class_10)var_153).var_3 %= Tester_Class_6.var_91;
-+        return ((Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)var_153)))).var_29 ? ! !true : Tester_Class_10.var_140 | Tester_Class_3.var_55) || Tester_Class_3.var_55 ? (Tester_Class_3.var_60 = (Tester_Class_1)(((Tester_Class_10)var_153).var_139 = (Tester_Class_6)var_153)) : new Tester_Class_1();
-+    }
-+
-+    protected Tester_Class_5 func_1(Tester_Class_0 arg_0, final float arg_1)
-+    {
-+        (!Tester_Class_10.var_140 ? (Tester_Class_6)arg_0 : (Tester_Class_6)arg_0).var_90 /= ((Tester_Class_8.var_109 = (new boolean[Tester_Class_10.var_138][Tester_Class_3.var_58])[((Tester_Class_6)arg_0).var_99][Tester_Class_10.var_138] ? (Tester_Class_3)((Tester_Class_3.var_60 = (Tester_Class_1)arg_0).var_31 = (Tester_Class_6)arg_0) : (Tester_Class_3)arg_0).var_61 *= Tester_Class_3.var_58);
-+        {
-+            "".toLowerCase();
-+        }
-+        ((Tester_Class_10)arg_0).var_139 = new Tester_Class_8();
-+        arg_0 = (new Tester_Class_6[((Tester_Class_6)arg_0).var_99])[Tester_Class_3.var_58];
-+        if (((Tester_Class_10)(arg_0 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)arg_0)))).var_145)
-+        {
-+            Tester_Class_3.var_63++;
-+        }
-+        else
-+        {
-+            ++Tester_Class_2.var_46;
-+        }
-+        (((Tester_Class_3.var_55 ^= Tester_Class_3.var_55 ^ true) ? (Tester_Class_10)arg_0 : (Tester_Class_10)arg_0).var_145 || true ? (Tester_Class_6)arg_0 : (Tester_Class_6)(((Tester_Class_7)(((Tester_Class_10)arg_0).var_139 = (Tester_Class_10)arg_0)).var_112 = "jlixai")).var_99--;
-+        Tester_Class_5.var_81 = Tester_Class_3.var_55 && ! (arg_0.var_1 = arg_0.var_1);
-+        {
-+            ((new Tester_Class_6[Tester_Class_3.var_58])[(true ? (Tester_Class_6)(Tester_Class_9.var_133 = (Tester_Class_10)arg_0) : (Tester_Class_6)(((Tester_Class_1)arg_0).var_31 = (Tester_Class_10)arg_0)).var_99]).var_90 *= (Tester_Class_3.var_64 %= Tester_Class_3.var_63);
-+        }
-+        ++Tester_Class_2.var_46;
-+        Tester_Class_0 var_156;
-+        Tester_Class_2.var_46++;
-+        Tester_Class_8.var_114 = (Tester_Class_7.var_114 = (Tester_Class_8.var_114 = (Tester_Class_5)arg_0));
-+        Tester_Class_6.func_2((Tester_Class_7.var_114 = (Tester_Class_7.var_114 = (Tester_Class_7.var_114 = (Tester_Class_5)arg_0))).var_83 = (byte)(((Tester_Class_10)arg_0).var_142 = (new Tester_Class_8[Tester_Class_3.var_58][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_10.var_138]).var_110, Tester_Class_6.var_96, (new byte[Tester_Class_3.var_58])[Tester_Class_10.var_138]);
-+        Tester_Class_7.var_114 = (new Tester_Class_5[Tester_Class_10.var_138])[((Tester_Class_3)arg_0).var_61];
-+        boolean var_157 = Tester_Class_10.var_140;
-+        (Tester_Class_3.var_60 = (Tester_Class_1)arg_0).var_1 ^= Tester_Class_10.var_140;
-+        return Tester_Class_8.var_114 = (Tester_Class_7.var_114 = (Tester_Class_8.var_114 = (Tester_Class_5)arg_0));
-+    }
-+
-+    final static int func_2(Tester_Class_6 arg_0)
-+    {
-+        new Tester_Class_9();
-+        {
-+            ++Tester_Class_3.var_63;
-+        }
-+        new Tester_Class_3().var_57--;
-+        Tester_Class_1 var_158;
-+        String var_159;
-+        --Tester_Class_6.var_96;
-+        {
-+            new String();
-+        }
-+        var_159 = (var_159 = arg_0.var_4);
-+        {
-+            --Tester_Class_2.var_46;
-+        }
-+        final double var_160 = (Tester_Class_7.var_114 = (Tester_Class_8.var_114 = (Tester_Class_8.var_114 = (Tester_Class_5)(new Tester_Class_0[arg_0.var_99][arg_0.var_99])[Tester_Class_3.var_58][Tester_Class_3.var_58]))).var_1 ? Tester_Class_9.var_132 : Tester_Class_6.var_97;
-+        Tester_Class_8 var_161;
-+        char var_162 = 'O';
-+        Tester_Class_2.var_46++;
-+        Tester_Class_6.var_96++;
-+        {
-+            new String();
-+        }
-+        ++Tester_Class_6.var_96;
-+        var_162 >>= ((new Tester_Class_4[arg_0.var_99])[arg_0.var_99++]).var_70 >> Tester_Class_6.var_91;
-+        (Tester_Class_7.var_114 = (Tester_Class_7.var_114 = (new Tester_Class_5[Tester_Class_3.var_58])[++arg_0.var_99])).var_83 = (arg_0.var_93 <<= Tester_Class_7.var_108);
-+        --Tester_Class_6.var_96;
-+        {
-+            new Tester_Class_9().var_128 = new Tester_Class_2();
-+        }
-+        arg_0 = arg_0;
-+        {
-+            Tester_Class_9 var_163;
-+        }
-+        ((Tester_Class_5)(Tester_Class_9.var_133 = arg_0)).var_83 = (arg_0.var_99 >>= Tester_Class_5.var_5);
-+        arg_0.var_99 = Tester_Class_10.var_138;
-+        Tester_Class_3.var_60 = (var_158 = (Tester_Class_3.var_60 = (Tester_Class_1)(Tester_Class_9.var_133 = arg_0)));
-+        return Tester_Class_6.var_91;
-+    }
-+
-+    protected final Tester_Class_9 func_3()
-+    {
-+        Tester_Class_2.var_44 = 3210658399310388224L;
-+        ++Tester_Class_6.var_96;
-+        short var_164 = 15978;
-+        var_164++;
-+        Tester_Class_5.var_81 = true;
-+        return Tester_Class_3.var_55 ? new Tester_Class_9() : new Tester_Class_9();
-+    }
-+
-+    final static Tester_Class_10 func_4(Tester_Class_3 arg_0, String arg_1, final byte[] arg_2, final Object arg_3)
-+    {
-+        Tester_Class_1 var_165;
-+        Tester_Class_3.var_63 += new Tester_Class_6().var_92 >= 3821095133162842112L ? (arg_0.var_61 |= Tester_Class_6.var_91) : Tester_Class_10.var_138;
-+        return false ? ((var_165 = (Tester_Class_1)arg_3).var_29 ? (Tester_Class_10)arg_3 : (Tester_Class_10)arg_3) : (Tester_Class_10)(Tester_Class_0)arg_3;
-+    }
-+
-+    private static Object func_7(final short arg_0, String arg_1, final Tester_Class_3 arg_2)
-+    {
-+        Tester_Class_3.var_60 = (new Tester_Class_1[arg_2.var_61])[Tester_Class_10.var_138];
-+        return ((new Tester_Class_7[arg_2.var_61 |= Tester_Class_3.var_63])[arg_2.var_61 *= Tester_Class_6.var_98]).var_112 = new Tester_Class_8();
-+    }
-+
-+    public static String execute()
-+    {
-+        try {
-+            Test6712835 t = new Test6712835();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { return t.toString(); }
-+            catch (Throwable e) { return "Error during result conversion to String"; }
-+        } catch (Throwable e) { return "Error during test execution"; }
-+    }
-+
-+    public static void main(String[] args)
-+    {
-+        try {
-+            Test6712835 t = new Test6712835();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { System.out.println(t); }
-+            catch(Throwable e) { }
-+        } catch (Throwable e) { }
-+    }
-+
-+    private void test()
-+    {
-+        Tester_Class_3.var_60 = true ? (Tester_Class_3.var_60 = new Tester_Class_1()) : new Tester_Class_1();
-+        double var_170 = 0;
-+        Tester_Class_9.var_133 = (new Tester_Class_4().var_69 = new Tester_Class_3());
-+        new Tester_Class_6();
-+        String var_171;
-+        new Tester_Class_9();
-+        do
-+        {
-+            new String();
-+            var_170++;
-+            Tester_Class_3.var_64 = 1.0240330514364089E307;
-+            new String();
-+            var_171 = (var_171 = Tester_Class_9.var_127);
-+            Tester_Class_3.var_63--;
-+        } while (var_170 < 525);
-+        ((new Tester_Class_10[Tester_Class_10.var_138])[Tester_Class_2.var_45 = Tester_Class_3.var_58]).var_142 = (Tester_Class_8)(Tester_Class_7)(new Tester_Class_10().var_139 = new Tester_Class_2());
-+        long var_172 = 0L;
-+        Tester_Class_3.var_64 /= (((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_10.var_138]).var_99 ^= ((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_10.var_138]).var_90) > 9.462466046830147E307 ? new Tester_Class_6().var_99 : Tester_Class_3.var_58;
-+        short var_173;
-+        (true ? new Tester_Class_2() : (func_3().var_128 = new Tester_Class_2())).var_3 *= (var_150 = new Tester_Class_8()).var_115;
-+        (Tester_Class_3.var_60 = new Tester_Class_1()).var_31 = (((new Tester_Class_9[Tester_Class_3.var_58])[Tester_Class_10.var_138]).var_128 = (func_3().var_128 = (func_3().var_128 = (new Tester_Class_9().var_128 = new Tester_Class_2()))));
-+        for (((new Tester_Class_10[new Tester_Class_6().var_99])[new Tester_Class_6().var_99++]).var_142 = (new Tester_Class_8[Tester_Class_10.var_138])[Tester_Class_3.var_58]; var_172 < 203 && (Tester_Class_3.var_55 &= (new boolean[Tester_Class_2.var_45 = Tester_Class_3.var_58])[Tester_Class_10.var_138]); Tester_Class_9.var_133 = (Tester_Class_7.var_114 = (new Tester_Class_5[Tester_Class_2.var_45 = Tester_Class_10.var_138][Tester_Class_10.var_138])[Tester_Class_3.var_58][Tester_Class_2.var_45 = Tester_Class_3.var_58]))
-+        {
-+            var_171 = Tester_Class_9.var_127;
-+            var_172++;
-+            Tester_Class_3.var_63++;
-+            Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_1)(new Object[Tester_Class_3.var_58][Tester_Class_10.var_138])[Tester_Class_3.var_58][Tester_Class_3.var_58])));
-+            ++Tester_Class_2.var_46;
-+            Tester_Class_2.var_46--;
-+            Tester_Class_3.var_64 -= Tester_Class_3.var_58;
-+        }
-+        (Tester_Class_3.var_60 = new Tester_Class_1()).var_31 = ((new Tester_Class_8().var_124 = new Tester_Class_4()).var_69 = new Tester_Class_3());
-+        int var_174 = 0;
-+        ((new Tester_Class_6[Tester_Class_10.var_138][Tester_Class_10.var_138])[Tester_Class_2.var_45 = Tester_Class_10.var_138][Tester_Class_2.var_45 = Tester_Class_3.var_58]).var_92 = 'Z';
-+        while ((Tester_Class_9.var_131 = Tester_Class_3.var_55) && (var_174 < 24 && !true))
-+        {
-+            new Tester_Class_10();
-+            var_174++;
-+            Tester_Class_3.var_64 %= (((new Tester_Class_6[Tester_Class_3.var_58])[Tester_Class_2.var_45 = Tester_Class_3.var_58]).var_93 ^= (byte)Tester_Class_3.var_59);
-+            ((Tester_Class_10)(Tester_Class_9.var_133 = (new Tester_Class_5[((Tester_Class_6)(new Tester_Class_0[Tester_Class_10.var_138])[(byte)(Tester_Class_2.var_46 >>>= Tester_Class_7.var_108)]).var_99])[Tester_Class_10.var_138])).var_139 = (new Tester_Class_10[new Tester_Class_6().var_99][new Tester_Class_4().var_71])[new Tester_Class_4().var_71];
-+        }
-+        int var_175 = 0;
-+        (Tester_Class_10.var_140 ? (Tester_Class_2)(Tester_Class_9.var_133 = (Tester_Class_7.var_114 = (new Tester_Class_5[Tester_Class_10.var_138])[Tester_Class_10.var_138])) : new Tester_Class_2()).var_1 &= Tester_Class_3.var_55;
-+        do
-+        {
-+            Tester_Class_10.var_143 = new Tester_Class_3();
-+            var_175++;
-+            ++Tester_Class_2.var_46;
-+        } while ((false ? true : var_149) | !Tester_Class_10.var_140 && var_175 < 97);
-+        Tester_Class_9.var_131 = true;
-+        (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = (Tester_Class_3.var_60 = new Tester_Class_1())))).var_1 &= (((new Tester_Class_10().var_1 = !true) ? new Tester_Class_10() : new Tester_Class_10()).var_145 ? new Tester_Class_3() : new Tester_Class_3()).var_1;
-+        (true ? func_3() : func_3()).var_128 = ((((Tester_Class_5.var_86 = (Tester_Class_3.var_55 &= !var_149)) ? new Tester_Class_10() : new Tester_Class_10()).var_145 ? new Tester_Class_9() : func_3()).var_128 = var_149 ? new Tester_Class_2() : new Tester_Class_2());
-+        Tester_Class_3.var_59 -= (Tester_Class_5.var_81 = new Tester_Class_1().var_29) ^ !true ? 7920143378515332096L : new Tester_Class_6().var_92;
-+        ((Tester_Class_3.var_60 = new Tester_Class_1()).var_1 ? (new Tester_Class_5[Tester_Class_10.var_138][Tester_Class_3.var_58])[Tester_Class_3.var_58][Tester_Class_3.var_58] : (Tester_Class_8.var_114 = new Tester_Class_5())).var_83 = Tester_Class_10.var_140 ? (Tester_Class_3.var_63 -= 2.0167496E38F) : ++Tester_Class_3.var_63;
-+        double var_176 = 9.327780852480363E307;
-+    }
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Test6712835.var_151 = "; result += Printer.print(var_151);
-+        result += "\n";
-+        result += "Test6712835.var_149 = "; result += Printer.print(var_149);
-+        result += "\n";
-+        result += "Test6712835.var_150 = "; result += Printer.print(var_150);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+    static class Printer
-+    {
-+        public static String print(boolean arg) { return String.valueOf(arg); }
-+        public static String print(byte arg)    { return String.valueOf(arg); }
-+        public static String print(short arg)   { return String.valueOf(arg); }
-+        public static String print(char arg)    { return String.valueOf((int)arg); }
-+        public static String print(int arg)     { return String.valueOf(arg); }
-+        public static String print(long arg)    { return String.valueOf(arg); }
-+        public static String print(float arg)   { return String.valueOf(arg); }
-+        public static String print(double arg)  { return String.valueOf(arg); }
-+
-+
-+        public static String print(Object arg)
-+        {
-+            return print_r(new java.util.Stack(), arg);
-+        }
-+
-+        private static String print_r(java.util.Stack visitedObjects, Object arg)
-+        {
-+            String result = "";
-+            if (arg == null)
-+                result += "null";
-+            else
-+            if (arg.getClass().isArray())
-+            {
-+                for (int i = 0; i < visitedObjects.size(); i++)
-+                    if (visitedObjects.elementAt(i) == arg) return "<recursive>";
-+
-+                visitedObjects.push(arg);
-+
-+                final String delimiter = ", ";
-+                result += "[";
-+
-+                if (arg instanceof Object[])
-+                {
-+                    Object[] array = (Object[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print_r(visitedObjects, array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof boolean[])
-+                {
-+                    boolean[] array = (boolean[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof byte[])
-+                {
-+                    byte[] array = (byte[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof short[])
-+                {
-+                    short[] array = (short[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof char[])
-+                {
-+                    char[] array = (char[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof int[])
-+                {
-+                     int[] array = (int[]) arg;
-+                     for (int i = 0; i < array.length; i++)
-+                     {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                     }
-+                }
-+                else
-+                if (arg instanceof long[])
-+                {
-+                    long[] array = (long[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof float[])
-+                {
-+                    float[] array = (float[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof double[])
-+                {
-+                    double[] array = (double[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+
-+                result += "]";
-+                visitedObjects.pop();
-+
-+            } else
-+            {
-+                result += arg.toString();
-+            }
-+
-+            return result;
-+        }
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6714694/Tester.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6714694/Tester.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,820 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6714694
-+ * @summary assertion in 64bit server vm (store->find_edge(load) != -1,"missing precedence edge") with COOPs
-+ * @run main/othervm -Xcomp Tester
-+ */
-+
-+/* Complexity upper bound: 38602 ops */
-+
-+interface Tester_Interface_0 {
-+}
-+
-+
-+abstract class Tester_Class_1 implements Tester_Interface_0 {
-+    static int var_1 = (false ? (short)'b' : (short)-2.4256387E38F) | (byte)('g' * -7.660532860983624E307);
-+    float var_2;
-+    byte var_3;
-+    static boolean var_4 = true;
-+    double var_5 = 8.818325751338691E307;
-+    Object var_6;
-+    static short var_7;
-+    final static char var_8 = 'x';
-+    final static float var_9 = 2.2030989E38F;
-+
-+
-+    public Tester_Class_1()
-+    {
-+        var_6 = (var_6 = (var_6 = "xkx"));
-+        switch (var_7 = (var_3 = (byte)var_5))
-+        {
-+            case 113:
-+
-+            case 114:
-+                Object var_12;
-+                var_4 = 4.9121917E37F < 1957795258;
-+                var_4 |= (var_4 ^= !var_4) ^ (var_4 |= var_4);
-+                var_3 = (var_3 = (var_3 = (byte)+6010964363045275648L));
-+                break;
-+
-+            case 102:
-+
-+        }
-+        final float var_13 = 1.2443151E38F;
-+        var_3 = (byte)(var_1 |= (var_7 = (var_3 = (byte)var_5)));
-+        var_2 = (long)(var_7 = (var_3 = (byte)var_8)) - (var_7 = (byte)386742565);
-+        var_4 &= var_4;
-+        var_2 = (long)((var_3 = (var_3 = (byte)var_8)) / ((var_4 ^= (var_5 /= var_9) <= (var_1 &= var_1)) ? (var_7 = (short)6872886933545336832L) : (byte)var_8));
-+        var_6 = "uqflj";
-+        {
-+            switch (((new String[var_3 = (byte)var_5])[var_3 = (byte)8097442298927900672L]).charAt(1540148550))
-+            {
-+                case 'l':
-+
-+            }
-+            var_2 = (var_7 = (byte)2.9859440663042714E307);
-+            {
-+                Object var_14;
-+            }
-+            var_3 = (var_3 = (var_3 = (byte)3.3634427195550136E307));
-+            var_5 += '_';
-+        }
-+        var_6 = "tempfdjen";
-+        var_3 = (((var_4 ^= new String("jmwiwmk").endsWith("rtlstmnuo")) ? !true : !false) ? true : (var_4 = false)) ? (var_3 = (byte)var_5) : (var_3 = (var_3 = (byte)var_5));
-+        var_4 ^= false;
-+        if (1.6435436003809043E307 != var_9)
-+        {
-+            boolean var_15 = true;
-+        }
-+        else
-+        {
-+            var_4 = false;
-+        }
-+        {
-+            Object var_16 = ((new Tester_Class_1[(byte)71832757][(byte)1.0694914E38F])[(byte)1315653071][(byte)(var_7 = (var_7 = (byte)var_8))]).var_6 = new int[(byte)var_8][var_3 = (byte)1933656747];
-+        }
-+        var_7 = (var_4 = var_4) ? (short)2.756967E37F : (short)'K';
-+        byte var_17;
-+    }
-+
-+
-+
-+    abstract public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1);
-+
-+
-+    final double func_0(final float arg_0, final short arg_1, final boolean arg_2)
-+    {
-+        var_6 = (var_6 = "lmshbl");
-+        var_3 = (var_3 = (new byte[(new byte[(byte)arg_1])[var_3 = (byte)arg_0]])[var_3 = (var_3 = (byte)(var_1 >>>= var_1))]);
-+        var_5 %= (var_3 = (byte)1909375874);
-+        var_1 /= (char)(short)'i';
-+        {
-+            "vgar".length();
-+        }
-+        int var_10;
-+        {
-+            var_3 = (var_4 &= true) ? (byte)(var_5 *= 6375499657746206720L) : (byte)+ (var_5 /= var_9);
-+            var_7 = (var_4 = true) ? (byte)(false ? (short)749593632 : (byte)8.692758043260743E307) : (byte)var_1;
-+            ((new Tester_Class_1[(byte)1.2890904018345944E308])[(byte)var_1]).var_3 = (var_3 = (byte)arg_0);
-+            var_4 = true ^ var_4;
-+        }
-+        {
-+            var_1 ^= (var_3 = (var_3 = (var_3 = (byte)'U')));
-+        }
-+        var_3 = (var_3 = (var_3 = (var_3 = (byte)arg_1)));
-+        char var_11;
-+        var_1 += (var_2 = (var_7 = arg_1));
-+        {
-+            var_7 = (var_7 = arg_1);
-+        }
-+        var_7 = arg_1;
-+        var_6 = (new char[(byte)1985094111797788672L][var_3 = (byte)3112604683090268160L])[var_3 = (byte)~ (var_3 = (byte)(var_5 += var_1))];
-+        var_3 = (var_3 = (var_3 = (var_3 = (byte)3694858000202921984L)));
-+        var_1 /= ~ ((byte)1311538336);
-+        (((var_4 |= arg_2 ? !true && arg_2 : false) ? arg_2 : arg_2) ? "iih".substring(~ (var_3 = (byte)3.5401308E37F), 'g' * arg_1) : "gynskmvoj").trim();
-+        var_3 = (var_3 = arg_2 ? (byte)+ ~5247392660383928320L : (byte)8392160279007184896L);
-+        var_3 = (var_3 = (var_3 = (byte)var_8));
-+        return (var_5 += 7.157559E37F) + (var_11 = 'V');
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_1.var_7 = "; result += Tester.Printer.print(var_7);
-+        result += "\n";
-+        result += "Tester_Class_1.var_3 = "; result += Tester.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_1.var_8 = "; result += Tester.Printer.print(var_8);
-+        result += "\n";
-+        result += "Tester_Class_1.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_1.var_4 = "; result += Tester.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_1.var_5 = "; result += Tester.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_1.var_2 = "; result += Tester.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_1.var_9 = "; result += Tester.Printer.print(var_9);
-+        result += "\n";
-+        result += "Tester_Class_1.var_6 = "; result += Tester.Printer.print(var_6);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_2 extends Tester_Class_1 implements Tester_Interface_0 {
-+    final static String var_18 = false | Tester_Class_1.var_4 | (Tester_Class_1.var_4 &= (Tester_Class_1.var_4 |= (Tester_Class_1.var_4 = var_4))) ? "tbobyhqne" : "";
-+    static String var_19 = "acxfj";
-+
-+
-+    public Tester_Class_2()
-+    {
-+        Tester_Class_1.var_4 = !Tester_Class_1.var_4;
-+        var_1++;
-+        var_2 = (byte)2.4009747E38F;
-+        new String();
-+        var_6 = (var_19 = "hsshyw");
-+        var_19 = var_19;
-+    }
-+
-+
-+    public Tester_Interface_0 func_0(double[][] arg_0, final Object arg_1)
-+    {
-+        var_5 = 4.0352057E37F;
-+        (((false && ! ((Tester_Class_1.var_4 |= !true) ^ (Tester_Class_1.var_4 ^ false))) ^ (var_4 &= true) ? var_4 : (var_4 ^= true)) ? "spskwj" : "xcqianm").length();
-+        ((var_4 |= (Tester_Class_1.var_4 ^= Tester_Class_1.var_4) ? (Tester_Class_1.var_4 &= false) : (Tester_Class_1.var_4 |= Tester_Class_1.var_4)) ? (Tester_Class_1)(var_6 = new double[(byte)6.628342687109622E307]) : (Tester_Class_1)arg_1).var_6 = arg_0;
-+        var_7 = (short)(byte)(short)8775325134193811456L;
-+        var_4 ^= (var_4 &= !false);
-+        ((Tester_Class_1)arg_1).var_3 = (var_3 = (byte)(var_5 %= 8.933448E37F));
-+        Tester_Class_1 var_20 = Tester_Class_1.var_4 ? (Tester_Class_1)arg_1 : (Tester_Class_1)arg_1;
-+        {
-+            var_19.endsWith(var_19);
-+            var_6 = var_20;
-+            (var_20 = (var_20 = var_20)).var_2 = (short)('p' <= 1986176769 % (int)2242661265280256000L % 2664882044098145280L ? ~ (var_3 = (byte)1.1892553447967157E308) & ~1806805036550279168L : (var_7 = (byte)var_8));
-+        }
-+        final boolean var_21 = Tester_Class_1.var_4;
-+        var_20.var_3 = (var_3 = (var_20.var_3 = (byte)'t'));
-+        boolean var_22 = true;
-+        Tester_Class_1.var_4 |= (var_4 = var_21);
-+        var_19 = "ocn";
-+        var_19 = var_19;
-+        var_1 *= Tester_Class_1.var_8;
-+        var_20 = var_22 ? var_20 : var_20;
-+        var_7 = var_21 ? (byte)+ ((byte)var_1) : ((var_20 = (var_20 = var_20)).var_3 = (var_3 = (var_3 = (byte)'L')));
-+        return true ? (var_20 = var_20) : (new Tester_Interface_0[(byte)5618282952859970560L])[var_3 = (byte)Tester_Class_1.var_8];
-+    }
-+
-+
-+    public boolean equals(Object obj)
-+    {
-+        Tester_Class_1.var_7 = (var_7 = (((Tester_Class_1)obj).var_3 = (byte)var_9));
-+        {
-+            final Tester_Class_1 var_23 = (Tester_Class_1)obj;
-+        }
-+        ++Tester_Class_1.var_1;
-+        var_5 = (Tester_Class_1.var_7 = var_4 ? (Tester_Class_1.var_7 = (((Tester_Class_1)obj).var_3 = (byte)Tester_Class_1.var_8)) : (var_7 = (byte)var_9));
-+        ((Tester_Class_1)obj).var_6 = var_18.replace(Tester_Class_1.var_8, Tester_Class_1.var_8);
-+        ((new Tester_Class_1[((Tester_Class_1)(obj = new char[var_3 = (byte)Tester_Class_1.var_8])).var_3 = (((Tester_Class_1)obj).var_3 = (byte)(var_1 %= 787509251458841600L))])[(new byte[var_3 = (byte)Tester_Class_1.var_1])[((Tester_Class_1)obj).var_3 = (byte)1.2382548E38F]]).var_3 = (((Tester_Class_1)obj).var_3 = var_4 ? (byte)Tester_Class_1.var_8 : (byte)4.1085164E36F);
-+        var_1 &= var_8;
-+        var_7 = var_4 ? (var_3 = (byte)var_8) : (byte)var_5;
-+        var_19 = var_18;
-+        ("o".compareTo("kwlfk") > (var_2 = 5289241662482067456L) ? (Tester_Class_1)obj : (Tester_Class_1)obj).var_5 -= (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (((Tester_Class_1)obj).var_3 = (byte)var_9)));
-+        return true;
-+    }
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_2.var_7 = "; result += Tester.Printer.print(var_7);
-+        result += "\n";
-+        result += "Tester_Class_2.var_8 = "; result += Tester.Printer.print(var_8);
-+        result += "\n";
-+        result += "Tester_Class_2.var_3 = "; result += Tester.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_2.var_18 = "; result += Tester.Printer.print(var_18);
-+        result += "\n";
-+        result += "Tester_Class_2.var_19 = "; result += Tester.Printer.print(var_19);
-+        result += "\n";
-+        result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_2.var_4 = "; result += Tester.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_2.var_5 = "; result += Tester.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_2.var_2 = "; result += Tester.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_2.var_9 = "; result += Tester.Printer.print(var_9);
-+        result += "\n";
-+        result += "Tester_Class_2.var_6 = "; result += Tester.Printer.print(var_6);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+class Tester_Class_3 extends Tester_Class_2 implements Tester_Interface_0 {
-+    long var_24 = 9026266006808413184L;
-+    char var_25;
-+    String var_26 = ((var_4 ^= Tester_Class_1.var_4) ? (!true ? false : (var_4 |= true)) : (Tester_Class_2.var_4 ^= var_4)) ? "dkmhvhl" : (var_19 = (Tester_Class_2.var_19 = (Tester_Class_2.var_19 = var_18)));
-+    static Tester_Class_2 var_27;
-+    short var_28 = Tester_Class_2.var_7 = (short)(Tester_Class_2.var_1 &= (var_3 = (var_3 = (var_3 = (byte)Tester_Class_2.var_9))));
-+    static boolean var_29 = false;
-+    static Object[][] var_30;
-+    int var_31 = 750583762;
-+    Tester_Class_2 var_32;
-+    final static long var_33 = 3050784555932008448L;
-+
-+
-+    public Tester_Class_3()
-+    {
-+        byte[] var_34;
-+        var_4 &= (Tester_Class_1.var_4 = true);
-+        Tester_Class_1.var_1--;
-+        switch (var_28 >>= ~ ((byte)var_28))
-+        {
-+            case 9:
-+
-+            case 26:
-+                Tester_Class_1.var_4 ^= Tester_Class_1.var_4;
-+                (Tester_Class_2.var_19 = "pwtic").indexOf(Tester_Class_2.var_18);
-+                var_26.indexOf(var_19);
-+                ((Tester_Class_1)(new Tester_Interface_0[(byte)var_5])[var_24 <= var_31 ? (byte)'^' : (byte)var_24]).var_2 = 5611775846881101824L;
-+                var_29 |= (Tester_Class_2.var_4 ^= var_29);
-+                Tester_Class_2 var_35;
-+                var_24 <<= (var_31 >>= (var_25 = var_8));
-+                break;
-+
-+            case 28:
-+
-+        }
-+        new String();
-+        var_5 %= (var_25 = 'n');
-+        ((Tester_Class_2)(Tester_Class_1)(((Tester_Class_1)(var_6 = Tester_Class_2.var_18)).var_6 = (var_26 = ""))).var_2 = var_31;
-+        --var_1;
-+    }
-+
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_3.var_8 = "; result += Tester.Printer.print(var_8);
-+        result += "\n";
-+        result += "Tester_Class_3.var_25 = "; result += Tester.Printer.print(var_25);
-+        result += "\n";
-+        result += "Tester_Class_3.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "\n";
-+        result += "Tester_Class_3.var_31 = "; result += Tester.Printer.print(var_31);
-+        result += "\n";
-+        result += "Tester_Class_3.var_30 = "; result += Tester.Printer.print(var_30);
-+        result += "\n";
-+        result += "Tester_Class_3.var_24 = "; result += Tester.Printer.print(var_24);
-+        result += "\n";
-+        result += "Tester_Class_3.var_33 = "; result += Tester.Printer.print(var_33);
-+        result += "\n";
-+        result += "Tester_Class_3.var_5 = "; result += Tester.Printer.print(var_5);
-+        result += "\n";
-+        result += "Tester_Class_3.var_2 = "; result += Tester.Printer.print(var_2);
-+        result += "\n";
-+        result += "Tester_Class_3.var_9 = "; result += Tester.Printer.print(var_9);
-+        result += "\n";
-+        result += "Tester_Class_3.var_7 = "; result += Tester.Printer.print(var_7);
-+        result += "\n";
-+        result += "Tester_Class_3.var_28 = "; result += Tester.Printer.print(var_28);
-+        result += "\n";
-+        result += "Tester_Class_3.var_3 = "; result += Tester.Printer.print(var_3);
-+        result += "\n";
-+        result += "Tester_Class_3.var_18 = "; result += Tester.Printer.print(var_18);
-+        result += "\n";
-+        result += "Tester_Class_3.var_19 = "; result += Tester.Printer.print(var_19);
-+        result += "\n";
-+        result += "Tester_Class_3.var_26 = "; result += Tester.Printer.print(var_26);
-+        result += "\n";
-+        result += "Tester_Class_3.var_4 = "; result += Tester.Printer.print(var_4);
-+        result += "\n";
-+        result += "Tester_Class_3.var_29 = "; result += Tester.Printer.print(var_29);
-+        result += "\n";
-+        result += "Tester_Class_3.var_27 = "; result += Tester.Printer.print(var_27);
-+        result += "\n";
-+        result += "Tester_Class_3.var_32 = "; result += Tester.Printer.print(var_32);
-+        result += "\n";
-+        result += "Tester_Class_3.var_6 = "; result += Tester.Printer.print(var_6);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+public class Tester {
-+    static double var_36 = 2.679028326789642E307;
-+    float var_37;
-+    String var_38 = Tester_Class_2.var_18;
-+    static Tester_Interface_0 var_39;
-+    static char var_40 = 'D';
-+    Tester_Class_1 var_41;
-+    static int var_42;
-+    final static boolean var_43 = false;
-+
-+
-+    final static Tester_Class_2 func_0(Tester_Class_1 arg_0, final Tester_Class_2 arg_1)
-+    {
-+        "ooots".replaceFirst("rdxor", ((new Tester_Class_3[arg_1.var_3 = (byte)2.7836305E38F])[arg_0.var_3 = (byte)+ + +1.4958218616334936E307]).var_26);
-+        if (true)
-+        {
-+            arg_0 = (Tester_Class_3)arg_0;
-+            ((Tester_Class_3)arg_0).var_25 = var_40;
-+            final Tester_Class_2 var_44 = (Tester_Class_2)((Tester_Class_3.var_29 |= var_43) ? arg_0 : (arg_0.var_6 = Tester_Class_3.var_18));
-+        }
-+        else
-+        {
-+            var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1);
-+        }
-+        Tester_Class_3.var_19 = "onndgsil";
-+        var_39 = arg_0;
-+        return (Tester_Class_2.var_4 &= Tester_Class_2.var_4 ^ true) ? (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1) : (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)arg_1);
-+    }
-+
-+    private final static float func_1(final short arg_0, int[][] arg_1, final long arg_2)
-+    {
-+        Tester_Class_2.var_1 *= arg_0;
-+        double var_45 = 6.841391103184752E307;
-+        long var_46;
-+        Tester_Class_2.var_1--;
-+        --var_40;
-+        ++var_40;
-+        ++Tester_Class_3.var_1;
-+        Tester_Class_1.var_4 = false;
-+        var_36 %= 'X';
-+        ++Tester_Class_2.var_1;
-+        Tester_Class_1.var_1++;
-+        return 3.2422038E38F;
-+    }
-+
-+    private final static char func_2(double arg_0, final byte arg_1, int arg_2)
-+    {
-+        --Tester_Class_3.var_1;
-+        if (Tester_Class_1.var_4)
-+        {
-+            if (var_43)
-+            {
-+                Tester_Class_3.var_1++;
-+            }
-+            else
-+            {
-+                var_40 <<= 1329560515532651520L;
-+            }
-+            (false & Tester_Class_2.var_4 ? (new Tester_Class_1[arg_1])[arg_1] : (new Tester_Class_1[arg_1][arg_1])[arg_1][arg_1]).var_3 = arg_1;
-+            Tester_Class_2.var_19 = Tester_Class_3.var_19;
-+            --var_40;
-+            final long var_47 = ~Tester_Class_3.var_33 << var_40--;
-+            ((Tester_Class_3)(new Tester_Class_2[arg_1][arg_1])[arg_1][arg_1]).var_24 *= (var_36 *= (long)arg_1 * ~arg_1);
-+            Tester_Class_2.var_19 = Tester_Class_2.var_19;
-+            ++((new Tester_Class_3[arg_1])[arg_1]).var_24;
-+        }
-+        else
-+        {
-+            var_40++;
-+        }
-+        var_40 <<= var_40;
-+        if (true)
-+        {
-+            ++arg_2;
-+        }
-+        else
-+        {
-+            Tester_Class_2.var_7 = arg_1;
-+        }
-+        boolean var_48 = true;
-+        var_36 /= arg_1;
-+        final short var_49 = 15276;
-+        Tester_Interface_0 var_50;
-+        ((Tester_Class_2.var_19 = (Tester_Class_2.var_19 = Tester_Class_2.var_19)) + "xhi").toString();
-+        arg_2++;
-+        return var_40;
-+    }
-+
-+    public final static char func_4(final boolean arg_0)
-+    {
-+        float var_52 = 2.8063675E38F;
-+        var_40--;
-+        Object var_53;
-+        Tester_Class_3.var_29 |= (Tester_Class_3.var_29 &= true);
-+        if (!Tester_Class_1.var_4)
-+        {
-+            --var_40;
-+        }
-+        else
-+        {
-+            var_52 %= 2027756834;
-+        }
-+        int var_54 = Tester_Class_1.var_1++;
-+        var_40--;
-+        long var_55;
-+        byte var_56 = 97;
-+        var_36 *= 9.75628909363086E307 % + -1.9812653793936264E306;
-+        int var_57;
-+        boolean var_58 = Tester_Class_1.var_4 ^= var_43;
-+        return 'J';
-+    }
-+
-+    static float func_5(final Object arg_0, float arg_1, final Tester_Class_2 arg_2)
-+    {
-+        var_39 = arg_2;
-+        Tester_Class_3.var_27 = arg_2;
-+        arg_1 %= 1.7777554E38F;
-+        var_39 = (Tester_Class_3.var_27 = arg_2);
-+        Tester_Class_3 var_59;
-+        {
-+            var_40 -= arg_1 - ~ (((Tester_Class_3)arg_2).var_3 = (byte)1455854212);
-+        }
-+        Object var_60 = Tester_Class_1.var_4 ? arg_0 : new String[arg_2.var_3 = (byte)arg_1][(byte)((Tester_Class_3)arg_0).var_28];
-+        Tester_Class_3.var_27 = (Tester_Class_2)(var_39 = arg_2);
-+        ((Tester_Class_3.var_4 |= var_43) ? (var_59 = (var_59 = (var_59 = (Tester_Class_3)var_60))) : (var_59 = (Tester_Class_3)arg_2)).var_24 ^= Tester_Class_3.var_1;
-+        return Tester_Class_1.var_9;
-+    }
-+
-+    private static void func_6(char arg_0, final Tester_Class_3 arg_1, String arg_2, final double arg_3)
-+    {
-+        ((new Tester_Class_1[(byte)arg_1.var_28])[(arg_1.var_32 = arg_1).var_3 = (byte)var_40]).var_2 = Tester_Class_3.var_9;
-+        double var_61;
-+        (true ? (arg_1.var_32 = arg_1) : (arg_1.var_32 = (Tester_Class_3.var_27 = (arg_1.var_32 = arg_1)))).var_6 = var_43 | (Tester_Class_2.var_4 = !Tester_Class_3.var_4) ? (arg_1.var_26 = arg_2) : (Tester_Class_2.var_19 = Tester_Class_2.var_18);
-+    }
-+
-+    private final char func_7(int arg_0)
-+    {
-+        Tester_Class_2.var_4 &= var_43;
-+        float var_62 = Tester_Class_3.var_9;
-+        --var_40;
-+        int var_63 = Tester_Class_1.var_1++;
-+        {
-+            "nncjfoit".indexOf((new int[(byte)'\\'])[(byte)var_36]);
-+            if (var_43)
-+            {
-+                ((new Tester_Class_3[(byte)var_40][(byte)Tester_Class_2.var_1])[(byte)5046997225818337280L][(byte)var_63]).var_24 >>>= var_40;
-+            }
-+            else
-+            {
-+                --var_40;
-+            }
-+            --Tester_Class_2.var_1;
-+            --var_63;
-+        }
-+        {
-+            final byte var_64 = Tester_Class_1.var_4 ? (byte)'M' : (byte)(var_62 -= + ((byte)Tester_Class_1.var_8));
-+            float var_65;
-+            var_62 *= ((Tester_Class_3)(new Tester_Interface_0[var_64])[var_64]).var_24++;
-+            var_36 /= var_64;
-+            {
-+                double var_66;
-+            }
-+            var_40 += 3500240160155094016L;
-+            ((new Tester_Class_1[var_64][var_64])[var_64][var_64]).var_3 = (byte)(Tester_Class_2.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = (Tester_Class_1.var_7 = var_64))));
-+            ++Tester_Class_3.var_1;
-+        }
-+        --arg_0;
-+        {
-+            arg_0++;
-+        }
-+        Tester_Class_2.var_1++;
-+        var_40 &= (short)((byte)Tester_Class_2.var_8 >> (((new Tester_Class_3[(byte)var_36])[(byte)(var_40 = Tester_Class_3.var_8)]).var_3 = (byte)((byte)3.3531374E38F * var_40)));
-+        var_36 %= (var_62 = (byte)900943133);
-+        var_36 = Tester_Class_3.var_33;
-+        var_62 += (var_40 /= (byte)6766658341842315264L % (byte)'p') * (short)2019461672;
-+        --var_40;
-+        if (true)
-+        {
-+            var_62 *= 365879806965555200L;
-+        }
-+        else
-+        {
-+            var_36 -= ~9163555887358003200L;
-+        }
-+        Tester_Class_1.var_4 = Tester_Class_1.var_4;
-+        {
-+            var_40 <<= var_63;
-+        }
-+        var_40++;
-+        String var_67;
-+        return Tester_Class_1.var_8;
-+    }
-+
-+    private final static Tester_Interface_0 func_8(char arg_0, final Tester_Class_2 arg_1, final String arg_2)
-+    {
-+        ((new Tester[(byte)((Tester_Class_3)arg_1).var_28])[((Tester_Class_1)(var_39 = arg_1)).var_3 = ((Tester_Class_3.var_27 = (Tester_Class_3)arg_1).var_3 = (byte)+ -9.9100855E36F)]).var_38 = (var_43 ? "k" : Tester_Class_2.var_19).substring(350785312);
-+        return (new Tester_Interface_0[(byte)'l'])[((Tester_Class_1)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_1))).var_3 = ((Tester_Class_3.var_27 = arg_1).var_3 = (((Tester_Class_3)arg_1).var_3 = (arg_1.var_3 = (arg_1.var_3 = (byte)'['))))];
-+    }
-+
-+    private final int func_9(Tester_Class_3 arg_0, char arg_1)
-+    {
-+        final float var_68 = Tester_Class_3.var_9;
-+        Tester_Class_2.var_18.toLowerCase();
-+        double var_69;
-+        {
-+            Tester_Class_3.var_29 ^= !false || Tester_Class_2.var_4;
-+        }
-+        Tester_Class_1 var_70;
-+        (Tester_Class_3.var_27 = (Tester_Class_2)(var_70 = arg_0)).var_6 = (Tester_Class_2)((var_41 = arg_0).var_6 = (arg_0.var_6 = arg_0));
-+        "hv".codePointBefore(--Tester_Class_2.var_1);
-+        var_41 = arg_0;
-+        return ~ (((arg_0 = arg_0).var_24 &= arg_1) == 3.0764282E38F ? (byte)457565863 : ((arg_0 = arg_0).var_3 = (byte)arg_0.var_28));
-+    }
-+
-+    private static void func_10(double arg_0, final Tester_Class_3 arg_1, double arg_2)
-+    {
-+        arg_1.var_32 = 'g' != 1.520646515461986E307 ? (arg_1.var_32 = arg_1) : arg_1;
-+        Tester_Class_2.var_19.startsWith(Tester_Class_2.var_19 = Tester_Class_3.var_18);
-+        Tester_Class_1.var_4 ^= true & (arg_1.var_3 = (arg_1.var_3 = (byte)- ((byte)1.4509185661781193E308))) > (arg_1.var_2 = var_40);
-+        var_36 += Tester_Class_3.var_9;
-+    }
-+
-+    Tester_Interface_0 func_12(final Object arg_0, float arg_1)
-+    {
-+        switch (((Tester_Class_3)arg_0).var_3 = (byte)arg_1)
-+        {
-+            case 4:
-+                var_41 = (Tester_Class_3)(var_39 = (Tester_Class_3.var_27 = (Tester_Class_3.var_27 = (Tester_Class_3)arg_0)));
-+                double var_72 = (double)3858573493713776640L;
-+                byte var_73 = (var_41 = (Tester_Class_2)arg_0).var_3 = (((Tester_Class_3)arg_0).var_3 = (byte)var_72);
-+                break;
-+
-+            case 13:
-+                (Tester_Class_3.var_27 = (((Tester_Class_3)arg_0).var_32 = (Tester_Class_3)(Tester_Class_2)arg_0)).var_3 = (Tester_Class_2.var_1 *= ((Tester_Class_3)arg_0).var_24) == (byte)Tester_Class_3.var_33 ? (byte)188693954866039808L : (byte)Tester_Class_2.var_8;
-+                break;
-+
-+            default:
-+                var_40 <<= (byte)157510337;
-+                break;
-+
-+            case 26:
-+
-+            case 122:
-+
-+        }
-+        Tester_Interface_0 var_74;
-+        long var_75;
-+        var_41 = (var_41 = (var_41 = (Tester_Class_2)arg_0));
-+        arg_1 *= 1601420762;
-+        var_74 = (var_41 = Tester_Class_1.var_4 ? (Tester_Class_3)arg_0 : (Tester_Class_2)arg_0);
-+        (Tester_Class_1.var_4 ? (Tester_Class_3)(var_39 = (Tester_Class_3)arg_0) : (true ? (Tester_Class_3)arg_0 : (Tester_Class_3)arg_0)).var_28 *= 1066935145;
-+        var_40 >>>= (byte)6.643183E36F / - ((byte)1.277596E37F);
-+        {
-+            ((Tester_Class_3)(((Tester_Class_3)((Tester_Class_3.var_29 ^= (Tester_Class_3.var_29 &= var_43)) ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0)).var_32 = (Tester_Class_3.var_27 = (Tester_Class_2)arg_0))).var_28--;
-+        }
-+        var_38 = "qad";
-+        byte var_76 = ((Tester_Class_2)(var_39 = (Tester_Class_3)arg_0)).var_3 = true ? ((var_41 = (var_41 = (Tester_Class_3)arg_0)).var_3 = (byte)1.7128118638075888E308) : (byte)1.6562746603631249E308;
-+        return var_39 = (Tester_Class_3)((var_41 = (Tester_Class_3)arg_0).var_6 = Tester_Class_2.var_18);
-+    }
-+
-+    protected final String func_13()
-+    {
-+        float var_77;
-+        var_38 = (Tester_Class_2.var_19 = var_38);
-+        Tester_Class_2.var_4 ^= !var_43 | (Tester_Class_3.var_29 ^= Tester_Class_1.var_4);
-+        Tester_Class_3.var_1--;
-+        Tester_Class_2.var_1++;
-+        return Tester_Class_2.var_18;
-+    }
-+
-+    public static String execute()
-+    {
-+        try {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { return t.toString(); }
-+            catch (Throwable e) { return "Error during result conversion to String"; }
-+        } catch (Throwable e) { return "Error during test execution"; }
-+    }
-+
-+    public static void main(String[] args)
-+    {
-+        try {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { System.out.println(t); }
-+            catch(Throwable e) { }
-+        } catch (Throwable e) { }
-+    }
-+
-+    private void test()
-+    {
-+        int var_78 = 0;
-+        var_39 = (new Tester_Class_1[(byte)var_40])[(byte)Tester_Class_3.var_33];
-+        while (var_43 && (var_78 < 70 && true))
-+        {
-+            var_40 *= ~ ~Tester_Class_3.var_33 % Tester_Class_3.var_9;
-+            var_78++;
-+            var_39 = new Tester_Class_3();
-+            var_39 = (var_41 = (Tester_Class_3.var_27 = new Tester_Class_2()));
-+        }
-+        final Tester_Class_3 var_79 = (Tester_Class_1.var_4 ? ~Tester_Class_3.var_33 : var_36) == 1433764895112462336L ? new Tester_Class_3() : new Tester_Class_3();
-+        Tester_Class_2 var_80;
-+    }
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester.var_40 = "; result += Printer.print(var_40);
-+        result += "\n";
-+        result += "Tester.var_42 = "; result += Printer.print(var_42);
-+        result += "\n";
-+        result += "Tester.var_36 = "; result += Printer.print(var_36);
-+        result += "\n";
-+        result += "Tester.var_37 = "; result += Printer.print(var_37);
-+        result += "\n";
-+        result += "Tester.var_39 = "; result += Printer.print(var_39);
-+        result += "\n";
-+        result += "Tester.var_38 = "; result += Printer.print(var_38);
-+        result += "\n";
-+        result += "Tester.var_43 = "; result += Printer.print(var_43);
-+        result += "\n";
-+        result += "Tester.var_41 = "; result += Printer.print(var_41);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+    static class Printer
-+    {
-+        public static String print(boolean arg) { return String.valueOf(arg); }
-+        public static String print(byte arg)    { return String.valueOf(arg); }
-+        public static String print(short arg)   { return String.valueOf(arg); }
-+        public static String print(char arg)    { return String.valueOf((int)arg); }
-+        public static String print(int arg)     { return String.valueOf(arg); }
-+        public static String print(long arg)    { return String.valueOf(arg); }
-+        public static String print(float arg)   { return String.valueOf(arg); }
-+        public static String print(double arg)  { return String.valueOf(arg); }
-+
-+
-+        public static String print(Object arg)
-+        {
-+            return print_r(new java.util.Stack(), arg);
-+        }
-+
-+        private static String print_r(java.util.Stack visitedObjects, Object arg)
-+        {
-+            String result = "";
-+            if (arg == null)
-+                result += "null";
-+            else
-+            if (arg.getClass().isArray())
-+            {
-+                for (int i = 0; i < visitedObjects.size(); i++)
-+                    if (visitedObjects.elementAt(i) == arg) return "<recursive>";
-+
-+                visitedObjects.push(arg);
-+
-+                final String delimiter = ", ";
-+                result += "[";
-+
-+                if (arg instanceof Object[])
-+                {
-+                    Object[] array = (Object[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print_r(visitedObjects, array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof boolean[])
-+                {
-+                    boolean[] array = (boolean[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof byte[])
-+                {
-+                    byte[] array = (byte[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof short[])
-+                {
-+                    short[] array = (short[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof char[])
-+                {
-+                    char[] array = (char[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof int[])
-+                {
-+                     int[] array = (int[]) arg;
-+                     for (int i = 0; i < array.length; i++)
-+                     {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                     }
-+                }
-+                else
-+                if (arg instanceof long[])
-+                {
-+                    long[] array = (long[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof float[])
-+                {
-+                    float[] array = (float[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof double[])
-+                {
-+                    double[] array = (double[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+
-+                result += "]";
-+                visitedObjects.pop();
-+
-+            } else
-+            {
-+                result += arg.toString();
-+            }
-+
-+            return result;
-+        }
-+    }
-+}
-+
-+
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6716441/Tester.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6716441/Tester.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,940 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6716441
-+ * @summary error in meet with +DoEscapeAnalysis
-+ * @run main/othervm -Xcomp -XX:+AggressiveOpts Tester
-+ */
-+
-+/* Complexity upper bound: 70070 ops */
-+
-+class Tester_Class_0 {
-+    Object var_1;
-+
-+
-+    public Tester_Class_0()
-+    {
-+        var_1 = "cmlv";
-+        {
-+            final Object var_7 = false ? (var_1 = "flwnujmm") : (var_1 = "");
-+        }
-+        float var_8 = 0F;
-+        boolean var_9;
-+        do
-+        {
-+            ((var_9 = (var_9 = (var_9 = false))) && true ? new String("yvirc") : "rmfkjbx").indexOf(99854165);
-+            var_8++;
-+            boolean var_10 = true;
-+            var_10 |= true ? true : false;
-+            var_10 |= false | var_10 ? (var_10 |= true) : true;
-+        } while (var_8 < 1 && "tpb".charAt(~ ((byte)2449669946597620736L)) >>> (byte)1.704554E38F >= ('t' < var_8 ? (short)var_8 : 1237471887 / +4199632387838836736L));
-+        var_1 = (var_1 = "y");
-+        switch ((var_9 = "".equalsIgnoreCase("kqalxwsnu") | false) ? (new char[(byte)1.3230508534158742E308])[(byte)(short)93390917] : 'c')
-+        {
-+            case 'U':
-+
-+            case 'W':
-+
-+            case 'A':
-+
-+            case 72:
-+
-+        }
-+        var_9 = (var_9 = false);
-+        float var_11 = 0F;
-+        var_9 = true;
-+        for (var_1 = (var_1 = new boolean[(new byte[(byte)'O'])[(byte)'l']]); var_11 < 2; var_1 = (true ? "" : "nn").toUpperCase())
-+        {
-+            var_9 = true;
-+            var_11++;
-+            var_9 = true;
-+            int var_12 = (new short[(byte)1825213428])[(byte)1.6151095881186834E308] + (byte)(short)'V';
-+        }
-+        var_1 = (new boolean[(byte)1546704177][(byte)6314352927310996480L][(byte)6838913812451802112L])["e".equalsIgnoreCase("d") ? (byte)3.964472879846357E307 : (byte)'L'];
-+        var_9 = (var_9 = false);
-+    }
-+
-+
-+
-+    protected Object clone()
-+    {
-+        var_1 = (var_1 = "dbogknllu");
-+        var_1 = "jljax";
-+        var_1 = (var_1 = false ? "s" : "upqinst");
-+        if (false)
-+        {
-+            var_1 = (var_1 = (var_1 = "nwhu"));
-+        }
-+        else
-+        {
-+            short var_2;
-+            var_2 = false ? (byte)((short)'e' - (byte)2.267975E38F) : (byte)1.28920093132789E308;
-+        }
-+        (((byte)2.3450009E38F >= (byte)- (+ - -1.6256751428449317E306 * 954071273906192384L) ? true : true) ? "gpv".substring(468176669, 1915798010) : "macqbvf").offsetByCodePoints("ivwivjege".charAt(1819923298) >>> (byte)((- ~653213024937366528L + 'N') * +1.0297164E38F) + (short)~ + -4535402293751053312L, (short)3837656677199316992L + (new byte[(byte)2.1586717E38F])[(byte)((short)719847962 - 8.599263E37F)]);
-+        new String((char)650047353 > (short)'I' ? "maygldu".replaceAll("hpn", "bacoyows") : "nkx").endsWith(new String("h" + "vx"));
-+        byte var_3;
-+        return var_1 = "vbiccvdu";
-+    }
-+
-+    public boolean equals(Object obj)
-+    {
-+        var_1 = "rxpocj";
-+        obj = "ndogtwvuh";
-+        {
-+            {
-+                var_1 = "vmdkvs";
-+            }
-+            final boolean var_4 = false;
-+            long var_5;
-+            var_5 = (short)'G' >> + ((byte)1.1872624048733707E308);
-+        }
-+        var_1 = (new byte[(byte)(short)1.7804576633213148E308][(byte)(short)8.300151422843056E307])[(byte)3110360603258978304L];
-+        obj = "fudebwroh";
-+        obj = new Object[(false && false) & false ? (byte)8796624364629753856L : (byte)- +1.5843542184394165E308];
-+        if (true)
-+        {
-+            var_1 = new float[(byte)1372189277][(byte)((byte)8.352642520619892E307 == (! !false ^ true ? (short)1.3871033E37F : (byte)'f') ? 7.33899E37F - (short)2.2558552E37F : 2.6072269E38F)];
-+        }
-+        else
-+        {
-+            var_1 = obj;
-+            obj = new boolean[(byte)8.623747E37F][(byte)~ ((byte)(short)(byte)2100816354)];
-+        }
-+        var_1 = new int[(new byte[(byte)7410132537719084032L])[(byte)1524949007]][(byte)((long)9188640 ^ 'n')];
-+        if (-3.0364305E38F > 8.114229090672013E307)
-+        {
-+            var_1 = (var_1 = new boolean[(byte)1.0354788699727844E308][(byte)-4867581638981979136L]);
-+        }
-+        else
-+        {
-+            obj = (obj = obj);
-+            obj = (new int[(byte)'f'][(byte)7563033606293564416L])[(byte)2052737645];
-+        }
-+        long var_6;
-+        var_6 = (+ + ~3862500564271147008L != (short)8549491352795953152L || (byte)+ + (var_6 = 'D') > (var_6 = 1687952259)) && true ? (short)1756260278 : (byte)(short)3.202384E36F;
-+        return false ^ ((false ? !true : true) ? false : (true ? ! !false : false));
-+    }
-+
-+
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_0.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+
-+interface Tester_Interface_1 {
-+}
-+
-+
-+final class Tester_Class_2 extends Tester_Class_0 {
-+    static char var_13;
-+    final static long var_14 = ~ ~ (((false ? !true ^ !true : !false | true) ? (byte)1.4363583E38F : (byte)(short)'X') * + + +3767002589844008960L << (var_13 = (var_13 = 'X')));
-+
-+
-+    public Tester_Class_2()
-+    {
-+        ((true ? (byte)- ((byte)2.6338962E38F) : (byte)'H') <= (short)8.671266E37F || !false & true ? (Tester_Class_0)(var_1 = "tgoexsr") : (Tester_Class_0)(var_1 = "mptusv")).var_1 = "tbxbgyti";
-+        var_1 = true ? (var_1 = "islgpxwa") : "rypkbu";
-+        var_1 = "vngiif";
-+        var_13 = (var_13 = (short)~ (-3250577075350561792L + +2983539228635145216L - '`') < 861590495 * (short)1.5299644E38F ? 'V' : 'G');
-+        Object[] var_27;
-+        var_1 = (var_1 = "glu");
-+    }
-+
-+
-+
-+
-+
-+    private static int func_0(Tester_Interface_1 arg_0, Tester_Interface_1 arg_1, final int arg_2)
-+    {
-+        var_13 = 'i';
-+        new String();
-+        (true ? "pu" : "oltbcysyd").substring(1236315614);
-+        byte var_15;
-+        var_15 = (new byte[(byte)1582653493940204544L][(byte)(char)-1.5806537192822515E308])[(byte)1.2986292E38F][(byte)(short)arg_2];
-+        if (true || true)
-+        {
-+            ((new Tester_Class_2[var_15 = (byte)'q'])[var_15 = 7.653082E37F < (var_13 = 'o') ? (byte)- - + +3.1640875E38F : (byte)-6820511772487837696L]).var_1 = (new Tester_Class_0[(byte)(short)(new byte[(byte)1080194717])[(byte)8297829563314362368L]])[var_15 = (var_15 = (var_15 = (var_15 = (byte)'t')))];
-+            double[] var_16;
-+        }
-+        else
-+        {
-+            arg_1 = (arg_1 = arg_0);
-+        }
-+        var_13 = (var_13 = 'o');
-+        var_13 = (false || false ^ false) ^ !true ? 'Z' : (var_13 = 'i');
-+        return true ? (var_15 = (byte)'C') : 1120493294;
-+    }
-+
-+    static double func_1(final int arg_0, long arg_1, long arg_2)
-+    {
-+        "ghtfhmbeg".compareToIgnoreCase("djn");
-+        {
-+            ((true ? true : ! !true) ? "" : "ioowivxge").substring(1844979226, "ppsk".startsWith("lllmn") | false ? arg_0 * arg_0 : (byte)663320199);
-+            ((Tester_Class_0)(((new Tester_Class_2[(byte)4797509007239530496L])[(byte)(- -2.8961086E38F - arg_1)]).var_1 = new float[(byte)('m' / 6.0657416E37F)])).var_1 = new boolean[(byte)(short)(+4.515459E37F - (short)arg_0)][(byte)(-1.3002677717712297E308 + (var_13 = "bcjfdnc".charAt(arg_0)) * (arg_2 - 1.6058080036165979E308))];
-+            var_13 = 'E';
-+        }
-+        float var_17 = 0F;
-+        --arg_1;
-+        do
-+        {
-+            final String[] var_18 = new String[(byte)(short)arg_0];
-+            var_17++;
-+            Object var_19 = (new Object[(byte)var_17])[(false ? "xfkx".equalsIgnoreCase("j") : !false) ^ !false ? (byte)(1.6627987E35F * 2.62825E38F) : (byte)var_17];
-+        } while (var_17 < 2 && false | ((byte)1.4661115E38F | arg_0 - 'l') < ('J' & (byte)+ ((float)1200013759)));
-+        long var_20 = 0L;
-+        arg_2--;
-+        for (var_13 = (var_13 = (var_13 = (var_13 = (var_13 = (var_13 = 'p'))))); var_20 < 4; var_13 = 'y')
-+        {
-+            new String((true | true ? "oxpfy" : "gaynucv") + (true ? "cmrrk".substring(653981013, arg_0) : "ociewl" + "srhbvcgci"));
-+            var_20++;
-+            arg_2 >>= arg_0;
-+            arg_2 = false ? (byte)'l' : (byte)(~var_20 - (byte)1.1290483681734838E308);
-+        }
-+        ((new Tester_Class_2[(byte)arg_1++])[(byte)685259385]).var_1 = new Tester_Interface_1[(byte)arg_0];
-+        --arg_1;
-+        var_13 = 483446392 - (byte)'P' < ((short)(true ? (var_13 = 't') : 'n') & (short)'l') ? (var_13 = 'q') : (var_13 = (var_13 = 'h'));
-+        var_13 = 'y';
-+        return 1.097000731360761E308;
-+    }
-+
-+    private final boolean func_2(final short[][] arg_0, byte arg_1, Object arg_2)
-+    {
-+        var_1 = new char[arg_1];
-+        arg_1 /= (var_13 = 'A') + -var_14;
-+        int var_21 = 0;
-+        arg_2 = (new Tester_Class_0[arg_1 += var_14][arg_1])[arg_1 >>>= 'R' + + -var_14 - 4078879817303787520L];
-+        for (arg_1--; (+ +1.1473423E38F < 'w' & false | var_21 != (short)4633877342445358080L | !false ? false | !false : true) && (var_21 < 1 && (arg_0[arg_1])[arg_1 %= 7.136449148111178E307] > 7.362329280963185E307); arg_1++)
-+        {
-+            arg_1 = (arg_1 %= + -9.872181578576624E307);
-+            var_21++;
-+            arg_1 /= 7.365334241099395E307;
-+            var_13 = (var_13 = (var_13 = (var_13 = (var_13 = (var_13 = 'A')))));
-+        }
-+        arg_1 >>= var_14;
-+        boolean var_22 = false;
-+        return ((var_22 &= true) && var_22 ? (short)1.568578228250838E308 : arg_1) >= (new float[arg_1])[arg_1 /= 1.6849858816110731E308];
-+    }
-+
-+    public final String func_3(Tester_Interface_1 arg_0)
-+    {
-+        arg_0 = arg_0;
-+        arg_0 = (arg_0 = arg_0);
-+        var_13 = (var_13 = (var_13 = (var_13 = "rqimya".charAt(390686412))));
-+        ((Tester_Class_0)(var_1 = "suxd")).var_1 = new Tester_Class_0[(byte)(float)(short)1.584667675541511E308];
-+        arg_0 = ((byte)+ + - +1.3636011E38F == 'L' ^ true) & (!true | true) ? (arg_0 = arg_0) : arg_0;
-+        var_1 = (((Tester_Class_0)(var_1 = (Tester_Class_0)(var_1 = "ndxcurdr"))).var_1 = (var_1 = (var_1 = "schnhe")));
-+        var_1 = (new Object[(byte)(var_13 = (var_13 = 'G'))])[(byte)((byte)1.5366658198344074E308 - 1.0051541518022535E308)];
-+        var_13 = (var_13 = 'x');
-+        (true ? (Tester_Class_0)(var_1 = "slesdph") : (Tester_Class_0)(var_1 = "wxj")).var_1 = false ? (Tester_Class_0)(var_1 = "iddvoil") : (Tester_Class_0)(var_1 = "yjbxhuip");
-+        var_13 = (var_13 = 'f');
-+        var_1 = (new short[(byte)1.8902424351360974E307])[(new byte[(byte)1552392028])[(byte)'V']] >= (1.2449926736063704E308 + 'K') / (short)1.0847178E38F / ((short)'M' % (1.225890077244388E308 + + ((byte)1.5358312881295287E308))) ? (Tester_Class_0)(var_1 = "khfntg".toString()) : (Tester_Class_0)(var_1 = "jkttx");
-+        {
-+            arg_0 = arg_0;
-+        }
-+        arg_0 = arg_0;
-+        var_13 = (true ? "jndbffakc" : "hhcsc").charAt((byte)7322932713210745856L >> (short)(var_13 = (var_13 = 'R')));
-+        var_13 = (var_13 = (var_13 = 'U'));
-+        {
-+            "gepdu".trim();
-+        }
-+        var_13 = 'H';
-+        new String();
-+        {
-+            (false ^ (true ^ ((!true | ! !true) ^ ! (1.7800668444792402E308 * var_14 >= (var_13 = (var_13 = (var_13 = 'g')))))) ? "dsm" : "g").toUpperCase().toString();
-+            ((Tester_Class_0)(var_1 = "fcdvd")).var_1 = (Tester_Class_0)(((Tester_Class_0)(var_1 = "uwhnte")).var_1 = "vpatqpd");
-+        }
-+        switch (((byte)((byte)((int)'n' / var_14) >>> (short)7.786475993917233E307 - (var_13 = 'm')) <= (("".endsWith("pbypgis") ^ false) & true ? (byte)func_0(arg_0, arg_0, 723551781) : (short)140766856) ? true | (!false || false) : 'F' != (var_13 = 'V')) ? (var_13 = 'j') : 'D')
-+        {
-+            case 'p':
-+
-+        }
-+        var_13 = (var_13 = (var_13 = 'y'));
-+        var_13 = ("" + "wwbxwyt").charAt((short)8373354379880418304L << (short)(byte)1.557224945027141E308);
-+        arg_0 = true ? (arg_0 = arg_0) : arg_0;
-+        ((Tester_Class_0)(((Tester_Class_0)(var_1 = "rmkvbp")).var_1 = (var_1 = "gvb"))).var_1 = new Tester_Class_0[(byte)var_14];
-+        arg_0 = arg_0;
-+        return 2.5245162E38F + 3.9088502076337727E307 > 1.0883030748712796E308 ? "efttufmbg" : "xy";
-+    }
-+
-+    protected short func_4(final double arg_0, long arg_1, final Object arg_2, final byte arg_3)
-+    {
-+        (((("ptnmpn".startsWith("xxgxjvsie") ? !true : ! !true) ? ! !false : false) ? (true ? true : false) : (var_13 = (var_13 = 'X')) == 1948276447) ? (Tester_Class_0)(var_1 = new float[arg_3][arg_3]) : (Tester_Class_0)arg_2).var_1 = new double[(new byte[arg_3][arg_3])[arg_3][arg_3]][arg_3];
-+        boolean var_23;
-+        return true ? (short)'r' : (byte)(short)('\\' >>> arg_3);
-+    }
-+
-+    final static byte func_5(final long arg_0, float arg_1, final double arg_2)
-+    {
-+        arg_1 = arg_2 <= ((var_13 = 'D') <= - (3463565869695079424L << 'S') ? 'a' : (var_13 = 'o')) | (true ? !false : !false) ? (byte)(short)(var_13 = 'r') : (short)(byte)'S';
-+        {
-+            {
-+                arg_1 %= '_';
-+            }
-+            char var_24 = 'G';
-+            "hc".lastIndexOf("");
-+            arg_1 *= (arg_1 /= (byte)-8.308933840953204E306);
-+            --var_24;
-+            arg_1 /= ~ ((byte)2.2736606E38F) <= (3392301601783633920L == 3.015267E38F ^ ! !true ? (byte)88382550 : (byte)1.2019729E38F) ? 1027309963 : + -4.355887546298483E307;
-+            ((new Tester_Class_2[(byte)arg_2])[(byte)870592870]).var_1 = "i";
-+            arg_1 /= 't';
-+        }
-+        var_13 = 'f';
-+        Tester_Class_0 var_25 = (new Tester_Class_0[(byte)arg_1])[(true | false ^ !false) & ! !true & - +2.758844E38F >= (new short[(byte)5.9160883E37F])[(byte)'r'] ? (byte)arg_0 : (byte)((short)1802078016 & arg_0)];
-+        arg_1 /= (byte)arg_2;
-+        var_13 = 'R';
-+        boolean var_26 = (true ? false : !false) ? false : !true == ! !false;
-+        arg_1 %= (var_26 ^= (byte)1101752087 <= (short)arg_1) ? arg_1 : (float)1882235314;
-+        var_25 = var_25;
-+        if (var_26 &= var_26)
-+        {
-+            var_13 = "".startsWith("vp", - ((byte)2040501187) ^ (byte)-3921263616446438400L) ? "gam".charAt(+ ((byte)arg_1)) : (var_13 = 'H');
-+            arg_1 /= var_26 | ! (var_26 ^ (byte)arg_0 <= (var_13 = 'r') | (var_26 |= var_26)) ? 'N' : ~8963227563301903360L;
-+        }
-+        else
-+        {
-+            var_13 = 'l';
-+            var_25 = (var_25 = var_25);
-+        }
-+        arg_1 += (byte)(("m".substring(837996717, 861903057).startsWith("vwpky", (var_13 = 'Z') % (byte)arg_1) ? !false ^ !var_26 : var_26) ? (byte)arg_1 : ((var_26 | var_26) ^ !false ? (short)'U' : (short)'d'));
-+        ((1.3445538E38F < (arg_1 -= 1236356135) ^ (var_26 = true)) & var_26 ? var_25 : (var_25 = var_25)).var_1 = true ? (var_25.var_1 = var_25) : (var_25.var_1 = var_25);
-+        var_26 |= - ((byte)251113415) < (short)arg_1 & false & false;
-+        arg_1 += (var_26 &= true) ? 7.546147305340402E307 : (true & !var_26 ? (byte)1.5107802154474685E307 : (byte)arg_1);
-+        var_25.var_1 = true ? "bqsewhn" : "aojssvan";
-+        return (byte)(var_13 = (char)(new short[(byte)46697464])[(byte)var_14]);
-+    }
-+
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester_Class_2.var_13 = "; result += Tester.Printer.print(var_13);
-+        result += "\n";
-+        result += "Tester_Class_2.var_14 = "; result += Tester.Printer.print(var_14);
-+        result += "\n";
-+        result += "Tester_Class_2.var_1 = "; result += Tester.Printer.print(var_1);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+}
-+
-+public class Tester {
-+    static Tester_Class_0 var_28;
-+    double var_29 = 4.861846831496217E307;
-+    static byte var_30 = 79;
-+    static boolean var_31 = false;
-+    final byte var_32 = 48;
-+
-+
-+    public short func_0(final byte arg_0, boolean arg_1, final double arg_2)
-+    {
-+        --var_30;
-+        new Tester_Class_2().var_1 = "xdwldeqhc";
-+        char var_33 = 'd';
-+        return (var_31 = var_30 < (new short[var_30])[var_30]) ? (short)(var_33 >>>= (short)2.3152642E38F) : var_30;
-+    }
-+
-+    private final float func_1(final long arg_0, final Tester_Class_0 arg_1, Tester_Class_0 arg_2, final char arg_3)
-+    {
-+        {
-+            new Tester_Class_0();
-+        }
-+        var_30 >>= (short)1.1469118780047631E308;
-+        var_31 |= var_31;
-+        if (true)
-+        {
-+            Tester_Class_2 var_34 = (var_31 ^= (var_31 ^= false)) ? (Tester_Class_2)arg_1 : (new Tester_Class_2[var_32])[var_30];
-+        }
-+        else
-+        {
-+            "shqjwg".compareToIgnoreCase(false ? "gxoyw" + "cx" : "r" + "icj");
-+        }
-+        ((new Tester_Class_2[var_32])[++var_30]).var_1 = (new Object[var_30][var_32][var_32])[var_30 |= var_32];
-+        arg_1.var_1 = (arg_2 = arg_2);
-+        arg_1.var_1 = (((new Tester_Class_2[var_30])[var_30 = var_32]).var_1 = new String[var_32]);
-+        var_28 = (Tester_Class_2)((arg_2 = arg_2).var_1 = new double[var_30]);
-+        arg_2 = arg_1;
-+        final boolean var_35 = "qjsdfuyru".endsWith("nuw" + "bne") | arg_3 >= 1.2054153346397785E308;
-+        var_31 &= (var_31 ^= var_35);
-+        {
-+            var_31 &= var_31 ? false : !false;
-+        }
-+        if (var_31)
-+        {
-+            var_28 = (new Tester_Class_2[var_32])[var_32];
-+        }
-+        else
-+        {
-+            arg_1.equals((new Object[var_32])[var_32]);
-+        }
-+        ((var_31 ^= true) ? "x" : "euc").substring(+ (var_30 ^= var_30) & (byte)(new short[var_30])[var_30 /= 4.220757896697652E307]);
-+        arg_2 = var_31 ? (Tester_Class_2)arg_1 : (Tester_Class_2)arg_2;
-+        arg_2 = (Tester_Class_2)(new Object[var_32][var_32])[var_30][var_32];
-+        return 9.932983E36F * (Tester_Class_2.var_13 = arg_3);
-+    }
-+
-+    public int func_2(Tester_Class_0 arg_0)
-+    {
-+        "ptwusxrxn".indexOf("v");
-+        var_30 |= 1770666843;
-+        var_29 += (short)(Tester_Class_2.var_14 / Tester_Class_2.var_14);
-+        if (var_31)
-+        {
-+            var_30 = var_32;
-+        }
-+        else
-+        {
-+            double var_36;
-+        }
-+        if (true)
-+        {
-+            var_30 -= 2.1474216E38F;
-+        }
-+        else
-+        {
-+            var_29 += 'f';
-+        }
-+        var_29 -= Tester_Class_2.var_14;
-+        if (false)
-+        {
-+            arg_0.var_1 = arg_0;
-+        }
-+        else
-+        {
-+            arg_0 = (var_28 = (var_28 = arg_0));
-+        }
-+        {
-+            Tester_Class_2.var_13 = 'p';
-+        }
-+        var_29 = ~Tester_Class_2.var_14 % 'y';
-+        switch (var_30 >>>= var_30)
-+        {
-+            case 115:
-+
-+        }
-+        arg_0 = arg_0;
-+        var_31 ^= (var_31 = true);
-+        return "".charAt(~var_32) >> ((var_31 &= true) ? var_30 : var_32);
-+    }
-+
-+    protected double func_3(boolean[] arg_0, double arg_1, long[][] arg_2)
-+    {
-+        switch (var_31 ? (short)(var_32 / (arg_1 /= (int)(arg_1 *= (Tester_Class_2.var_13 = ']')))) : (var_30 ^= + +Tester_Class_2.var_14 * (+ +3075166460237931520L / '[')))
-+        {
-+            case 31:
-+
-+            case 118:
-+
-+        }
-+        Tester_Class_2.var_13 = 'm';
-+        "mwkh".indexOf("hdgiquve", (new char[var_32])[var_30 &= 'S'] % var_30);
-+        final boolean var_37 = false;
-+        char var_38 = 'F';
-+        var_28 = (new Tester_Class_2[var_30][var_30])[var_30 *= var_38][var_32];
-+        new Tester_Class_0().var_1 = new char[var_32][var_30];
-+        var_30 &= var_30;
-+        var_31 |= (var_31 |= true);
-+        int var_39 = 1769831681;
-+        final Tester_Class_2 var_40 = (var_31 |= false ? var_31 : var_37) ? (Tester_Class_2)((new Object[var_30][var_30][var_32])[var_30 <<= var_30])[var_30][var_30++] : (Tester_Class_2)new Tester_Class_0();
-+        var_30 -= +var_30;
-+        "dvmuim".replaceFirst("clmisuxu", "".toLowerCase() + "xi");
-+        var_39 = var_38 - (short)585806817;
-+        arg_1 += (double)(short)(6.4329855E37F / var_32 * (var_38 += 'w'));
-+        ++var_39;
-+        var_40.var_1 = (var_28 = (var_28 = var_40));
-+        var_29 /= 3.5705444317400964E306;
-+        Tester_Interface_1 var_41;
-+        return arg_1;
-+    }
-+
-+    final char func_4(final long arg_0, int arg_1, final int arg_2)
-+    {
-+        {
-+            Tester_Class_2.var_13 = 'D';
-+            var_31 = false;
-+        }
-+        if (var_31)
-+        {
-+            var_30--;
-+            Tester_Class_0 var_42 = var_28 = (new Tester_Class_0[var_32])[var_32];
-+        }
-+        else
-+        {
-+            Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'H');
-+        }
-+        var_28 = (Tester_Class_2)(new Tester_Class_2().var_1 = (var_28 = (new Tester_Class_0[var_30])[var_30]));
-+        arg_1 &= var_32;
-+        --var_30;
-+        return Tester_Class_2.var_13 = 'n';
-+    }
-+
-+    final static Object func_5()
-+    {
-+        var_28 = (Tester_Class_2)(! (var_31 |= true & var_31) ? (new Tester_Class_0[var_30])[var_30] : (var_28 = (new Tester_Class_0[var_30])[var_30]));
-+        var_31 |= false;
-+        return var_31 ? (((Tester_Class_2)(new Object[var_30])[var_30]).var_1 = (new Tester_Class_0[var_30 /= 1366944127])[var_30]) : (new Tester_Class_0[var_30][var_30])[var_30 += 1.4070924450257891E307][var_30];
-+    }
-+
-+    static Tester_Class_2 func_6(final Object arg_0)
-+    {
-+        var_28 = (var_31 ^= true) ? (Tester_Class_2)arg_0 : (Tester_Class_2)arg_0;
-+        ((new Tester[--var_30])[var_30]).var_29 -= -3.0029087E38F * (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'k'));
-+        var_28 = (Tester_Class_2)(var_28 = (var_28 = (var_28 = (Tester_Class_0)arg_0)));
-+        return false ? new Tester_Class_2() : new Tester_Class_2();
-+    }
-+
-+    private static Tester_Interface_1 func_7(byte arg_0, Tester_Class_2 arg_1, final int arg_2, char arg_3)
-+    {
-+        {
-+            var_31 = var_31;
-+            var_31 |= (var_31 &= (var_31 |= !true));
-+            arg_0 += Tester_Class_2.var_14;
-+        }
-+        var_30 = (var_30 *= ((new Tester[arg_0 ^= 1039546367])[arg_0]).var_32);
-+        arg_1.var_1 = (var_31 ^= (var_31 &= !var_31 && !var_31)) ? (arg_1 = (arg_1 = arg_1)) : (new Tester_Class_0[arg_0++][arg_0])[arg_0][arg_0];
-+        arg_1.var_1 = var_31 ? "jpmg" : "epwvupaqp";
-+        var_28 = arg_1;
-+        if (false)
-+        {
-+            arg_1 = arg_1;
-+        }
-+        else
-+        {
-+            arg_3 += var_30 % -9.298157E37F;
-+        }
-+        arg_1.var_1 = ((var_28 = (var_28 = arg_1)).var_1 = ((var_28 = arg_1).var_1 = "rlmf"));
-+        var_28 = (arg_1 = arg_1);
-+        arg_1 = arg_1;
-+        {
-+            var_31 = true;
-+        }
-+        (arg_1 = arg_1).var_1 = (arg_1.var_1 = (arg_1 = arg_1));
-+        final short[] var_43 = new short[(var_31 &= false) ? arg_0 : var_30];
-+        final short var_44 = 18087;
-+        return false ? (new Tester_Interface_1[var_30 %= Tester_Class_2.var_14])[arg_0 -= 8.913955E37F * +arg_0] : (new Tester_Interface_1[var_30])[var_30];
-+    }
-+
-+    private static float func_8(final Object[] arg_0, final byte arg_1, Tester_Class_0[] arg_2)
-+    {
-+        ((new Tester_Class_2[var_30 /= -2.37832E38F])[((new Tester[arg_1])[(new byte[arg_1])[arg_1]]).var_32]).var_1 = new Tester_Interface_1[arg_1];
-+        if (var_31)
-+        {
-+            var_28 = (Tester_Class_2)(var_28 = arg_2[var_30]);
-+        }
-+        else
-+        {
-+            var_30 -= Tester_Class_2.var_14;
-+            final int var_45 = 1864933386;
-+            final Tester_Class_0 var_46 = var_28 = (new Tester_Class_2[arg_1][var_30 |= Tester_Class_2.var_14])[((new Tester[arg_1][var_30])[var_30][var_30]).var_32][arg_1];
-+            var_31 &= (var_31 ^= false);
-+            var_30 += (false ? 2.7581227E37F : + +1.8832631E38F) * ('P' * -1.9479086E38F);
-+        }
-+        (var_28 = (Tester_Class_2)arg_2[arg_1]).var_1 = (new Tester_Class_2[var_30][arg_1][arg_1])[arg_1];
-+        ++var_30;
-+        (var_28 = (new Tester_Class_2[var_30])[arg_1]).var_1 = false ? (new Tester_Class_0[var_30][var_30])[var_30][arg_1] : arg_2[var_30];
-+        var_31 |= false;
-+        ((new Tester[arg_1][var_30 >>>= (char)1981599])[arg_1][arg_1]).var_29 = false ^ (var_31 = var_31) ? (Tester_Class_2.var_13 = "nes".charAt(1080898679)) : - (var_30 %= 'n') ^ arg_1;
-+        {
-+            ((new Tester[arg_1])[var_30]).var_29 = (short)(Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'h'));
-+        }
-+        Tester_Class_2.var_13 = 'j';
-+        ((new Tester_Class_2[arg_1])[var_30]).var_1 = new byte[var_30];
-+        var_31 ^= (var_31 ^= !false);
-+        "wcbi".toString();
-+        final byte var_47 = var_30;
-+        if (true)
-+        {
-+            "mpbkilw".substring(199662864);
-+        }
-+        else
-+        {
-+            var_30++;
-+        }
-+        Tester_Class_2.var_13 = '`';
-+        "yujypq".indexOf("crve" + "inmvh", false ? ~arg_1 : "vukbkc".charAt(528096652));
-+        Tester_Class_2 var_48 = (Tester_Class_2)((!var_31 & (var_31 ^= false ^ !true) ? false | !true : false) ? (var_28 = (Tester_Class_2)arg_0[var_30]) : (new Tester_Class_2[arg_1])[var_30]);
-+        return (float)(var_31 ^ var_31 ? (var_30 ^= (short)((new Tester[var_30])[var_30]).var_29) : (var_30 /= - -5.917837279005691E307 - - +3.2004715720509636E306));
-+    }
-+
-+    final Tester_Class_0 func_9()
-+    {
-+        var_30 += -3531557622894482432L / ~var_30;
-+        var_28 = (var_28 = (new Tester_Class_2[var_30 += + -7.0203367E37F])[var_30]);
-+        var_31 ^= ! !false ^ false;
-+        if (true)
-+        {
-+            byte[] var_49;
-+            var_31 &= true;
-+            short var_50 = 14869;
-+        }
-+        else
-+        {
-+            (((new Tester[var_32][var_30][var_32])[var_30])[var_32][var_30]).var_29 *= 'h';
-+        }
-+        final int var_51 = false ? +var_32 >>> ~var_30 : --var_30;
-+        var_31 |= false;
-+        return (new Tester_Class_0[var_32][var_32])[var_30][var_30];
-+    }
-+
-+    public static Object func_10()
-+    {
-+        Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'O');
-+        return ((Tester_Class_2)(new Object[--var_30])[var_30]).var_1 = (((Tester_Class_2)(new Object[var_30])[var_30]).var_1 = "iu");
-+    }
-+
-+    protected byte func_11(final Tester_Interface_1[] arg_0)
-+    {
-+        {
-+            --var_30;
-+            var_29 *= (short)1749707986816114688L;
-+            var_31 = (var_31 = (var_31 |= var_31));
-+            var_30 -= 6.4575257E37F;
-+        }
-+        var_28 = (var_28 = func_9());
-+        Tester_Class_2.var_13 = 'b';
-+        var_30--;
-+        var_28 = (var_28 = (var_28 = (var_28 = (Tester_Class_2)func_10())));
-+        var_28 = (new Tester_Class_2[var_32])[var_30];
-+        char var_52 = (var_31 = false) ? (char)+ +Tester_Class_2.var_14 : (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = '_'));
-+        if (false)
-+        {
-+            var_30 += (short)(var_32 + 840104459);
-+        }
-+        else
-+        {
-+            var_29 /= 2.5320765E38F;
-+        }
-+        if (true)
-+        {
-+            var_30 %= 379977167934025728L;
-+        }
-+        else
-+        {
-+            var_52 = var_52;
-+        }
-+        var_30 >>= ('A' ^ --var_30) & 'H';
-+        Tester_Class_2 var_53;
-+        final int var_54 = 771623383;
-+        var_29 %= (+1.938582E37F - 'G') * ++var_30;
-+        int var_55 = (short)6.234053079170724E306 - (int)'^' / ((var_31 &= (var_31 ^= var_31)) ? (short)var_30 : ++var_30);
-+        var_55 >>>= var_55 / ~6865244393150017536L;
-+        var_31 ^= !false;
-+        return var_30 >>>= 4351766607072508928L >> func_0(var_32, var_31, 1.021781609675458E308);
-+    }
-+
-+    public static String execute()
-+    {
-+        try {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { return t.toString(); }
-+            catch (Throwable e) { return "Error during result conversion to String"; }
-+        } catch (Throwable e) { return "Error during test execution"; }
-+    }
-+
-+    public static void main(String[] args)
-+    {
-+        try {
-+            Tester t = new Tester();
-+            try { t.test(); }
-+            catch(Throwable e) { }
-+            try { System.out.println(t); }
-+            catch(Throwable e) { }
-+        } catch (Throwable e) { }
-+    }
-+
-+    private void test()
-+    {
-+        {
-+            ((Tester_Class_2)(Tester_Class_0)((var_31 = true) ^ (var_31 |= false & true) ? func_10() : new Tester_Class_2[var_32])).var_1 = ((var_28 = new Tester_Class_0()).var_1 = (new Tester_Class_0().var_1 = new Tester_Class_2()));
-+        }
-+        new String();
-+        Tester_Class_2.var_13 = '[';
-+        var_28 = (Tester_Class_2)(((var_31 ^= true) ? func_9() : new Tester_Class_0()).var_1 = new Tester_Class_2());
-+        var_28 = new Tester_Class_0();
-+        new String();
-+        {
-+            if ((new boolean[var_30])[var_30] & 732877932 == 1.4654316E38F & "xpqy".replace(']', 'f').startsWith("pqrqunvfx") ? ((var_31 ^= (var_31 &= var_31)) ? !var_31 : (var_31 &= true)) : var_31)
-+            {
-+                var_31 &= var_31;
-+            }
-+            else
-+            {
-+                func_2(var_28 = new Tester_Class_0());
-+            }
-+            {
-+                ((new Tester_Class_0[var_30][var_30])[var_30][var_30]).var_1 = "uwrbjvl";
-+                var_28 = (Tester_Class_0)func_5();
-+            }
-+            Tester_Class_2.var_13 = 's';
-+            Tester_Class_0 var_56 = var_28 = true ? func_6(func_5()) : (new Tester_Class_2[var_30][var_32])[var_32][var_32];
-+            double var_57 = 0;
-+            var_29 += 1024895641427426304L % ~ ~Tester_Class_2.var_14;
-+            while ((true || (var_31 = var_31)) && var_57 < 12)
-+            {
-+                (false & !false ? var_56 : (var_56 = var_56)).var_1 = "vbc";
-+                var_57++;
-+                var_29 += func_0(var_30 /= (short)var_30 / var_32, false, var_57);
-+                (var_31 ? (Tester_Class_2)var_56 : (new Tester_Class_2[var_30])[var_30]).var_1 = new double[var_31 ? (var_30 |= 177265600183083008L) : var_32];
-+            }
-+            switch (var_31 ^ var_31 | ! (var_31 = false) & (var_31 & false) ? (true ? (short)var_30 : func_0(var_30, true, var_57)) : func_0(var_30, var_31, var_29 /= 2.7203017E38F))
-+            {
-+                case 23:
-+                    var_31 ^= true ? var_31 : var_31;
-+                    break;
-+
-+                case 40:
-+
-+                default:
-+
-+                case 104:
-+
-+            }
-+            Object var_58 = (var_31 ^= (var_31 ^= false) | (~3392263608888292352L < 1681682009 | var_31)) ? (((new Tester_Class_2[Tester_Class_2.func_5(Tester_Class_2.var_14, 3.3507317E38F, var_57)])[var_30 %= var_32]).var_1 = (var_56 = (Tester_Class_0)func_5())) : func_5();
-+            (var_56 = (var_28 = (var_56 = func_6(var_58)))).var_1 = (((new Tester_Class_2[var_30])[var_30]).var_1 = new float[(byte)Tester_Class_2.var_14][var_32]);
-+            new Tester_Class_2().var_1 = new double[var_30];
-+            final Tester_Class_0 var_59 = var_28 = (!false & (false || (var_31 && !var_31) & false) ? var_31 : (var_31 |= !var_31)) ? (Tester_Class_2)(var_28 = new Tester_Class_2()) : (false ? new Tester_Class_2() : (Tester_Class_2)var_58);
-+        }
-+        var_30--;
-+        {
-+            var_29 += ~func_11(((new Tester_Interface_1[var_32][var_30][var_32])[var_30 ^= var_30])[var_32]);
-+        }
-+        float var_60 = 0F;
-+        double var_61 = var_29;
-+        do
-+        {
-+            long var_62;
-+            var_60++;
-+            "vcs".offsetByCodePoints((short)('w' | (short)var_30) & (new short[--var_30])[var_30], ((var_31 |= var_31) ^ (var_31 = var_31) ? var_32 : var_30) - (short)86413218);
-+        } while (false && (var_60 < 100 && ((var_31 = false) ? var_31 : (var_31 ^= false)) & var_31));
-+        long var_63 = 0L;
-+        double var_64 = (var_31 ? (Tester_Class_2.var_13 = 'V') : 'e') - (var_29 = 'A') * (var_29 = var_30);
-+        var_31 &= (short)+ var_30-- + var_30 <= var_60;
-+        while (false && (var_63 < 23 && false))
-+        {
-+            var_30 >>= func_0(var_30, var_31, var_29) ^ ("".endsWith("mecvlajq" + "jhrbf") ? var_30 : (short)var_61);
-+            var_63++;
-+            var_28 = (Tester_Class_2)(var_28 = new Tester_Class_2());
-+            new Tester_Class_0();
-+        }
-+        double var_65 = 0;
-+        var_61 -= var_65;
-+        for (((var_31 &= (var_31 ^= var_31)) | var_31 ? new Tester_Class_2() : new Tester_Class_2()).var_1 = ! (var_31 = false) && !var_31 ? func_10() : new Object[var_32][var_32]; var_31 | var_31 && (var_65 < 107 && (false ? !var_31 : (var_31 &= var_31))); var_30 *= Tester_Class_2.var_14)
-+        {
-+            var_28 = var_30 > (var_31 | true ? (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'k')) : (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'r'))) ? (Tester_Class_2)((var_28 = (Tester_Class_0)func_5()).var_1 = func_5()) : new Tester_Class_2();
-+            var_65++;
-+            var_29 = "efothsl".startsWith("qk") ? 3.2306712E37F : +1.1835607464479516E308;
-+            new Tester_Class_2().var_1 = new Tester_Class_0();
-+        }
-+        double var_66 = 0;
-+        func_6(((Tester_Class_2)((true ? (Tester_Class_2)func_10() : (Tester_Class_2)func_9()).var_1 = (var_28 = (Tester_Class_2)func_10()))).var_1 = "");
-+        while (false | (new boolean[var_30][var_30])[var_30][var_32] && (var_66 < 104 && false))
-+        {
-+            ((var_31 ^= !false) ? "" : "slgr").toUpperCase();
-+            var_66++;
-+            var_28 = func_6(func_9().var_1 = func_10());
-+            var_31 |= (var_31 |= true);
-+        }
-+        Tester_Class_2.var_13 = var_31 ? (Tester_Class_2.var_13 = 'Y') : (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = (Tester_Class_2.var_13 = func_4(var_63, 137999726, 1870981930))));
-+        int var_67 = 0;
-+        final double var_68 = 9.955130040461458E307;
-+        do
-+        {
-+            "".lastIndexOf(var_32 != (Tester_Class_2.var_13 = 'f') ? (Tester_Class_2.var_13 = 'C') : ~var_30, (char)3.187607E38F + (var_30 /= var_30));
-+            var_67++;
-+            Tester_Class_2.var_13 = (Tester_Class_2.var_13 = 'B');
-+        } while (var_67 < 9 && var_31 ^ var_31);
-+        int var_69 = 0;
-+        (true ? func_6(func_10()) : (Tester_Class_2)func_9()).var_1 = ((var_28 = (var_28 = new Tester_Class_2())).var_1 = (func_6(new Tester_Class_2().var_1 = new Tester_Class_0()).var_1 = (Tester_Class_2)func_9()));
-+        do
-+        {
-+            var_28 = (Tester_Class_2)(var_28 = (Tester_Class_0)(new Tester_Class_2().var_1 = "qs"));
-+            var_69++;
-+            var_31 ^= var_31;
-+        } while (var_69 < 189);
-+        (! (var_31 = true) | var_31 ? new Tester_Class_2() : (new Tester_Class_0[var_30])[var_30]).var_1 = (((new Tester_Class_2[var_30 ^= (short)var_30])[var_30]).var_1 = (var_31 ? var_31 : (var_31 |= false)) ? "lfhliyphg" : "impovq");
-+        ((var_31 ? var_32 == (short)8901596111720974336L : 220705842 != var_60) ? (new Tester_Class_2[var_30])[var_32] : (new Tester_Class_2[var_30][var_32])[var_30][var_30]).var_1 = (var_28 = ((char)var_30 >= "pngjthlf".lastIndexOf("jjbuojp") & var_31 ? var_31 : var_31) ? (new Tester_Class_2[var_32])[var_30] : func_6(new Tester_Class_2().var_1 = new String[var_32]));
-+        Tester_Class_2.var_13 = 'c';
-+    }
-+    public String toString()
-+    {
-+        String result =  "[\n";
-+        result += "Tester.var_29 = "; result += Printer.print(var_29);
-+        result += "\n";
-+        result += "Tester.var_30 = "; result += Printer.print(var_30);
-+        result += "\n";
-+        result += "Tester.var_32 = "; result += Printer.print(var_32);
-+        result += "\n";
-+        result += "Tester.var_31 = "; result += Printer.print(var_31);
-+        result += "\n";
-+        result += "Tester.var_28 = "; result += Printer.print(var_28);
-+        result += "";
-+        result += "\n]";
-+        return result;
-+    }
-+    static class Printer
-+    {
-+        public static String print(boolean arg) { return String.valueOf(arg); }
-+        public static String print(byte arg)    { return String.valueOf(arg); }
-+        public static String print(short arg)   { return String.valueOf(arg); }
-+        public static String print(char arg)    { return String.valueOf((int)arg); }
-+        public static String print(int arg)     { return String.valueOf(arg); }
-+        public static String print(long arg)    { return String.valueOf(arg); }
-+        public static String print(float arg)   { return String.valueOf(arg); }
-+        public static String print(double arg)  { return String.valueOf(arg); }
-+
-+
-+        public static String print(Object arg)
-+        {
-+            return print_r(new java.util.Stack(), arg);
-+        }
-+
-+        private static String print_r(java.util.Stack visitedObjects, Object arg)
-+        {
-+            String result = "";
-+            if (arg == null)
-+                result += "null";
-+            else
-+            if (arg.getClass().isArray())
-+            {
-+                for (int i = 0; i < visitedObjects.size(); i++)
-+                    if (visitedObjects.elementAt(i) == arg) return "<recursive>";
-+
-+                visitedObjects.push(arg);
-+
-+                final String delimiter = ", ";
-+                result += "[";
-+
-+                if (arg instanceof Object[])
-+                {
-+                    Object[] array = (Object[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print_r(visitedObjects, array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof boolean[])
-+                {
-+                    boolean[] array = (boolean[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof byte[])
-+                {
-+                    byte[] array = (byte[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof short[])
-+                {
-+                    short[] array = (short[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof char[])
-+                {
-+                    char[] array = (char[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof int[])
-+                {
-+                     int[] array = (int[]) arg;
-+                     for (int i = 0; i < array.length; i++)
-+                     {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                     }
-+                }
-+                else
-+                if (arg instanceof long[])
-+                {
-+                    long[] array = (long[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof float[])
-+                {
-+                    float[] array = (float[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+                else
-+                if (arg instanceof double[])
-+                {
-+                    double[] array = (double[]) arg;
-+                    for (int i = 0; i < array.length; i++)
-+                    {
-+                        result += print(array[i]);
-+                        if (i < array.length - 1) result += delimiter;
-+                    }
-+                }
-+
-+                result += "]";
-+                visitedObjects.pop();
-+
-+            } else
-+            {
-+                result += arg.toString();
-+            }
-+
-+            return result;
-+        }
-+    }
-+}
-+
-+
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6724218/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6724218/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,98 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6724218
-+ * @summary Fix raise_LCA_above_marks() early termination
-+ * @run main/othervm -Xbatch -XX:CompileCommand=exclude,Test.update Test
-+ */
-+
-+public class Test {
-+    Test   next  = null;
-+    Object value = null;
-+
-+    static boolean _closed = false;
-+    static int size = 0;
-+    static Test list  = null;
-+    static int cache_size = 0;
-+    static Test cache = null;
-+
-+    Object get(int i) {
-+        Test t = list;
-+        list = t.next;
-+        size -= 1;
-+        Object o = t.value;
-+        if (i > 0) {
-+            t.next = cache;
-+            t.value = null;
-+            cache = t;
-+            cache_size = +1;
-+        }
-+        return o;
-+    }
-+
-+    void update() {
-+        // Exclude compilation of this one.
-+        if (size == 0) {
-+            Test t;
-+            if (cache_size > 0) {
-+                t = cache;
-+                cache = t.next;
-+                cache_size = -1;
-+            } else {
-+                t = new Test();
-+            }
-+            t.value = new Object();
-+            t.next = list;
-+            list = t;
-+            size += 1;
-+        }
-+    }
-+
-+    synchronized Object test(int i) {
-+        while (true) {
-+            if (_closed) {
-+                return null;
-+            } else if (size > 0) {
-+                return get(i);
-+            }
-+            update();
-+        }
-+    }
-+
-+    public static void main(String argv[]) throws Exception {
-+        Test t = new Test();
-+        int lim = 500000;
-+        Object o;
-+        for (int j = 0; j < lim; j++) {
-+            o = t.test(j&1);
-+            if (o == null) {
-+              throw new Exception("*** Failed on iteration " + j);
-+            }
-+            if ((j&1) == 0) {
-+              t.update();
-+            }
-+        }
-+    }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6726999/Test.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6726999/Test.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,1419 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ *
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6726999
-+ * @summary nsk/stress/jck12a/jck12a010 assert(n != NULL,"Bad immediate dominator info.");
-+ * @run main/othervm -Xbatch -XX:CompileCommand=exclude,Test.dummy -XX:+AggressiveOpts Test
-+ */
-+
-+import java.lang.reflect.Array;
-+
-+class Point {
-+  int x;
-+  int y;
-+}
-+
-+public class Test {
-+
-+  void dummy() {
-+    // Empty method to verify correctness of DebugInfo.
-+    // Use -XX:CompileCommand=exclude,Test.dummy
-+  }
-+
-+  int test0_0_0(int y) {
-+    int x = 3;
-+    Point p = new Point();
-+    dummy();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    return p.x * p.y;
-+  }
-+
-+  int test0_0_1(int y) {
-+    int x = 3;
-+    Point p = null;
-+    dummy();
-+    p = new Point();
-+    dummy();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    return p.x * p.y;
-+  }
-+
-+  int test0_0_2(int y) {
-+    int x = 3;
-+    Point p = new Point();
-+    dummy();
-+    p = new Point();
-+    dummy();
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    return p.x * p.y;
-+  }
-+
-+  int test0_0_3(int y) {
-+    int x = 3;
-+    Point p[] = new Point[1];
-+    p[0] = new Point();
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_0_4(int y) {
-+    int x = 3;
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = new Point();
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_0_5(int y) {
-+    int x = 3;
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = null;
-+    dummy();
-+    p[0] = new Point();
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_0_6(int y) {
-+    int x = 3;
-+    Point p[] = new Point[1];
-+    p[0] = new Point();
-+    dummy();
-+    p[0] = new Point();
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_1_3(int y) {
-+    int x = 3;
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    p[0] = p1;
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_1_4(int y) {
-+    int x = 3;
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = p1;
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_1_5(int y) {
-+    int x = 3;
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = null;
-+    dummy();
-+    p[0] = p1;
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test0_1_6(int y) {
-+    int x = 3;
-+    Point p1 = new Point();
-+    dummy();
-+    Point p2 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    p[0] = p1;
-+    dummy();
-+    p[0] = p2;
-+    dummy();
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_0_0(int y) {
-+    Point p = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p = new Point();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_0_1(int y) {
-+    Point p = null;
-+    if ( (y & 1) == 1 ) {
-+      p = new Point();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_0_2(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      p[0] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_0_3(int y) {
-+    Point p[] = new Point[1];
-+    p[0] = null;
-+    if ( (y & 1) == 1 ) {
-+      p[0] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_0_4(int y) {
-+    Point p[] = new Point[1];
-+    p[0] = new Point();
-+    if ( (y & 1) == 1 ) {
-+      p[0] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_0_5(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      p[0] = new Point();
-+    } else {
-+      p[0] = null;
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_0_6(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      p[0] = new Point();
-+    } else {
-+      p[0] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_1_0(int y) {
-+    Point p = new Point();
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_1_1(int y) {
-+    Point p = null;
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_1_2(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_1_3(int y) {
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = null;
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_1_4(int y) {
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = new Point();
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_1_5(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    } else {
-+      dummy();
-+      p[0] = null;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_1_6(int y) {
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    } else {
-+      dummy();
-+      p[0] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_2_0(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p = new Point();
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_2_1(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p = null;
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test1_2_2(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_2_3(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = null;
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_2_4(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p2 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    dummy();
-+    p[0] = p1;
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = p2;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_2_5(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = p1;
-+      dummy();
-+    } else {
-+      dummy();
-+      p[0] = null;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test1_2_6(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p2 = new Point();
-+    dummy();
-+    Point p[] = new Point[1];
-+    if ( (y & 1) == 1 ) {
-+      dummy();
-+      p[0] = p1;
-+      dummy();
-+    } else {
-+      dummy();
-+      p[0] = p2;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[0] == null )
-+      return (3 * x + y) * x;
-+    p[0].x = x;
-+    p[0].y = 3 * x + y;
-+    dummy();
-+    return p[0].x * p[0].y;
-+  }
-+
-+  int test2_0_0(int y) {
-+    Point p = new Point();
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p = new Point();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_0_1(int y) {
-+    Point p = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p = new Point();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_0_2(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_0_3(int y) {
-+    Point p[] = new Point[3];
-+    int j = (y & 1);
-+    p[j] = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_0_4(int y) {
-+    Point p[] = new Point[3];
-+    int j = (y & 1);
-+    p[j] = new Point();
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_0_5(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = null;
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_0_6(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      p[i] = new Point();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_1_0(int y) {
-+    Point p = new Point();
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_1_1(int y) {
-+    Point p = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_1_2(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_1_3(int y) {
-+    Point p[] = new Point[3];
-+    dummy();
-+    int j = (y & 1);
-+    p[j] = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_1_4(int y) {
-+    Point p[] = new Point[3];
-+    dummy();
-+    int j = (y & 1);
-+    p[j] = new Point();
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_1_5(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = null;
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_1_6(int y) {
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = new Point();
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_2_0(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p = new Point();
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_2_1(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p == null )
-+      return (3 * x + y) * x;
-+    p.x = x;
-+    p.y = 3 * x + y;
-+    dummy();
-+    return p.x * p.y;
-+  }
-+
-+  int test2_2_2(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_2_3(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[3];
-+    dummy();
-+    int j = (y & 1);
-+    p[j] = null;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p1;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_2_4(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p2 = new Point();
-+    dummy();
-+    Point p[] = new Point[3];
-+    dummy();
-+    int j = (y & 1);
-+    p[j] = p1;
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p2;
-+      dummy();
-+    }
-+    int x = 3;
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_2_5(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p1;
-+      dummy();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = null;
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  int test2_2_6(int y) {
-+    Point p1 = new Point();
-+    dummy();
-+    Point p2 = new Point();
-+    dummy();
-+    Point p[] = new Point[3];
-+    int lim = (y & 3);
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p1;
-+      dummy();
-+    }
-+    for (int i = 0; i < lim; i++) {
-+      dummy();
-+      p[i] = p2;
-+      dummy();
-+    }
-+    int x = 3;
-+    int j = (y & 1);
-+    if ( p[j] == null )
-+      return (3 * x + y) * x;
-+    p[j].x = x;
-+    p[j].y = 3 * x + y;
-+    dummy();
-+    return p[j].x * p[0].y;
-+  }
-+
-+  public static void main(String args[]) {
-+    Test tsr    = new Test();
-+    Point p     = new Point();
-+    Point ptmp  = p;
-+    Class cls   = Point.class;
-+    int y = 0;
-+    for (int i=0; i<10000; i++) {
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_6(y);
-+      y = tsr.test0_0_6(y);
-+
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_6(y);
-+      y = tsr.test0_1_6(y);
-+
-+      y = tsr.test1_0_0(y&~1);
-+      y = tsr.test1_0_1(y&~1);
-+      y = tsr.test1_0_2(y&~1);
-+      y = tsr.test1_0_3(y&~1);
-+      y = tsr.test1_0_4(y&~1);
-+      y = tsr.test1_0_5(y&~1);
-+      y = tsr.test1_0_6(y&~1);
-+      y = tsr.test1_0_0((y&~1)+1);
-+      y = tsr.test1_0_1((y&~1)+1);
-+      y = tsr.test1_0_2((y&~1)+1);
-+      y = tsr.test1_0_3((y&~1)+1);
-+      y = tsr.test1_0_4((y&~1)+1);
-+      y = tsr.test1_0_5((y&~1)+1);
-+      y = tsr.test1_0_6((y&~1)+1);
-+
-+      y = tsr.test1_1_0(y&~1);
-+      y = tsr.test1_1_1(y&~1);
-+      y = tsr.test1_1_2(y&~1);
-+      y = tsr.test1_1_3(y&~1);
-+      y = tsr.test1_1_4(y&~1);
-+      y = tsr.test1_1_5(y&~1);
-+      y = tsr.test1_1_6(y&~1);
-+      y = tsr.test1_1_0((y&~1)+1);
-+      y = tsr.test1_1_1((y&~1)+1);
-+      y = tsr.test1_1_2((y&~1)+1);
-+      y = tsr.test1_1_3((y&~1)+1);
-+      y = tsr.test1_1_4((y&~1)+1);
-+      y = tsr.test1_1_5((y&~1)+1);
-+      y = tsr.test1_1_6((y&~1)+1);
-+
-+      y = tsr.test1_2_0(y&~1);
-+      y = tsr.test1_2_1(y&~1);
-+      y = tsr.test1_2_2(y&~1);
-+      y = tsr.test1_2_3(y&~1);
-+      y = tsr.test1_2_4(y&~1);
-+      y = tsr.test1_2_5(y&~1);
-+      y = tsr.test1_2_6(y&~1);
-+      y = tsr.test1_2_0((y&~1)+1);
-+      y = tsr.test1_2_1((y&~1)+1);
-+      y = tsr.test1_2_2((y&~1)+1);
-+      y = tsr.test1_2_3((y&~1)+1);
-+      y = tsr.test1_2_4((y&~1)+1);
-+      y = tsr.test1_2_5((y&~1)+1);
-+      y = tsr.test1_2_6((y&~1)+1);
-+
-+      y = tsr.test2_0_0(y&~3);
-+      y = tsr.test2_0_1(y&~3);
-+      y = tsr.test2_0_2(y&~3);
-+      y = tsr.test2_0_3(y&~3);
-+      y = tsr.test2_0_4(y&~3);
-+      y = tsr.test2_0_5(y&~3);
-+      y = tsr.test2_0_6(y&~3);
-+      y = tsr.test2_0_0((y&~3)+3);
-+      y = tsr.test2_0_1((y&~3)+3);
-+      y = tsr.test2_0_2((y&~3)+3);
-+      y = tsr.test2_0_3((y&~3)+3);
-+      y = tsr.test2_0_4((y&~3)+3);
-+      y = tsr.test2_0_5((y&~3)+3);
-+      y = tsr.test2_0_6((y&~3)+3);
-+
-+      y = tsr.test2_1_0(y&~3);
-+      y = tsr.test2_1_1(y&~3);
-+      y = tsr.test2_1_2(y&~3);
-+      y = tsr.test2_1_3(y&~3);
-+      y = tsr.test2_1_4(y&~3);
-+      y = tsr.test2_1_5(y&~3);
-+      y = tsr.test2_1_6(y&~3);
-+      y = tsr.test2_1_0((y&~3)+3);
-+      y = tsr.test2_1_1((y&~3)+3);
-+      y = tsr.test2_1_2((y&~3)+3);
-+      y = tsr.test2_1_3((y&~3)+3);
-+      y = tsr.test2_1_4((y&~3)+3);
-+      y = tsr.test2_1_5((y&~3)+3);
-+      y = tsr.test2_1_6((y&~3)+3);
-+
-+      y = tsr.test2_2_0(y&~3);
-+      y = tsr.test2_2_1(y&~3);
-+      y = tsr.test2_2_2(y&~3);
-+      y = tsr.test2_2_3(y&~3);
-+      y = tsr.test2_2_4(y&~3);
-+      y = tsr.test2_2_5(y&~3);
-+      y = tsr.test2_2_6(y&~3);
-+      y = tsr.test2_2_0((y&~3)+3);
-+      y = tsr.test2_2_1((y&~3)+3);
-+      y = tsr.test2_2_2((y&~3)+3);
-+      y = tsr.test2_2_3((y&~3)+3);
-+      y = tsr.test2_2_4((y&~3)+3);
-+      y = tsr.test2_2_5((y&~3)+3);
-+      y = tsr.test2_2_6((y&~3)+3);
-+
-+    }
-+    for (int i=0; i<10000; i++) {
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_6(y);
-+      y = tsr.test0_0_6(y);
-+
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_6(y);
-+      y = tsr.test0_1_6(y);
-+
-+      y = tsr.test1_0_0(y&~1);
-+      y = tsr.test1_0_1(y&~1);
-+      y = tsr.test1_0_2(y&~1);
-+      y = tsr.test1_0_3(y&~1);
-+      y = tsr.test1_0_4(y&~1);
-+      y = tsr.test1_0_5(y&~1);
-+      y = tsr.test1_0_6(y&~1);
-+      y = tsr.test1_0_0((y&~1)+1);
-+      y = tsr.test1_0_1((y&~1)+1);
-+      y = tsr.test1_0_2((y&~1)+1);
-+      y = tsr.test1_0_3((y&~1)+1);
-+      y = tsr.test1_0_4((y&~1)+1);
-+      y = tsr.test1_0_5((y&~1)+1);
-+      y = tsr.test1_0_6((y&~1)+1);
-+
-+      y = tsr.test1_1_0(y&~1);
-+      y = tsr.test1_1_1(y&~1);
-+      y = tsr.test1_1_2(y&~1);
-+      y = tsr.test1_1_3(y&~1);
-+      y = tsr.test1_1_4(y&~1);
-+      y = tsr.test1_1_5(y&~1);
-+      y = tsr.test1_1_6(y&~1);
-+      y = tsr.test1_1_0((y&~1)+1);
-+      y = tsr.test1_1_1((y&~1)+1);
-+      y = tsr.test1_1_2((y&~1)+1);
-+      y = tsr.test1_1_3((y&~1)+1);
-+      y = tsr.test1_1_4((y&~1)+1);
-+      y = tsr.test1_1_5((y&~1)+1);
-+      y = tsr.test1_1_6((y&~1)+1);
-+
-+      y = tsr.test1_2_0(y&~1);
-+      y = tsr.test1_2_1(y&~1);
-+      y = tsr.test1_2_2(y&~1);
-+      y = tsr.test1_2_3(y&~1);
-+      y = tsr.test1_2_4(y&~1);
-+      y = tsr.test1_2_5(y&~1);
-+      y = tsr.test1_2_6(y&~1);
-+      y = tsr.test1_2_0((y&~1)+1);
-+      y = tsr.test1_2_1((y&~1)+1);
-+      y = tsr.test1_2_2((y&~1)+1);
-+      y = tsr.test1_2_3((y&~1)+1);
-+      y = tsr.test1_2_4((y&~1)+1);
-+      y = tsr.test1_2_5((y&~1)+1);
-+      y = tsr.test1_2_6((y&~1)+1);
-+
-+      y = tsr.test2_0_0(y&~3);
-+      y = tsr.test2_0_1(y&~3);
-+      y = tsr.test2_0_2(y&~3);
-+      y = tsr.test2_0_3(y&~3);
-+      y = tsr.test2_0_4(y&~3);
-+      y = tsr.test2_0_5(y&~3);
-+      y = tsr.test2_0_6(y&~3);
-+      y = tsr.test2_0_0((y&~3)+3);
-+      y = tsr.test2_0_1((y&~3)+3);
-+      y = tsr.test2_0_2((y&~3)+3);
-+      y = tsr.test2_0_3((y&~3)+3);
-+      y = tsr.test2_0_4((y&~3)+3);
-+      y = tsr.test2_0_5((y&~3)+3);
-+      y = tsr.test2_0_6((y&~3)+3);
-+
-+      y = tsr.test2_1_0(y&~3);
-+      y = tsr.test2_1_1(y&~3);
-+      y = tsr.test2_1_2(y&~3);
-+      y = tsr.test2_1_3(y&~3);
-+      y = tsr.test2_1_4(y&~3);
-+      y = tsr.test2_1_5(y&~3);
-+      y = tsr.test2_1_6(y&~3);
-+      y = tsr.test2_1_0((y&~3)+3);
-+      y = tsr.test2_1_1((y&~3)+3);
-+      y = tsr.test2_1_2((y&~3)+3);
-+      y = tsr.test2_1_3((y&~3)+3);
-+      y = tsr.test2_1_4((y&~3)+3);
-+      y = tsr.test2_1_5((y&~3)+3);
-+      y = tsr.test2_1_6((y&~3)+3);
-+
-+      y = tsr.test2_2_0(y&~3);
-+      y = tsr.test2_2_1(y&~3);
-+      y = tsr.test2_2_2(y&~3);
-+      y = tsr.test2_2_3(y&~3);
-+      y = tsr.test2_2_4(y&~3);
-+      y = tsr.test2_2_5(y&~3);
-+      y = tsr.test2_2_6(y&~3);
-+      y = tsr.test2_2_0((y&~3)+3);
-+      y = tsr.test2_2_1((y&~3)+3);
-+      y = tsr.test2_2_2((y&~3)+3);
-+      y = tsr.test2_2_3((y&~3)+3);
-+      y = tsr.test2_2_4((y&~3)+3);
-+      y = tsr.test2_2_5((y&~3)+3);
-+      y = tsr.test2_2_6((y&~3)+3);
-+
-+    }
-+    for (int i=0; i<10000; i++) {
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_0(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_1(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_2(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_3(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_4(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_5(y);
-+      y = tsr.test0_0_6(y);
-+      y = tsr.test0_0_6(y);
-+
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_3(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_4(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_5(y);
-+      y = tsr.test0_1_6(y);
-+      y = tsr.test0_1_6(y);
-+
-+      y = tsr.test1_0_0(y&~1);
-+      y = tsr.test1_0_1(y&~1);
-+      y = tsr.test1_0_2(y&~1);
-+      y = tsr.test1_0_3(y&~1);
-+      y = tsr.test1_0_4(y&~1);
-+      y = tsr.test1_0_5(y&~1);
-+      y = tsr.test1_0_6(y&~1);
-+      y = tsr.test1_0_0((y&~1)+1);
-+      y = tsr.test1_0_1((y&~1)+1);
-+      y = tsr.test1_0_2((y&~1)+1);
-+      y = tsr.test1_0_3((y&~1)+1);
-+      y = tsr.test1_0_4((y&~1)+1);
-+      y = tsr.test1_0_5((y&~1)+1);
-+      y = tsr.test1_0_6((y&~1)+1);
-+
-+      y = tsr.test1_1_0(y&~1);
-+      y = tsr.test1_1_1(y&~1);
-+      y = tsr.test1_1_2(y&~1);
-+      y = tsr.test1_1_3(y&~1);
-+      y = tsr.test1_1_4(y&~1);
-+      y = tsr.test1_1_5(y&~1);
-+      y = tsr.test1_1_6(y&~1);
-+      y = tsr.test1_1_0((y&~1)+1);
-+      y = tsr.test1_1_1((y&~1)+1);
-+      y = tsr.test1_1_2((y&~1)+1);
-+      y = tsr.test1_1_3((y&~1)+1);
-+      y = tsr.test1_1_4((y&~1)+1);
-+      y = tsr.test1_1_5((y&~1)+1);
-+      y = tsr.test1_1_6((y&~1)+1);
-+
-+      y = tsr.test1_2_0(y&~1);
-+      y = tsr.test1_2_1(y&~1);
-+      y = tsr.test1_2_2(y&~1);
-+      y = tsr.test1_2_3(y&~1);
-+      y = tsr.test1_2_4(y&~1);
-+      y = tsr.test1_2_5(y&~1);
-+      y = tsr.test1_2_6(y&~1);
-+      y = tsr.test1_2_0((y&~1)+1);
-+      y = tsr.test1_2_1((y&~1)+1);
-+      y = tsr.test1_2_2((y&~1)+1);
-+      y = tsr.test1_2_3((y&~1)+1);
-+      y = tsr.test1_2_4((y&~1)+1);
-+      y = tsr.test1_2_5((y&~1)+1);
-+      y = tsr.test1_2_6((y&~1)+1);
-+
-+      y = tsr.test2_0_0(y&~3);
-+      y = tsr.test2_0_1(y&~3);
-+      y = tsr.test2_0_2(y&~3);
-+      y = tsr.test2_0_3(y&~3);
-+      y = tsr.test2_0_4(y&~3);
-+      y = tsr.test2_0_5(y&~3);
-+      y = tsr.test2_0_6(y&~3);
-+      y = tsr.test2_0_0((y&~3)+3);
-+      y = tsr.test2_0_1((y&~3)+3);
-+      y = tsr.test2_0_2((y&~3)+3);
-+      y = tsr.test2_0_3((y&~3)+3);
-+      y = tsr.test2_0_4((y&~3)+3);
-+      y = tsr.test2_0_5((y&~3)+3);
-+      y = tsr.test2_0_6((y&~3)+3);
-+
-+      y = tsr.test2_1_0(y&~3);
-+      y = tsr.test2_1_1(y&~3);
-+      y = tsr.test2_1_2(y&~3);
-+      y = tsr.test2_1_3(y&~3);
-+      y = tsr.test2_1_4(y&~3);
-+      y = tsr.test2_1_5(y&~3);
-+      y = tsr.test2_1_6(y&~3);
-+      y = tsr.test2_1_0((y&~3)+3);
-+      y = tsr.test2_1_1((y&~3)+3);
-+      y = tsr.test2_1_2((y&~3)+3);
-+      y = tsr.test2_1_3((y&~3)+3);
-+      y = tsr.test2_1_4((y&~3)+3);
-+      y = tsr.test2_1_5((y&~3)+3);
-+      y = tsr.test2_1_6((y&~3)+3);
-+
-+      y = tsr.test2_2_0(y&~3);
-+      y = tsr.test2_2_1(y&~3);
-+      y = tsr.test2_2_2(y&~3);
-+      y = tsr.test2_2_3(y&~3);
-+      y = tsr.test2_2_4(y&~3);
-+      y = tsr.test2_2_5(y&~3);
-+      y = tsr.test2_2_6(y&~3);
-+      y = tsr.test2_2_0((y&~3)+3);
-+      y = tsr.test2_2_1((y&~3)+3);
-+      y = tsr.test2_2_2((y&~3)+3);
-+      y = tsr.test2_2_3((y&~3)+3);
-+      y = tsr.test2_2_4((y&~3)+3);
-+      y = tsr.test2_2_5((y&~3)+3);
-+      y = tsr.test2_2_6((y&~3)+3);
-+
-+    }
-+
-+    int z = 0;
-+    y = tsr.test0_0_0(0);
-+    System.out.println("After 'test0_0_0' y=" + y);
-+    y = tsr.test0_0_1(0);
-+    System.out.println("After 'test0_0_1' y=" + y);
-+    y = tsr.test0_0_2(0);
-+    System.out.println("After 'test0_0_2' y=" + y);
-+    y = tsr.test0_0_3(0);
-+    System.out.println("After 'test0_0_3' y=" + y);
-+    y = tsr.test0_0_4(0);
-+    System.out.println("After 'test0_0_4' y=" + y);
-+    y = tsr.test0_0_5(0);
-+    System.out.println("After 'test0_0_5' y=" + y);
-+    y = tsr.test0_0_6(0);
-+    System.out.println("After 'test0_0_6' y=" + y);
-+    y = tsr.test0_1_3(0);
-+    System.out.println("After 'test0_1_3' y=" + y);
-+    y = tsr.test0_1_4(0);
-+    System.out.println("After 'test0_1_4' y=" + y);
-+    y = tsr.test0_1_5(0);
-+    System.out.println("After 'test0_1_5' y=" + y);
-+    y = tsr.test0_1_6(0);
-+    System.out.println("After 'test0_1_6' y=" + y);
-+
-+    y = tsr.test1_0_0(0);
-+    System.out.println("After 'test1_0_0' y=" + y);
-+    y = tsr.test1_0_1(0);
-+    System.out.println("After 'test1_0_1' y=" + y);
-+    y = tsr.test1_0_2(0);
-+    System.out.println("After 'test1_0_2' y=" + y);
-+    y = tsr.test1_0_3(0);
-+    System.out.println("After 'test1_0_3' y=" + y);
-+    y = tsr.test1_0_4(0);
-+    System.out.println("After 'test1_0_4' y=" + y);
-+    y = tsr.test1_0_5(0);
-+    System.out.println("After 'test1_0_5' y=" + y);
-+    y = tsr.test1_0_6(0);
-+    System.out.println("After 'test1_0_6' y=" + y);
-+
-+    y = tsr.test1_1_0(0);
-+    System.out.println("After 'test1_1_0' y=" + y);
-+    y = tsr.test1_1_1(0);
-+    System.out.println("After 'test1_1_1' y=" + y);
-+    y = tsr.test1_1_2(0);
-+    System.out.println("After 'test1_1_2' y=" + y);
-+    y = tsr.test1_1_3(0);
-+    System.out.println("After 'test1_1_3' y=" + y);
-+    y = tsr.test1_1_4(0);
-+    System.out.println("After 'test1_1_4' y=" + y);
-+    y = tsr.test1_1_5(0);
-+    System.out.println("After 'test1_1_5' y=" + y);
-+    y = tsr.test1_1_6(0);
-+    System.out.println("After 'test1_1_6' y=" + y);
-+
-+    y = tsr.test1_2_0(0);
-+    System.out.println("After 'test1_2_0' y=" + y);
-+    y = tsr.test1_2_1(0);
-+    System.out.println("After 'test1_2_1' y=" + y);
-+    y = tsr.test1_2_2(0);
-+    System.out.println("After 'test1_2_2' y=" + y);
-+    y = tsr.test1_2_3(0);
-+    System.out.println("After 'test1_2_3' y=" + y);
-+    y = tsr.test1_2_4(0);
-+    System.out.println("After 'test1_2_4' y=" + y);
-+    y = tsr.test1_2_5(0);
-+    System.out.println("After 'test1_2_5' y=" + y);
-+    y = tsr.test1_2_6(0);
-+    System.out.println("After 'test1_2_6' y=" + y);
-+
-+    y = tsr.test2_0_0(0);
-+    System.out.println("After 'test2_0_0' y=" + y);
-+    y = tsr.test2_0_1(0);
-+    System.out.println("After 'test2_0_1' y=" + y);
-+    y = tsr.test2_0_2(0);
-+    System.out.println("After 'test2_0_2' y=" + y);
-+    y = tsr.test2_0_3(0);
-+    System.out.println("After 'test2_0_3' y=" + y);
-+    y = tsr.test2_0_4(0);
-+    System.out.println("After 'test2_0_4' y=" + y);
-+    y = tsr.test2_0_5(0);
-+    System.out.println("After 'test2_0_5' y=" + y);
-+    y = tsr.test2_0_6(0);
-+    System.out.println("After 'test2_0_6' y=" + y);
-+
-+    y = tsr.test2_1_0(0);
-+    System.out.println("After 'test2_1_0' y=" + y);
-+    y = tsr.test2_1_1(0);
-+    System.out.println("After 'test2_1_1' y=" + y);
-+    y = tsr.test2_1_2(0);
-+    System.out.println("After 'test2_1_2' y=" + y);
-+    y = tsr.test2_1_3(0);
-+    System.out.println("After 'test2_1_3' y=" + y);
-+    y = tsr.test2_1_4(0);
-+    System.out.println("After 'test2_1_4' y=" + y);
-+    y = tsr.test2_1_5(0);
-+    System.out.println("After 'test2_1_5' y=" + y);
-+    y = tsr.test2_1_6(0);
-+    System.out.println("After 'test2_1_6' y=" + y);
-+
-+    y = tsr.test2_2_0(0);
-+    System.out.println("After 'test2_2_0' y=" + y);
-+    y = tsr.test2_2_1(0);
-+    System.out.println("After 'test2_2_1' y=" + y);
-+    y = tsr.test2_2_2(0);
-+    System.out.println("After 'test2_2_2' y=" + y);
-+    y = tsr.test2_2_3(0);
-+    System.out.println("After 'test2_2_3' y=" + y);
-+    y = tsr.test2_2_4(0);
-+    System.out.println("After 'test2_2_4' y=" + y);
-+    y = tsr.test2_2_5(0);
-+    System.out.println("After 'test2_2_5' y=" + y);
-+    y = tsr.test2_2_6(0);
-+    System.out.println("After 'test2_2_6' y=" + y);
-+
-+  }
-+}
-diff -r 4aebfff4f8a2 hotspot/test/compiler/6741738/Tester.java
---- /dev/null	Thu Jan 01 00:00:00 1970 +0000
-+++ openjdk/hotspot/test/compiler/6741738/Tester.java	Fri Sep 26 09:52:43 2008 +0200
-@@ -0,0 +1,50 @@
-+/*
-+ * Copyright 2008 Sun Microsystems, Inc.  All Rights Reserved.
-+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-+ *
-+ * This code is free software; you can redistribute it and/or modify it
-+ * under the terms of the GNU General Public License version 2 only, as
-+ * published by the Free Software Foundation.
-+ *
-+ * This code is distributed in the hope that it will be useful, but WITHOUT
-+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-+ * version 2 for more details (a copy is included in the LICENSE file that
-+ * accompanied this code).
-+ *
-+ * You should have received a copy of the GNU General Public License version
-+ * 2 along with this work; if not, write to the Free Software Foundation,
-+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
-+ *
-+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
-+ * CA 95054 USA or visit www.sun.com if you need additional information or
-+ * have any questions.
-+ */
-+
-+/*
-+ * @test
-+ * @bug 6741738
-+ * @summary TypePtr::add_offset() set incorrect offset when the add overflows
-+ * @run main/othervm -Xcomp -XX:CompileOnly=Tester.foo Tester
-+ */
-+
-+public class Tester {
-+        private String[] values;
-+        private int count;
-+
-+        String foo() {
-+                int i = Integer.MAX_VALUE-1;
-+                String s;
-+                try {
-+                    s = values[i];
-+                } catch (Throwable e) {
-+                    s = "";
-+                }
-+                return s;
-+        }
-+
-+        public static void main(String[] args) {
-+                Tester t = new Tester();
-+                String s = t.foo();
-+        }
-+}
--- a/patches/icedtea-lucene-crash.patch	Thu Dec 04 21:38:54 2008 +0100
+++ b/patches/icedtea-lucene-crash.patch	Fri Dec 05 14:08:01 2008 +0100
@@ -1,23 +1,3 @@
-diff -r 4aebfff4f8a2 hotspot/src/share/vm/opto/parse2.cpp
---- openjdk.orig/hotspot/src/share/vm/opto/parse2.cpp	Mon Sep 15 11:38:34 2008 +0200
-+++ openjdk/hotspot/src/share/vm/opto/parse2.cpp	Thu Sep 25 21:54:26 2008 +0200
-@@ -868,6 +868,8 @@
-   return prob < PROB_MIN;
- }
- 
-+//-------------------------------repush_if_args--------------------------------
-+// Push arguments of an "if" bytecode back onto the stack by adjusting _sp.
- inline void Parse::repush_if_args() {
- #ifndef PRODUCT
-   if (PrintOpto && WizardMode) {
-@@ -896,7 +898,6 @@
-     if (PrintOpto && Verbose)
-       tty->print_cr("Never-taken backedge stops compilation at bci %d",bci());
- #endif
--    repush_if_args(); // to gather stats on loop
-     uncommon_trap(Deoptimization::Reason_unreached,
-                   Deoptimization::Action_reinterpret,
-                   NULL, "cold");
 diff -r 51798f0e554f test/compiler/6707044/LuceneCrash.java
 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
 +++ openjdk/hotspot/test/compiler/6707044/LuceneCrash.java	Thu Sep 25 21:55:28 2008 +0200