diff options
Diffstat (limited to 'libjava/java/lang')
-rw-r--r-- | libjava/java/lang/FirstThread.java | 50 | ||||
-rw-r--r-- | libjava/java/lang/natFirstThread.cc | 53 |
2 files changed, 0 insertions, 103 deletions
diff --git a/libjava/java/lang/FirstThread.java b/libjava/java/lang/FirstThread.java deleted file mode 100644 index 135a913..0000000 --- a/libjava/java/lang/FirstThread.java +++ /dev/null @@ -1,50 +0,0 @@ -// FirstThread.java - Implementation of very first thread. - -/* Copyright (C) 1998, 1999 Red Hat, Inc. - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -package java.lang; - -/** - * @author Tom Tromey <tromey@cygnus.com> - * @date August 24, 1998 - */ - -// This is entirely internal to our implementation. - -final class FirstThread extends Thread -{ - public native void run (); - - public FirstThread (ThreadGroup g, Class k, Object o) - { - super (g, null, "main"); - klass = k; - klass_name = null; - args = o; - } - - public FirstThread (ThreadGroup g, String class_name, Object o) - { - super (g, null, "main"); - klass = null; - klass_name = class_name; - args = o; - } - - private static void die (String s) - { - System.err.println(s); - System.exit(1); - } - - // Private data. - private Class klass; - private String klass_name; - private Object args; -} diff --git a/libjava/java/lang/natFirstThread.cc b/libjava/java/lang/natFirstThread.cc deleted file mode 100644 index 69b978da..0000000 --- a/libjava/java/lang/natFirstThread.cc +++ /dev/null @@ -1,53 +0,0 @@ -// natFirstThread.cc - Implementation of FirstThread native methods. - -/* Copyright (C) 1998, 1999 Red Hat, Inc. - - This file is part of libgcj. - -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ - -#include <config.h> - -#include <stdlib.h> - -#include <gcj/cni.h> -#include <jvm.h> - -#include <java/lang/FirstThread.h> -#include <java/lang/Class.h> -#include <java/lang/String.h> -#include <java/lang/System.h> -#include <java/lang/reflect/Modifier.h> -#include <java/io/PrintStream.h> - -#define DIE(Message) die (JvNewStringLatin1 (Message)) - -typedef void main_func (jobject); - -void -java::lang::FirstThread::run (void) -{ - Utf8Const* main_signature = _Jv_makeUtf8Const ("([Ljava.lang.String;)V", 22); - Utf8Const* main_name = _Jv_makeUtf8Const ("main", 4); - - if (klass == NULL) - { - klass = java::lang::Class::forName (klass_name); - if (klass != NULL) _Jv_InitClass (klass); - } - - _Jv_Method *meth = _Jv_GetMethodLocal (klass, main_name, main_signature); - - // Some checks from Java Spec section 12.1.4. - if (meth == NULL) - DIE ("no suitable method `main' in class"); - if (! java::lang::reflect::Modifier::isStatic(meth->accflags)) - DIE ("`main' must be static"); - if (! java::lang::reflect::Modifier::isPublic(meth->accflags)) - DIE ("`main' must be public"); - - main_func *real_main = (main_func *) meth->ncode; - (*real_main) (args); -} |