libInit.cc
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 12 Jun 2014 12:12:40 +0100
changeset 3121 cc0ea0656186
parent 3106 e53888146940
child 3175 87cedea6290e
permissions -rw-r--r--
Fixed bug #77: Ignore unhandled ThreadDeath exceptions. The old code in JavaVM>>throwException: was wrong, the method returned instead of undwinding the whole thread to its run() method. Consequently, control flow returned to method that actualy thrown that exception and causes stack undeflowbecause this case is not handled and should not be handled. After an ATHROW method context should be either unwound or restarted. This commit introduces a new JavaUnhandledThreadDeathError which is raised in case there's no handler for an ThreadDeath exception. This JavaUnhandledThreadDeathError is handled in JavaProcess::Helper>>value and ignored there.

/*
 * $Header$
 *
 * DO NOT EDIT
 * automagically generated from the projectDefinition: stx_libjava.
 */
#define __INDIRECTVMINITCALLS__
#include <stc.h>

#ifdef WIN32
# pragma codeseg INITCODE "INITCODE"
#endif

#if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
DLL_EXPORT void _libstx_libjava_Init() INIT_TEXT_SECTION;
DLL_EXPORT void _libstx_libjava_InitDefinition() INIT_TEXT_SECTION;
#endif

void _libstx_libjava_InitDefinition(pass, __pRT__, snd)
OBJ snd; struct __vmData__ *__pRT__; {
__BEGIN_PACKAGE2__("libstx_libjava__DFN", _libstx_libjava_InitDefinition, "stx:libjava");
_stx_137libjava_Init(pass,__pRT__,snd);

__END_PACKAGE__();
}

void _libstx_libjava_Init(pass, __pRT__, snd)
OBJ snd; struct __vmData__ *__pRT__; {
__BEGIN_PACKAGE2__("libstx_libjava", _libstx_libjava_Init, "stx:libjava");
_GroovyCompiler_Init(pass,__pRT__,snd);
_GroovyEvaluator_Init(pass,__pRT__,snd);
_GroovyLanguage_Init(pass,__pRT__,snd);
_GroovySourceFileWriter_Init(pass,__pRT__,snd);
_JavaAnnotation_Init(pass,__pRT__,snd);
_JavaAnnotationContainer_Init(pass,__pRT__,snd);
_JavaAnnotationDefault_Init(pass,__pRT__,snd);
_JavaAnnotationDictionary_Init(pass,__pRT__,snd);
_JavaAnnotationValue_Init(pass,__pRT__,snd);
_JavaArray_Init(pass,__pRT__,snd);
_JavaBooleanArray_Init(pass,__pRT__,snd);
_JavaByte_Init(pass,__pRT__,snd);
_JavaByteCodeProcessor_Init(pass,__pRT__,snd);
_JavaClassAccessor_Init(pass,__pRT__,snd);
_JavaClassEnvironment_Init(pass,__pRT__,snd);
_JavaClassQuery_Init(pass,__pRT__,snd);
_JavaClassReloader_Init(pass,__pRT__,snd);
_JavaCodeLibraryOrBundle_Init(pass,__pRT__,snd);
_JavaCompilerForSmalltalkExtensionsOnly_Init(pass,__pRT__,snd);
_JavaCompiler_137Eclipse_Init(pass,__pRT__,snd);
_JavaConstantPool_Init(pass,__pRT__,snd);
_JavaConstants_Init(pass,__pRT__,snd);
_JavaContext_Init(pass,__pRT__,snd);
_JavaDecompiler_Init(pass,__pRT__,snd);
_JavaDescriptor_Init(pass,__pRT__,snd);
_JavaError_Init(pass,__pRT__,snd);
_JavaExceptionTable_Init(pass,__pRT__,snd);
_JavaField_Init(pass,__pRT__,snd);
_JavaFinalizationRegistry_Init(pass,__pRT__,snd);
_JavaInnerClasses_Init(pass,__pRT__,snd);
_JavaLanguage_Init(pass,__pRT__,snd);
_JavaLibraries_Init(pass,__pRT__,snd);
_JavaLocalVariableTable_Init(pass,__pRT__,snd);
_JavaLocalVariableTableEntry_Init(pass,__pRT__,snd);
_JavaLookup_Init(pass,__pRT__,snd);
_JavaMetaclass_Init(pass,__pRT__,snd);
_JavaMonitor_Init(pass,__pRT__,snd);
_JavaNameAndType2_Init(pass,__pRT__,snd);
_JavaNativeMemory_Init(pass,__pRT__,snd);
_JavaNioSupport_Init(pass,__pRT__,snd);
_JavaObject_Init(pass,__pRT__,snd);
_JavaObjectDictionary_Init(pass,__pRT__,snd);
_JavaPackage_Init(pass,__pRT__,snd);
_JavaPopUpView_Init(pass,__pRT__,snd);
_JavaProcess_Init(pass,__pRT__,snd);
_JavaRef2_Init(pass,__pRT__,snd);
_JavaRelease_Init(pass,__pRT__,snd);
_JavaResolver_Init(pass,__pRT__,snd);
_JavaShort_Init(pass,__pRT__,snd);
_JavaSlotIndexCache_Init(pass,__pRT__,snd);
_JavaSocket_Init(pass,__pRT__,snd);
_JavaSourceCodeCache_Init(pass,__pRT__,snd);
_JavaSourceFileWriter_Init(pass,__pRT__,snd);
_JavaTestsLoader_Init(pass,__pRT__,snd);
_JavaTopView_Init(pass,__pRT__,snd);
_JavaUnresolvedCompilationError_Init(pass,__pRT__,snd);
_JavaUnresolvedConstant_Init(pass,__pRT__,snd);
_JavaUtilities_Init(pass,__pRT__,snd);
_JavaVMData_Init(pass,__pRT__,snd);
_JavaView_Init(pass,__pRT__,snd);
_JavaZipSupport_Init(pass,__pRT__,snd);
_ProxyMethod_Init(pass,__pRT__,snd);
_ProxyMethodCompiler_Init(pass,__pRT__,snd);
_ProxyMethodNode_Init(pass,__pRT__,snd);
_SmalltalkAppletContext_Init(pass,__pRT__,snd);
_SmalltalkAppletStub_Init(pass,__pRT__,snd);
_stx_137libjava_Init(pass,__pRT__,snd);
_GroovyMetaclass_Init(pass,__pRT__,snd);
_Java_Init(pass,__pRT__,snd);
_JavaAnnotationArrayValue_Init(pass,__pRT__,snd);
_JavaAnnotationClassValue_Init(pass,__pRT__,snd);
_JavaAnnotationEnumValue_Init(pass,__pRT__,snd);
_JavaAnnotationNestedAnnotationValue_Init(pass,__pRT__,snd);
_JavaAnnotationPrimitiveValue_Init(pass,__pRT__,snd);
_JavaBehavior_Init(pass,__pRT__,snd);
_JavaByteCodeDisassembler_Init(pass,__pRT__,snd);
_JavaByteCodeEnumerator_Init(pass,__pRT__,snd);
_JavaByteCodeProcessorAdapter_Init(pass,__pRT__,snd);
_JavaClassAnnotationContainer_Init(pass,__pRT__,snd);
_JavaClassMemberRef2_Init(pass,__pRT__,snd);
_JavaClassReader_Init(pass,__pRT__,snd);
_JavaClassRef2_Init(pass,__pRT__,snd);
_JavaClassRegistry_Init(pass,__pRT__,snd);
_JavaCodeBundle_Init(pass,__pRT__,snd);
_JavaCodeLibrary_Init(pass,__pRT__,snd);
_JavaEmbeddedFrameView_Init(pass,__pRT__,snd);
_JavaFieldAnnotationContainer_Init(pass,__pRT__,snd);
_JavaFieldDescriptor_Init(pass,__pRT__,snd);
_JavaFieldDescriptorWithUnionType_Init(pass,__pRT__,snd);
_JavaInvalidRefError_Init(pass,__pRT__,snd);
_JavaInvokeDynamic2_Init(pass,__pRT__,snd);
_JavaMethod_Init(pass,__pRT__,snd);
_JavaMethodAnnotationContainer_Init(pass,__pRT__,snd);
_JavaMethodDescriptor_Init(pass,__pRT__,snd);
_JavaMethodHandle2_Init(pass,__pRT__,snd);
_JavaMethodType2_Init(pass,__pRT__,snd);
_JavaMirror_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OpenJDK6_Init(pass,__pRT__,snd);
_JavaStringRef2_Init(pass,__pRT__,snd);
_JavaUnhandledExceptionError_Init(pass,__pRT__,snd);
_JavaUnhandledThreadDeathError_Init(pass,__pRT__,snd);
_JavaUnresolvedClassConstant_Init(pass,__pRT__,snd);
_JavaUnresolvedStringConstant_Init(pass,__pRT__,snd);
_JavaVM_Init(pass,__pRT__,snd);
_ProxyMethodConditionNode_Init(pass,__pRT__,snd);
_ProxyMethodGuardNode_Init(pass,__pRT__,snd);
_ProxyMethodInvocationNode_Init(pass,__pRT__,snd);
_ProxyMethodJavaFieldAccessor_Init(pass,__pRT__,snd);
_JavaAlienMirror_Init(pass,__pRT__,snd);
_JavaArrayMirror_Init(pass,__pRT__,snd);
_JavaByteCodePreresolver_Init(pass,__pRT__,snd);
_JavaClass_Init(pass,__pRT__,snd);
_JavaClassMirror_Init(pass,__pRT__,snd);
_JavaClassPathBundle_Init(pass,__pRT__,snd);
_JavaFieldRef2_Init(pass,__pRT__,snd);
_JavaMethodAnalyzer_Init(pass,__pRT__,snd);
_JavaMethodRef2_Init(pass,__pRT__,snd);
_JavaMethodWithException_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137AppleJDK6_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OpenJDK7_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137SunJDK6_Init(pass,__pRT__,snd);
_JavaPrimitiveMirror_Init(pass,__pRT__,snd);
_ProxyMethodAndNode_Init(pass,__pRT__,snd);
_ProxyMethodBlockInvocationNode_Init(pass,__pRT__,snd);
_ProxyMethodJavaFieldGetter_Init(pass,__pRT__,snd);
_ProxyMethodJavaFieldSetter_Init(pass,__pRT__,snd);
_ProxyMethodMethodInvocationNode_Init(pass,__pRT__,snd);
_ProxyMethodTypeCheckNode_Init(pass,__pRT__,snd);
_GroovyClass_Init(pass,__pRT__,snd);
_JavaInterfaceMethodRef2_Init(pass,__pRT__,snd);
_JavaMethodWithHandler_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OpenJDK8_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OracleJDK7_Init(pass,__pRT__,snd);
_ProxyMethodJavaMethodInvocationNode_Init(pass,__pRT__,snd);
_ProxyMethodJavaTypeCheckNode_Init(pass,__pRT__,snd);
_JavaNativeMethod_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OracleJDK8_Init(pass,__pRT__,snd);

_stx_137libjava_extensions_Init(pass,__pRT__,snd);
__END_PACKAGE__();
}