Initial load
diff --git a/test/java/lang/StringCoding/CheckEncodings.sh b/test/java/lang/StringCoding/CheckEncodings.sh
new file mode 100644
index 0000000..6fa20c4
--- /dev/null
+++ b/test/java/lang/StringCoding/CheckEncodings.sh
@@ -0,0 +1,70 @@
+#
+# Copyright 2002 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
+# @summary Verify that unsupported encodings are handled gracefully.
+# @bug 4629543 4785473
+#
+# @run shell/timeout=300 CheckEncodings.sh
+
+# set platform-dependent variables
+OS=`uname -s`
+case "$OS" in
+  SunOS | Linux ) ;;
+  Windows* )
+    echo "Passed"; exit 0 ;;
+  * ) echo "Unrecognized system!" ;  exit 1 ;;
+esac
+
+expectPass() {
+  if [ $1 -eq 0 ]
+  then echo "--- passed as expected"
+  else
+    echo "--- failed"
+    exit $1
+  fi
+}
+
+runTest() {
+  echo "Testing:" ${1}
+  set LC_ALL="${1}"; export LC_ALL
+  locale
+  ${TESTJAVA}/bin/java -version 2>&1
+  expectPass $?
+}
+
+
+locale -a > machine_locales.txt
+
+# ${TESTSRC}/locales.txt contains the list of "fully supported" locales
+# as defined by the i18n doc for 1.4
+cat ${TESTSRC}/locales.txt machine_locales.txt | sort | uniq > locale_union.txt
+
+for i in `xargs < locale_union.txt` ; do
+  runTest ${i}
+done
+  
+# random strings
+for i in FOO 1234 ZZ; do
+  runTest ${i}
+done
diff --git a/test/java/lang/StringCoding/Enormous.java b/test/java/lang/StringCoding/Enormous.java
new file mode 100644
index 0000000..052da74
--- /dev/null
+++ b/test/java/lang/StringCoding/Enormous.java
@@ -0,0 +1,39 @@
+/*
+ * Copyright 2004 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 4949631
+ * @summary Check for ability to recode arrays of odd sizes > 16MB
+ * @run main/othervm -Xms100m -Xmx200m Enormous
+ */
+
+public class Enormous {
+    public static void main(String[] args) throws Exception {
+        new String(new char[16777217]).getBytes("ASCII");
+        byte[] bytes = new byte[16777217];
+        new String(bytes,"ASCII");
+
+        // Another manifestation of this bug, reported in bug 6192102.
+        new sun.misc.BASE64Encoder().encode(bytes);
+    }
+}
diff --git a/test/java/lang/StringCoding/locales.txt b/test/java/lang/StringCoding/locales.txt
new file mode 100644
index 0000000..4780335
--- /dev/null
+++ b/test/java/lang/StringCoding/locales.txt
@@ -0,0 +1,25 @@
+ar_SA
+zh_CN 
+zh_TW 
+nl_NL 
+nl_NL_EURO 
+en_AU 
+en_CA 
+en_GB 
+en_US 
+fr_CA
+fr_FR 
+fr_FR_EURO 
+de_DE 
+de_DE_EURO 
+iw_IL 
+hi_IN 
+it_IT 
+it_IT_EURO 
+ja_JP
+ko_KR 
+pt_BR 
+es_ES 
+es_ES_EURO 
+sv_SE 
+th_TH