# HG changeset patch # User Lubomir Nerad # Date 1369406732 -7200 # Node ID 22beb858e00aa98f41b2c9fbd97e0fed93d79533 # Parent 47c1fc251d84d34c3fed62b1b900b7c963654472 Partial fix for Bug 5032: added ArithmeticException to fixed dependencies diff -r 47c1fc251d84 -r 22beb858e00a rt/emul/mini/src/main/java/java/lang/ArithmeticException.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/rt/emul/mini/src/main/java/java/lang/ArithmeticException.java Fri May 24 16:45:32 2013 +0200 @@ -0,0 +1,61 @@ +/* + * Copyright (c) 1994, 2011, Oracle and/or its affiliates. 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. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +package java.lang; + +/** + * Thrown when an exceptional arithmetic condition has occurred. For + * example, an integer "divide by zero" throws an + * instance of this class. + * + * {@code ArithmeticException} objects may be constructed by the + * virtual machine as if {@linkplain Throwable#Throwable(String, + * Throwable, boolean, boolean) suppression were disabled and/or the + * stack trace was not writable}. + * + * @author unascribed + * @since JDK1.0 + */ +public class ArithmeticException extends RuntimeException { + private static final long serialVersionUID = 2256477558314496007L; + + /** + * Constructs an {@code ArithmeticException} with no detail + * message. + */ + public ArithmeticException() { + super(); + } + + /** + * Constructs an {@code ArithmeticException} with the specified + * detail message. + * + * @param s the detail message. + */ + public ArithmeticException(String s) { + super(s); + } +} diff -r 47c1fc251d84 -r 22beb858e00a rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon May 20 10:59:47 2013 +0200 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri May 24 16:45:32 2013 +0200 @@ -34,6 +34,12 @@ private final ExportedSymbols exportedSymbols; private final StringArray invokerMethods; + private static final Class FIXED_DEPENDENCIES[] = { + Class.class, + ArithmeticException.class, + VM.class + }; + private VM(Appendable out, Bck2Brwsr.Resources resources) { super(out); this.resources = resources; @@ -61,9 +67,11 @@ VM vm = extension ? new Extension(out, l, names.toArray()) : new Standalone(out, l); - final StringArray fixedNames = - StringArray.asList(Class.class.getName().replace('.', '/'), - VM.class.getName().replace('.', '/')); + final StringArray fixedNames = new StringArray(); + + for (final Class fixedClass: FIXED_DEPENDENCIES) { + fixedNames.add(fixedClass.getName().replace('.', '/')); + } vm.doCompile(fixedNames.addAndNew(names.toArray())); }