JavaNativeMethodImpl_OpenJDK7.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 08 Feb 2013 01:31:44 +0100
branchopenjdk7-support
changeset 2044 15d698503afe
parent 2041 eb765dbc5b59
child 2045 cc12924bfbe8
permissions -rw-r--r--
Some more Open JDK 7 natives. Still does not boot.

"
 COPYRIGHT (c) 1996-2011 by Claus Gittinger

 New code and modifications done at SWING Research Group [1]:

 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
                            SWING Research Group, Czech Technical University in Prague

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.

 [1] Code written at SWING Research Group contains a signature
     of one of the above copright owners. For exact set of such code,
     see the differences between this version and version stx:libjava
     as of 1.9.2010
"
"{ Package: 'stx:libjava' }"

JavaNativeMethodImpl_OpenJDK6 subclass:#JavaNativeMethodImpl_OpenJDK7
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:'JavaVMData'
	category:'Languages-Java-Support-OpenJDK7'
!

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'documentation'!

copyright
"
 COPYRIGHT (c) 1996-2011 by Claus Gittinger

 New code and modifications done at SWING Research Group [1]:

 COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
                            SWING Research Group, Czech Technical University in Prague

 This software is furnished under a license and may be used
 only in accordance with the terms of that license and with the
 inclusion of the above copyright notice.   This software may not
 be provided or otherwise made available to, or used by, any
 other person.  No title to or ownership of the software is
 hereby transferred.

 [1] Code written at SWING Research Group contains a signature
     of one of the above copright owners. For exact set of such code,
     see the differences between this version and version stx:libjava
     as of 1.9.2010

"
! !

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'native - java.io'!

_java_io_FileOutputStream_open: this _: a1 _: a2 

    <javanative: 'java/io/FileOutputStream' name: 'open(Ljava/lang/String;Z)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_io_FileOutputStream_write: this _: a1 _: a2 

    <javanative: 'java/io/FileOutputStream' name: 'write(IZ)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_io_FileOutputStream_writeBytes: this _: a1 _: a2 _: a3 _: a4 

    <javanative: 'java/io/FileOutputStream' name: 'writeBytes([BIIZ)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_io_UnixFileSystem_createFileExclusively: this _: a1 

    <javanative: 'java/io/UnixFileSystem' name: 'createFileExclusively(Ljava/lang/String;)Z'>

    ^ JavaVM unimplementedNativeMethodSignal raise
! !

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'native - java.lang'!

_java_lang_ClassLoader_getCaller: this _: a1 

    <javanative: 'java/lang/ClassLoader' name: 'getCaller(I)Ljava/lang/Class;'>

    "/ index 0: java.lang.ClassLoader.class
    "/ index 1: the immediate caller of index 0.
    "/ index 2: the immediate caller of index 1.

    | ctx |

    ctx := self nativeContext sender.
    a1 timesRepeat:[
        ctx := ctx sender
    ].
    ^JavaVM reflection javaClassObjectForClass: ctx receiver class theNonMetaclass

    "Modified: / 07-02-2013 / 23:35:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!

_java_lang_Thread_setNativeName: this _: a1 

    <javanative: 'java/lang/Thread' name: 'setNativeName(Ljava/lang/String;)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_lang_Throwable_fillInStackTrace: this _: a1 

    <javanative: 'java/lang/Throwable' name: 'fillInStackTrace(I)Ljava/lang/Throwable;'>

    | java_lang_Throwable  exceptionObject  list  con |

    java_lang_Throwable := Java classNamed: 'java/lang/Throwable'.
    exceptionObject := this.

    "/
    "/ debugging only
    "/

    (java_lang_Throwable notNil and:[(exceptionObject isKindOf: java_lang_Throwable) not]) ifTrue: [
        self error:'Thrown object is not a java.lang.Throwable'.
    ].
    con := self nativeContext sender.
    "/ Just a guess, there is no comment what the parameter means...
    a1 timesRepeat: [ con := con sender ].

    "/
    "/ we are not interrested in all intermediate Exception frames ...
    "/

    FullExceptionTrace ifFalse: [
        "/ first, skip any JavaVM contexts
        [ con receiver == exceptionObject ] whileFalse: [ con := con sender ].

        "/ then, all exception-init contexts

        [ con receiver == exceptionObject ] whileTrue: [ con := con sender ].
    ].
    list := OrderedCollection new.
    [ con notNil ] whileTrue: [
        (con isJavaContext) ifTrue: [
            "/ add a copy, in case the context continues with some
            "/ cleanup ...
            list add: con shallowCopy
        ].
        con := con sender
    ].
    exceptionObject instVarNamed: 'backtrace' put: (list asArray).
    ^ nil.

    "Modified: / 08-02-2013 / 01:28:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'native - java.util.zip'!

_java_util_zip_ZipFile_getCommentBytes: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getCommentBytes(J)[B'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryBytes: this _: a1 _: a2 _: a3 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryBytes(JI)[B'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryCSize: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryCSize(J)J'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryCrc: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryCrc(J)J'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryFlag: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryFlag(J)I'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryMethod: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryMethod(J)I'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntrySize: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntrySize(J)J'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_getEntryTime: this _: a1 _: a2 

    <javanative: 'java/util/zip/ZipFile' name: 'getEntryTime(J)J'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_java_util_zip_ZipFile_open: this _: a1 _: a2 _: a3 _: a4 _: a5 

    <javanative: 'java/util/zip/ZipFile' name: 'open(Ljava/lang/String;IJZ)J'>

    ^ JavaVM unimplementedNativeMethodSignal raise
! !

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'native - sun.misc'!

_sun_misc_Unsafe_copyMemory: this _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 _: a7 _: a8 

    <javanative: 'sun/misc/Unsafe' name: 'copyMemory(Ljava/lang/Object;JLjava/lang/Object;JJ)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_sun_misc_Unsafe_defineAnonymousClass: this _: a1 _: a2 _: a3 

    <javanative: 'sun/misc/Unsafe' name: 'defineAnonymousClass(Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;'>

    ^ JavaVM unimplementedNativeMethodSignal raise
!

_sun_misc_Unsafe_setMemory: this _: a1 _: a2 _: a3 _: a4 _: a5 _: a6 

    <javanative: 'sun/misc/Unsafe' name: 'setMemory(Ljava/lang/Object;JJB)V'>

    ^ JavaVM unimplementedNativeMethodSignal raise
! !

!JavaNativeMethodImpl_OpenJDK7 class methodsFor:'documentation'!

version_HG

    ^ '$Changeset: <not expanded> $'
! !