Mercurial > hg > release > icedtea6-1.4
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