public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Pass jnixx::env by value (and check it is only a word in size).
@ 2008-05-08  1:51 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-05-08  1:51 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  59e7154ee8e6ca7416560444f29180583e11f346 (commit)
      from  02afb440aab13a0710b5e2e45d0c95227ad6e29f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 59e7154ee8e6ca7416560444f29180583e11f346
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed May 7 21:48:44 2008 -0400

    Pass jnixx::env by value (and check it is only a word in size).
    
    frysk-sys/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* Makefile.am (JniRunner): Add frysk.jnixx.
    
    frysk-sys/frysk/config/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/BuildCompiler.cxx: Pass jnixx::env by value.
    	* jni/PrefixFactory.cxx-in: Ditto.
    	* jni/Host.cxx-in: Ditto.
    	* jni/FryskVersion.cxx-in: Ditto.
    
    frysk-sys/frysk/jnixx/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* Printer.java: Generate passing jnixx::env by value, not reference.
    	* Native.java: New.
    	* jni/Native.cxx: New.
    	* cni/Native.cxx: New.
    	* TestJnixx.java: New.
    	* PrintHxxDefinitions.java: Ditto.
    	* PrintCxxDefinitions.java: Ditto.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/Pid.cxx: Pass jnixx::env by reference.
    	* jni/Tid.cxx: Ditto.
    	* jni/Signal.cxx-sh: Ditto.
    	* jni/PseudoTerminal.cxx: Ditto.
    
    frysk-sys/frysk/testbed/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/LocalMemory.cxx: Pass jnixx::env by value.
    	* jni/Tee.cxx: Ditto.
    
    frysk-sys/lib/stdcpp/ChangeLog
    2008-05-07  Andrew Cagney  <cagney@redhat.com>
    
    	* jni/Demangler.cxx: Pass jnixx::env by value.

-----------------------------------------------------------------------

Summary of changes:
 frysk-sys/ChangeLog                                |    4 +++
 frysk-sys/Makefile.am                              |    1 +
 frysk-sys/frysk/config/ChangeLog                   |    5 ++++
 frysk-sys/frysk/config/jni/BuildCompiler.cxx       |    8 +++---
 frysk-sys/frysk/config/jni/FryskVersion.cxx-in     |    2 +-
 frysk-sys/frysk/config/jni/Host.cxx-in             |    4 +-
 frysk-sys/frysk/config/jni/PrefixFactory.cxx-in    |   16 ++++++------
 frysk-sys/frysk/jnixx/ChangeLog                    |    8 ++++++
 .../jni/FryskVersion.cxx-in => jnixx/Native.java}  |    9 ++++---
 frysk-sys/frysk/jnixx/PrintCxxDefinitions.java     |    2 +-
 frysk-sys/frysk/jnixx/PrintDeclarations.java       |    5 +--
 frysk-sys/frysk/jnixx/PrintHxxDefinitions.java     |   26 ++++++++++----------
 frysk-sys/frysk/jnixx/Printer.java                 |    6 ++--
 .../jni/Host.cxx-in => jnixx/TestJnixx.java}       |   26 ++++++++++++-------
 .../{sys/jni/Pid.cxx => jnixx/cni/Native.cxx}      |   19 +++++++-------
 .../{sys/jni/Pid.cxx => jnixx/jni/Native.cxx}      |   19 +++++++-------
 frysk-sys/frysk/sys/ChangeLog                      |    7 +++++
 frysk-sys/frysk/sys/jni/Pid.cxx                    |    4 +-
 frysk-sys/frysk/sys/jni/PseudoTerminal.cxx         |    4 +-
 frysk-sys/frysk/sys/jni/Signal.cxx-sh              |   14 +++++-----
 frysk-sys/frysk/sys/jni/Tid.cxx                    |    2 +-
 frysk-sys/frysk/testbed/ChangeLog                  |    3 ++
 frysk-sys/frysk/testbed/jni/LocalMemory.cxx        |   14 +++++-----
 frysk-sys/frysk/testbed/jni/Tee.cxx                |    2 +-
 frysk-sys/lib/stdcpp/ChangeLog                     |    4 +++
 frysk-sys/lib/stdcpp/jni/Demangler.cxx             |    2 +-
 26 files changed, 127 insertions(+), 89 deletions(-)
 copy frysk-sys/frysk/{config/jni/FryskVersion.cxx-in => jnixx/Native.java} (92%)
 copy frysk-sys/frysk/{config/jni/Host.cxx-in => jnixx/TestJnixx.java} (81%)
 copy frysk-sys/frysk/{sys/jni/Pid.cxx => jnixx/cni/Native.cxx} (90%)
 copy frysk-sys/frysk/{sys/jni/Pid.cxx => jnixx/jni/Native.cxx} (88%)

First 500 lines of diff:
diff --git a/frysk-sys/ChangeLog b/frysk-sys/ChangeLog
index d3762bd..e207144 100644
--- a/frysk-sys/ChangeLog
+++ b/frysk-sys/ChangeLog
@@ -1,3 +1,7 @@
+2008-05-07  Andrew Cagney  <cagney@redhat.com>
+
+	* Makefile.am (JniRunner): Add frysk.jnixx.
+
 2008-05-02  Rick Moseley  <rmoseley@redhat.com>
 
 	* Makefile.am: Remove CDTParser.
diff --git a/frysk-sys/Makefile.am b/frysk-sys/Makefile.am
index e8fca72..d0828e4 100644
--- a/frysk-sys/Makefile.am
+++ b/frysk-sys/Makefile.am
@@ -90,6 +90,7 @@ JniRunner: | frysk-sys.jar libfrysk-sys-jni.so
 	echo "    frysk.rsl \\"					>> $@.tmp
 	echo "    frysk.junit \\"				>> $@.tmp
 	echo "    frysk.config \\"				>> $@.tmp
+	echo "    frysk.jnixx \\"				>> $@.tmp
 	echo "    inua \\"					>> $@.tmp
 	echo "    ;"						>> $@.tmp
 	echo "else"						>> $@.tmp
diff --git a/frysk-sys/frysk/config/ChangeLog b/frysk-sys/frysk/config/ChangeLog
index 34737b2..64ae16e 100644
--- a/frysk-sys/frysk/config/ChangeLog
+++ b/frysk-sys/frysk/config/ChangeLog
@@ -1,5 +1,10 @@
 2008-05-07  Andrew Cagney  <cagney@redhat.com>
 
+	* jni/BuildCompiler.cxx: Pass jnixx::env by value.
+	* jni/PrefixFactory.cxx-in: Ditto.
+	* jni/Host.cxx-in: Ditto.
+	* jni/FryskVersion.cxx-in: Ditto.
+	
 	* jni/Host.cxx-in: Re-implement in jnixx.
 	* jni/PrefixFactory.cxx-in: Ditto.
 	* jni/FryskVersion.cxx-in: Ditto.
diff --git a/frysk-sys/frysk/config/jni/BuildCompiler.cxx b/frysk-sys/frysk/config/jni/BuildCompiler.cxx
index 059423b..208ac20 100644
--- a/frysk-sys/frysk/config/jni/BuildCompiler.cxx
+++ b/frysk-sys/frysk/config/jni/BuildCompiler.cxx
@@ -41,7 +41,7 @@
 
 
 jint
-frysk::config::BuildCompiler::getVersion(jnixx::env& env) {
+frysk::config::BuildCompiler::getVersion(jnixx::env env) {
 #ifdef __GNUC__
   return (jint) __GNUC__;
 #else
@@ -50,7 +50,7 @@ frysk::config::BuildCompiler::getVersion(jnixx::env& env) {
 }
 
 jint
-frysk::config::BuildCompiler::getMinorVersion(jnixx::env& env) {
+frysk::config::BuildCompiler::getMinorVersion(jnixx::env env) {
 #ifdef __GNUC_MINOR__
   return (jint) __GNUC_MINOR__;
 #else
@@ -59,7 +59,7 @@ frysk::config::BuildCompiler::getMinorVersion(jnixx::env& env) {
 }
 
 jint
-frysk::config::BuildCompiler::getPatchLevel(jnixx::env& env) {
+frysk::config::BuildCompiler::getPatchLevel(jnixx::env env) {
 #ifdef __GNUC_PATCHLEVEL__
   return (jint) __GNUC_PATCHLEVEL__;
 #else
@@ -68,7 +68,7 @@ frysk::config::BuildCompiler::getPatchLevel(jnixx::env& env) {
 }
 
 jint
-frysk::config::BuildCompiler::getRHRelease(jnixx::env& env) {
+frysk::config::BuildCompiler::getRHRelease(jnixx::env env) {
 #ifdef __GNUC_RH_RELEASE__
   return (jint) __GNUC_RH_RELEASE__;
 #else
diff --git a/frysk-sys/frysk/config/jni/FryskVersion.cxx-in b/frysk-sys/frysk/config/jni/FryskVersion.cxx-in
index cc42fd8..8952142 100644
--- a/frysk-sys/frysk/config/jni/FryskVersion.cxx-in
+++ b/frysk-sys/frysk/config/jni/FryskVersion.cxx-in
@@ -40,6 +40,6 @@
 #include "frysk/config/FryskVersion-jni.hxx"
 
 java::lang::String
-frysk::config::FryskVersion::version(jnixx::env& env) {
+frysk::config::FryskVersion::version(jnixx::env env) {
   return env.newStringUTF("@VERSION@");
 }
diff --git a/frysk-sys/frysk/config/jni/Host.cxx-in b/frysk-sys/frysk/config/jni/Host.cxx-in
index c111e0f..f756fa3 100644
--- a/frysk-sys/frysk/config/jni/Host.cxx-in
+++ b/frysk-sys/frysk/config/jni/Host.cxx-in
@@ -42,11 +42,11 @@
 #include "frysk/config/Host-jni.hxx"
 
 jint 
-frysk::config::Host::wordSize(jnixx::env& env) {
+frysk::config::Host::wordSize(jnixx::env env) {
   return sizeof(long) * 8;
 }
 
 java::lang::String
-frysk::config::Host::cpuXXX(jnixx::env& env) {
+frysk::config::Host::cpuXXX(jnixx::env env) {
   return env.newStringUTF("@host_cpu@");
 }
diff --git a/frysk-sys/frysk/config/jni/PrefixFactory.cxx-in b/frysk-sys/frysk/config/jni/PrefixFactory.cxx-in
index 3ca15aa..b377d02 100644
--- a/frysk-sys/frysk/config/jni/PrefixFactory.cxx-in
+++ b/frysk-sys/frysk/config/jni/PrefixFactory.cxx-in
@@ -42,42 +42,42 @@
 #include "frysk/config/PrefixFactory-jni.hxx"
 
 java::lang::String
-frysk::config::PrefixFactory::gladeDir(jnixx::env& env) {
+frysk::config::PrefixFactory::gladeDir(jnixx::env env) {
   return env.newStringUTF("@gladedir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::helpDir(jnixx::env& env) {
+frysk::config::PrefixFactory::helpDir(jnixx::env env) {
   return env.newStringUTF("@helpdir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::imagesDir(jnixx::env& env) {
+frysk::config::PrefixFactory::imagesDir(jnixx::env env) {
   return env.newStringUTF("@imagesdir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::binDir(jnixx::env& env) {
+frysk::config::PrefixFactory::binDir(jnixx::env env) {
   return env.newStringUTF("@bindir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::pkgDataDir(jnixx::env& env) {
+frysk::config::PrefixFactory::pkgDataDir(jnixx::env env) {
   return env.newStringUTF("@pkgdatadir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::pkgLibDir(jnixx::env& env) {
+frysk::config::PrefixFactory::pkgLibDir(jnixx::env env) {
   return env.newStringUTF("@pkglibdir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::pkgLib32Dir(jnixx::env& env) {
+frysk::config::PrefixFactory::pkgLib32Dir(jnixx::env env) {
   return env.newStringUTF("@pkglib32dir@");
 }
 
 java::lang::String
-frysk::config::PrefixFactory::sourceDir(jnixx::env& env) {
+frysk::config::PrefixFactory::sourceDir(jnixx::env env) {
   // An educated guess.
   return env.newStringUTF("@prefix@/src/debug/frysk-@VERSION@");
 }
diff --git a/frysk-sys/frysk/jnixx/ChangeLog b/frysk-sys/frysk/jnixx/ChangeLog
index 7251115..70482f3 100644
--- a/frysk-sys/frysk/jnixx/ChangeLog
+++ b/frysk-sys/frysk/jnixx/ChangeLog
@@ -1,5 +1,13 @@
 2008-05-07  Andrew Cagney  <cagney@redhat.com>
 
+	* Printer.java: Generate passing jnixx::env by value, not reference.
+	* Native.java: New.
+	* jni/Native.cxx: New.
+	* cni/Native.cxx: New.
+	* TestJnixx.java: New.
+	* PrintHxxDefinitions.java: Ditto.
+	* PrintCxxDefinitions.java: Ditto.
+
 	* jnixx.hxx (jnixx::env): Rename jniEnv to _jni, make public.
 	* Printer.java: Generate _jni, _class, and _class_().
 	* PrintDeclarations.java: Ditto.
diff --git a/frysk-sys/frysk/config/jni/FryskVersion.cxx-in b/frysk-sys/frysk/jnixx/Native.java
similarity index 92%
copy from frysk-sys/frysk/config/jni/FryskVersion.cxx-in
copy to frysk-sys/frysk/jnixx/Native.java
index cc42fd8..49614bd 100644
--- a/frysk-sys/frysk/config/jni/FryskVersion.cxx-in
+++ b/frysk-sys/frysk/jnixx/Native.java
@@ -37,9 +37,10 @@
 // version and license this file solely under the GPL without
 // exception.
 
-#include "frysk/config/FryskVersion-jni.hxx"
+package frysk.jnixx;
 
-java::lang::String
-frysk::config::FryskVersion::version(jnixx::env& env) {
-  return env.newStringUTF("@VERSION@");
+class Native {
+    static native boolean isJni();
+    static native int sizeOfJnixxEnv();
+    static native int sizeOfJnixxObject();
 }
diff --git a/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java b/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
index 96f0418..0958db6 100644
--- a/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
+++ b/frysk-sys/frysk/jnixx/PrintCxxDefinitions.java
@@ -75,7 +75,7 @@ class PrintCxxDefinitions extends ClassVisitor {
 	    p.println("try {");
 	    {
 		p.indent();
-		p.println("jnixx::env env = jnixx::env(_jni);");
+		p.println("::jnixx::env _env = ::jnixx::env(_jni);");
 		Class returnType = method.getReturnType();
 		if (returnType != Void.TYPE) {
 		    p.printCxxType(returnType);
diff --git a/frysk-sys/frysk/jnixx/PrintDeclarations.java b/frysk-sys/frysk/jnixx/PrintDeclarations.java
index 535a5d5..aa41c76 100644
--- a/frysk-sys/frysk/jnixx/PrintDeclarations.java
+++ b/frysk-sys/frysk/jnixx/PrintDeclarations.java
@@ -67,11 +67,10 @@ class PrintDeclarations extends ClassWalker {
 	String name = field.getName();
 	p.print(Character.toUpperCase(name.charAt(0)));
 	p.print(name.substring(1));
-	p.print("(jnixx::env&");
+	p.print("(::jnixx::env");
 	if (!get) {
 	    p.print(", ");
 	    p.printCxxType(field.getType());
-	    p.print(" value");
 	}
 	p.println(");");
     }
@@ -168,7 +167,7 @@ class PrintDeclarations extends ClassWalker {
 	    p.println(" { }");
 	    // Static get-class method - a class knows its own class.
 	    p.println("private: static jclass _class; public:");
-	    p.println("static inline jclass _class_(jnixx::env& env);");
+	    p.println("static inline jclass _class_(::jnixx::env _env);");
 	    printer.visit(klass);
 	}
     }
diff --git a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
index fa98e59..a1d4607 100644
--- a/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
+++ b/frysk-sys/frysk/jnixx/PrintHxxDefinitions.java
@@ -71,7 +71,7 @@ class PrintHxxDefinitions extends ClassWalker {
 	String name = field.getName();
 	p.print(Character.toUpperCase(name.charAt(0)));
 	p.print(name.substring(1));
-	p.print("(jnixx::env& env");
+	p.print("(::jnixx::env _env");
 	if (!get) {
 	    p.print(", ");
 	    p.printCxxType(type);
@@ -84,11 +84,11 @@ class PrintHxxDefinitions extends ClassWalker {
 	    p.print(" == NULL)");
 	    while (p.dent(1, "{", "}")) {
 		p.printID(field);
-		p.print(" = env.get");
+		p.print(" = _env.get");
 		if (isStatic) {
 		    p.print("Static");
 		}
-		p.print("FieldID(_class_(env), \"");
+		p.print("FieldID(_class_(_env), \"");
 		p.print(name);
 		p.print("\", \"");
 		p.printJniSignature(type);
@@ -101,9 +101,9 @@ class PrintHxxDefinitions extends ClassWalker {
 		p.print("(");
 		p.printJniType(type);
 		p.print(")");
-		p.print(" env.get");
+		p.print(" _env.get");
 	    } else {
-		p.print("env.set");
+		p.print("_env.set");
 	    }
 	    if (isStatic) {
 		p.print("Static");
@@ -150,11 +150,11 @@ class PrintHxxDefinitions extends ClassWalker {
 	    p.print(" == NULL)");
 	    while (p.dent(1, "{", "}")) {
 		p.printID(method);
-		p.print(" = env.get");
+		p.print(" = _env.get");
 		if (isStatic) {
 		    p.print("Static");
 		}
-		p.print("MethodID(_class_(env), \"");
+		p.print("MethodID(_class_(_env), \"");
 		p.print(method.getName());
 		p.print("\", \"");
 		p.printJniSignature(method);
@@ -168,7 +168,7 @@ class PrintHxxDefinitions extends ClassWalker {
 		}
 		p.print(" ret = ");
 	    }
-	    p.print("env.call");
+	    p.print("_env.call");
 	    if (isStatic) {
 		p.print("Static");
 	    }
@@ -214,15 +214,15 @@ class PrintHxxDefinitions extends ClassWalker {
 		    p.print(" == NULL)");
 		    while (p.dent(1, "{", "}")) {
 			p.printID(constructor);
-			p.print(" = env.getMethodID(_class_(env), \"<init>\", \"(");
+			p.print(" = _env.getMethodID(_class_(_env), \"<init>\", \"(");
 			p.printJniSignature(constructor.getParameterTypes());
 			p.println(")V\");");
 		    }
-		    p.print("jobject object = env.newObject(");
+		    p.print("jobject object = _env.newObject(");
 		    p.printActualJniParameters(constructor);
 		    p.println(");");
 		    while (p.dent(1, "if (object == NULL) {", "}")) {
-			p.println("throw jnixx::exception();");
+			p.println("throw ::jnixx::exception();");
 		    }
 		    p.print("return ");
 		    p.printCxxType(constructor.getDeclaringClass());
@@ -257,10 +257,10 @@ class PrintHxxDefinitions extends ClassWalker {
 	p.println();
 	p.println("jclass");
 	p.printQualifiedCxxName(klass);
-	p.print("::_class_(jnixx::env& env)");
+	p.print("::_class_(::jnixx::env _env)");
 	while (p.dent(0, "{", "}")) {
 	    while (p.dent(1, "if (_class == NULL) {", "}")) {
-		p.print("_class = env.findClass(\"");
+		p.print("_class = _env.findClass(\"");
 		p.print(klass.getName());
 		p.println("\");");
 	    }
diff --git a/frysk-sys/frysk/jnixx/Printer.java b/frysk-sys/frysk/jnixx/Printer.java
index ee2cfd2..e18ae2a 100644
--- a/frysk-sys/frysk/jnixx/Printer.java
+++ b/frysk-sys/frysk/jnixx/Printer.java
@@ -401,9 +401,9 @@ class Printer {
     private Printer printFormalCxxParameters(Class klass, Class[] params,
 					     boolean isStatic,
 					     boolean printArgs) {
-	print("jnixx::env&");
+	print("::jnixx::env");
 	if (printArgs)
-	    print(" env");
+	    print(" _env");
 	for (int i = 0; i < params.length; i++) {
 	    print(", ");
 	    printCxxType(params[i]);
@@ -437,7 +437,7 @@ class Printer {
      */
     private Printer printActualCxxParameters(Member func,
 					     Class[] params) {
-	print("env");
+	print("_env");
 	for (int i = 0; i < params.length; i++) {
 	    Class param = params[i];
 	    print(", ");
diff --git a/frysk-sys/frysk/config/jni/Host.cxx-in b/frysk-sys/frysk/jnixx/TestJnixx.java
similarity index 81%
copy from frysk-sys/frysk/config/jni/Host.cxx-in
copy to frysk-sys/frysk/jnixx/TestJnixx.java
index c111e0f..5b15f0d 100644
--- a/frysk-sys/frysk/config/jni/Host.cxx-in
+++ b/frysk-sys/frysk/jnixx/TestJnixx.java
@@ -1,5 +1,3 @@
-// -*- C++ -*-
-
 // This file is part of the program FRYSK.
 //
 // Copyright 2008, Red Hat Inc.
@@ -39,14 +37,22 @@
 // version and license this file solely under the GPL without
 // exception.
 
-#include "frysk/config/Host-jni.hxx"
+package frysk.jnixx;
 
-jint 
-frysk::config::Host::wordSize(jnixx::env& env) {
-  return sizeof(long) * 8;
-}
+import frysk.config.Host;
+import frysk.junit.TestCase;
 
-java::lang::String
-frysk::config::Host::cpuXXX(jnixx::env& env) {
-  return env.newStringUTF("@host_cpu@");
+public class TestJnixx extends TestCase {
+    public void testSizeOfJnixxEnv() {
+	if (unsupported("CNI", !Native.isJni()))
+	    return;
+	assertEquals("word-size", Host.wordSize(),
+		     Native.sizeOfJnixxEnv() * 8);
+    }
+    public void testSizeofJnixxObject() {
+	if (unsupported("CNI", !Native.isJni()))
+	    return;
+	assertEquals("word-size", Host.wordSize(),
+		     Native.sizeOfJnixxObject() * 8);
+    }
 }
diff --git a/frysk-sys/frysk/sys/jni/Pid.cxx b/frysk-sys/frysk/jnixx/cni/Native.cxx
similarity index 90%
copy from frysk-sys/frysk/sys/jni/Pid.cxx
copy to frysk-sys/frysk/jnixx/cni/Native.cxx
index 1a0b2e8..4388148 100644
--- a/frysk-sys/frysk/sys/jni/Pid.cxx
+++ b/frysk-sys/frysk/jnixx/cni/Native.cxx
@@ -37,20 +37,21 @@
 // version and license this file solely under the GPL without
 // exception.
 
-#include <sys/types.h>
-#include <unistd.h>
+#include <gcj/cni.h>
 
-#include <jni.h>
-
-#include "frysk/sys/Pid-jni.hxx"
+#include "frysk/jnixx/Native.h"
 
+jboolean
+frysk::jnixx::Native::isJni() {
+  return false;
+}
 
 jint
-frysk::sys::Pid::pid(jnixx::env& env) {
-  return ::getpid();
+frysk::jnixx::Native::sizeOfJnixxEnv() {
+  return -1;
 }
 
 jint
-frysk::sys::Pid::parentPid(jnixx::env& env) {
-  return ::getppid();
+frysk::jnixx::Native::sizeOfJnixxObject() {
+  return -1;
 }
diff --git a/frysk-sys/frysk/sys/jni/Pid.cxx b/frysk-sys/frysk/jnixx/jni/Native.cxx
similarity index 88%
copy from frysk-sys/frysk/sys/jni/Pid.cxx
copy to frysk-sys/frysk/jnixx/jni/Native.cxx
index 1a0b2e8..671bbc8 100644
--- a/frysk-sys/frysk/sys/jni/Pid.cxx
+++ b/frysk-sys/frysk/jnixx/jni/Native.cxx
@@ -37,20 +37,19 @@
 // version and license this file solely under the GPL without
 // exception.
 
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <jni.h>
-
-#include "frysk/sys/Pid-jni.hxx"
+#include "frysk/jnixx/Native-jni.hxx"
 
+bool
+frysk::jnixx::Native::isJni(::jnixx::env) {
+  return true;
+}
 
 jint
-frysk::sys::Pid::pid(jnixx::env& env) {
-  return ::getpid();
+frysk::jnixx::Native::sizeOfJnixxEnv(::jnixx::env) {
+  return sizeof(::jnixx::env);
 }
 
 jint
-frysk::sys::Pid::parentPid(jnixx::env& env) {
-  return ::getppid();
+frysk::jnixx::Native::sizeOfJnixxObject(::jnixx::env) {
+  return sizeof(::jnixx::object);
 }
diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog
index a71982f..3104f2a 100644
--- a/frysk-sys/frysk/sys/ChangeLog
+++ b/frysk-sys/frysk/sys/ChangeLog
@@ -1,3 +1,10 @@
+2008-05-07  Andrew Cagney  <cagney@redhat.com>
+
+	* jni/Pid.cxx: Pass jnixx::env by reference.
+	* jni/Tid.cxx: Ditto.
+	* jni/Signal.cxx-sh: Ditto.
+	* jni/PseudoTerminal.cxx: Ditto.
+
 2008-05-06  Andrew Cagney  <cagney@redhat.com>
 
 	* jni/PseudoTerminal.cxx: Update, jboolean -> bool.
diff --git a/frysk-sys/frysk/sys/jni/Pid.cxx b/frysk-sys/frysk/sys/jni/Pid.cxx
index 1a0b2e8..d5ce334 100644
--- a/frysk-sys/frysk/sys/jni/Pid.cxx
+++ b/frysk-sys/frysk/sys/jni/Pid.cxx


hooks/post-receive
--
frysk system monitor/debugger


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-05-08  1:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-08  1:51 [SCM] master: Pass jnixx::env by value (and check it is only a word in size) cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).