1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/rt/emul/mini/src/main/java/java/lang/ArithmeticException.java Fri May 24 16:45:32 2013 +0200
1.3 @@ -0,0 +1,61 @@
1.4 +/*
1.5 + * Copyright (c) 1994, 2011, Oracle and/or its affiliates. All rights reserved.
1.6 + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
1.7 + *
1.8 + * This code is free software; you can redistribute it and/or modify it
1.9 + * under the terms of the GNU General Public License version 2 only, as
1.10 + * published by the Free Software Foundation. Oracle designates this
1.11 + * particular file as subject to the "Classpath" exception as provided
1.12 + * by Oracle in the LICENSE file that accompanied this code.
1.13 + *
1.14 + * This code is distributed in the hope that it will be useful, but WITHOUT
1.15 + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1.16 + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
1.17 + * version 2 for more details (a copy is included in the LICENSE file that
1.18 + * accompanied this code).
1.19 + *
1.20 + * You should have received a copy of the GNU General Public License version
1.21 + * 2 along with this work; if not, write to the Free Software Foundation,
1.22 + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
1.23 + *
1.24 + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
1.25 + * or visit www.oracle.com if you need additional information or have any
1.26 + * questions.
1.27 + */
1.28 +
1.29 +package java.lang;
1.30 +
1.31 +/**
1.32 + * Thrown when an exceptional arithmetic condition has occurred. For
1.33 + * example, an integer "divide by zero" throws an
1.34 + * instance of this class.
1.35 + *
1.36 + * {@code ArithmeticException} objects may be constructed by the
1.37 + * virtual machine as if {@linkplain Throwable#Throwable(String,
1.38 + * Throwable, boolean, boolean) suppression were disabled and/or the
1.39 + * stack trace was not writable}.
1.40 + *
1.41 + * @author unascribed
1.42 + * @since JDK1.0
1.43 + */
1.44 +public class ArithmeticException extends RuntimeException {
1.45 + private static final long serialVersionUID = 2256477558314496007L;
1.46 +
1.47 + /**
1.48 + * Constructs an {@code ArithmeticException} with no detail
1.49 + * message.
1.50 + */
1.51 + public ArithmeticException() {
1.52 + super();
1.53 + }
1.54 +
1.55 + /**
1.56 + * Constructs an {@code ArithmeticException} with the specified
1.57 + * detail message.
1.58 + *
1.59 + * @param s the detail message.
1.60 + */
1.61 + public ArithmeticException(String s) {
1.62 + super(s);
1.63 + }
1.64 +}
2.1 --- a/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Mon May 20 10:59:47 2013 +0200
2.2 +++ b/rt/vm/src/main/java/org/apidesign/vm4brwsr/VM.java Fri May 24 16:45:32 2013 +0200
2.3 @@ -34,6 +34,12 @@
2.4 private final ExportedSymbols exportedSymbols;
2.5 private final StringArray invokerMethods;
2.6
2.7 + private static final Class<?> FIXED_DEPENDENCIES[] = {
2.8 + Class.class,
2.9 + ArithmeticException.class,
2.10 + VM.class
2.11 + };
2.12 +
2.13 private VM(Appendable out, Bck2Brwsr.Resources resources) {
2.14 super(out);
2.15 this.resources = resources;
2.16 @@ -61,9 +67,11 @@
2.17 VM vm = extension ? new Extension(out, l, names.toArray())
2.18 : new Standalone(out, l);
2.19
2.20 - final StringArray fixedNames =
2.21 - StringArray.asList(Class.class.getName().replace('.', '/'),
2.22 - VM.class.getName().replace('.', '/'));
2.23 + final StringArray fixedNames = new StringArray();
2.24 +
2.25 + for (final Class<?> fixedClass: FIXED_DEPENDENCIES) {
2.26 + fixedNames.add(fixedClass.getName().replace('.', '/'));
2.27 + }
2.28
2.29 vm.doCompile(fixedNames.addAndNew(names.toArray()));
2.30 }