|
From: <fd...@us...> - 2006-12-26 00:28:22
|
Revision: 2956
http://jnode.svn.sourceforge.net/jnode/?rev=2956&view=rev
Author: fduminy
Date: 2006-12-25 16:28:17 -0800 (Mon, 25 Dec 2006)
Log Message:
-----------
declare java.version as 1.5 (that's almost the case) in order that program checking it (like junit) can be happy
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2006-12-26 00:22:49 UTC (rev 2955)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2006-12-26 00:28:17 UTC (rev 2956)
@@ -226,7 +226,7 @@
final VmArchitecture arch = Vm.getArch();
// Java properties
- res.put("java.version", "1.1.0");
+ res.put("java.version", "1.5");
res.put("java.vendor", "JNode.org");
res.put("java.vendor.url", "http://jnode.org");
res.put("java.home", "/jifs/");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-01-11 19:30:30
|
Revision: 3071
http://jnode.svn.sourceforge.net/jnode/?rev=3071&view=rev
Author: lsantha
Date: 2007-01-11 11:30:25 -0800 (Thu, 11 Jan 2007)
Log Message:
-----------
Added support for transparency, based on a patch from Andrei Dore.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-01-11 19:29:39 UTC (rev 3070)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-01-11 19:30:25 UTC (rev 3071)
@@ -262,6 +262,8 @@
res.put("gnu.classpath.home.url", "system://");
res.put("gnu.classpath.vm.shortname", "jnode");
res.put("gnu.javax.swing.noGraphics2D", "true");
+ // keep this property until transparency support works fine with all drivers
+ res.put("org.jnode.awt.transparency", "true");
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-06-16 19:46:41
|
Revision: 3249
http://jnode.svn.sourceforge.net/jnode/?rev=3249&view=rev
Author: lsantha
Date: 2007-06-16 12:46:39 -0700 (Sat, 16 Jun 2007)
Log Message:
-----------
Openjdk style getClassContext() implementation to support NativeReflection..
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-06-16 19:28:56 UTC (rev 3248)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-06-16 19:46:39 UTC (rev 3249)
@@ -402,6 +402,37 @@
}
/**
+ * Gets the current stacktrace as array of classes excluding the calls to
+ * java.lang.reflect.Method.invoke() and org.jnode.vm.VmReflection.invoke().
+ *
+ * @return Class[]
+ */
+ public static Class[] getRealClassContext() {
+ final VmStackReader reader = VmProcessor.current().getArchitecture()
+ .getStackReader();
+ final VmStackFrame[] stack = reader.getVmStackTrace(VmMagic
+ .getCurrentFrame(), null, VmThread.STACKTRACE_LIMIT);
+ final int count = stack.length;
+ final Class[] result = new Class[count];
+ int real_count = 0;
+ for (int i = 0; i < count; i++) {
+ VmMethod method = stack[i].getMethod();
+ VmType<?> clazz = method.getDeclaringClass();
+ if((method.getName().equals("invoke") && (
+ clazz.getName().equals("java.lang.reflect.Method") ||
+ clazz.getName().equals("org.jnode.vm.VmReflection"))))
+ continue;
+
+ result[real_count++] = clazz.asClass();
+ }
+
+ Class[] real_result = new Class[real_count];
+ System.arraycopy(result, 0, real_result, 0, real_count);
+
+ return real_result;
+ }
+
+ /**
* Do nothing, until interrupted by an interrupts.
*/
public static void idle() {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-07-01 08:45:38
|
Revision: 3342
http://jnode.svn.sourceforge.net/jnode/?rev=3342&view=rev
Author: lsantha
Date: 2007-07-01 01:45:32 -0700 (Sun, 01 Jul 2007)
Log Message:
-----------
Added system properties required by javac.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-07-01 08:43:37 UTC (rev 3341)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-07-01 08:45:32 UTC (rev 3342)
@@ -266,6 +266,11 @@
res.put("gnu.javax.swing.noGraphics2D", "true");
// keep this property until transparency support works fine with all drivers
res.put("org.jnode.awt.transparency", "true");
+
+ //internal classpath for javac
+ res.put("java.endorsed.dirs", "/jifs/lib/");
+ res.put("sun.boot.class.path", ":");
+
}
/**
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-08-11 19:54:17
|
Revision: 3389
http://jnode.svn.sourceforge.net/jnode/?rev=3389&view=rev
Author: lsantha
Date: 2007-08-11 12:54:16 -0700 (Sat, 11 Aug 2007)
Log Message:
-----------
Openjdk integration.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-08-11 19:53:05 UTC (rev 3388)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-08-11 19:54:16 UTC (rev 3389)
@@ -68,6 +68,8 @@
import org.vmmagic.unboxed.Extent;
import org.vmmagic.unboxed.ObjectReference;
import org.vmmagic.unboxed.Offset;
+import sun.reflect.annotation.AnnotationType;
+import sun.nio.ch.Interruptible;
/**
* System support for the Virtual Machine
@@ -166,9 +168,38 @@
final ConsoleAppender infoApp = new ConsoleAppender(
new PatternLayout(LAYOUT));
root.addAppender(infoApp);
+
+ initOpenJDKSpeciffics();
}
}
+ private static void initOpenJDKSpeciffics() {
+ //todo this will be moved to java.lang.System during openjdk integration
+ sun.misc.SharedSecrets.setJavaLangAccess(new sun.misc.JavaLangAccess(){
+ public sun.reflect.ConstantPool getConstantPool(Class klass) {
+ //return klass.getConstantPool();
+ throw new UnsupportedOperationException();
+ }
+ public void setAnnotationType(Class klass, AnnotationType type) {
+ //klass.setAnnotationType(type);
+ throw new UnsupportedOperationException();
+ }
+ public AnnotationType getAnnotationType(Class klass) {
+ //return klass.getAnnotationType();
+ throw new UnsupportedOperationException();
+ }
+ public <E extends Enum<E>>
+ E[] getEnumConstantsShared(Class<E> klass) {
+ //return klass.getEnumConstantsShared();
+ return klass.getEnumConstants();
+ }
+ public void blockedOn(Thread t, Interruptible b) {
+ //t.blockedOn(b);
+ throw new UnsupportedOperationException();
+ }
+ });
+ }
+
final static boolean isInitialized() {
return inited;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-10-28 17:06:36
|
Revision: 3573
http://jnode.svn.sourceforge.net/jnode/?rev=3573&view=rev
Author: lsantha
Date: 2007-10-28 10:06:32 -0700 (Sun, 28 Oct 2007)
Log Message:
-----------
Improved system properties.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-10-27 20:42:50 UTC (rev 3572)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-10-28 17:06:32 UTC (rev 3573)
@@ -268,48 +268,60 @@
final Vm vm = Vm.getVm();
final VmArchitecture arch = Vm.getArch();
- // Java properties
- res.put("java.version", "1.5");
+ // Standard Java properties
+ res.put("file.separator", "/");
+ res.put("java.awt.graphicsenv", "");
+ res.put("java.awt.printerjob", "");
+ res.put("java.class.path", "");
+ res.put("java.class.version", "50.0");
+ res.put("java.compiler", "Internal"); //todo is this needed?
+ res.put("java.endorsed.dirs", "/jifs/lib/");
+ res.put("java.ext.dirs", "");
+ res.put("java.home", "/jifs/");
+ res.put("java.io.tmpdir", "/jnode/tmp");
+ res.put("java.library.path", "");
+ res.put("java.runtime.name", "JNode");
+ res.put("java.runtime.version", vm.getVersion());
+ res.put("java.specification.name", "Java Platform API Specification");
+ res.put("java.specification.vendor", "Sun Microsystems Inc.");
+ res.put("java.specification.version", "1.6");
res.put("java.vendor", "JNode.org");
res.put("java.vendor.url", "http://jnode.org");
- res.put("java.home", "/jifs/");
- res.put("java.vm.specification.version", "1.4");
- res.put("java.vm.specification.vendor", "JNode.org");
- res.put("java.vm.specification.name", "jnode");
+ res.put("java.vendor.url.bug", "http://jnode.org");
+ res.put("java.version", "1.6");
+ res.put("java.vm.info", "");
+ res.put("java.vm.name", "JNode");
+ res.put("java.vm.specification.name", "Java Virtual Machine Specification");
+ res.put("java.vm.specification.vendor", "Sun Microsystems Inc.");
+ res.put("java.vm.specification.version", "1.0");
+ res.put("java.vm.vendor", "JNode.org");
res.put("java.vm.version", vm.getVersion());
- res.put("java.vm.vendor", "JNode.org");
- res.put("java.vm.name", "JNode");
- res.put("java.class.version", "1.1");
- res.put("java.class.path", "");
- res.put("java.library.path", "");
- res.put("java.io.tmpdir", "/jnode/tmp");
- res.put("java.compiler", "Internal");
- res.put("java.ext.dirs", "");
+ res.put("line.separator", "\n");
+ res.put("os.arch", arch.getName());
res.put("os.name", "JNode");
- res.put("os.arch", arch.getName());
res.put("os.version", vm.getVersion());
- res.put("file.separator", "/");
res.put("path.separator", ":");
- res.put("line.separator", "\n");
+ res.put("user.country", "");
+ res.put("user.dir", "/");
+ res.put("user.home", "/jnode/home");
+ res.put("user.language", "");
res.put("user.name", "System");
- res.put("user.home", "/jnode/home");
- res.put("user.dir", "/");
+ res.put("user.timezone", "");
- // Log4j properties
- res.put("log4j.defaultInitOverride", "true");
-
// GNU properties
- res.put("gnu.cpu.endian",
- (arch.getByteOrder() == ByteOrder.BIG_ENDIAN) ? "big"
- : "little");
+ res.put("gnu.cpu.endian", (arch.getByteOrder() == ByteOrder.BIG_ENDIAN) ? "big" : "little");
res.put("gnu.classpath.home.url", "system://");
res.put("gnu.classpath.vm.shortname", "jnode");
res.put("gnu.javax.swing.noGraphics2D", "true");
+
+ //----------JNode related
+ // Log4j properties
+ res.put("log4j.defaultInitOverride", "true");
+
// keep this property until transparency support works fine with all drivers
res.put("org.jnode.awt.transparency", "true");
//internal classpath for javac
- res.put("java.endorsed.dirs", "/jifs/lib/");
res.put("sun.boot.class.path", ":");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2007-11-03 13:11:24
|
Revision: 3577
http://jnode.svn.sourceforge.net/jnode/?rev=3577&view=rev
Author: lsantha
Date: 2007-11-03 06:11:22 -0700 (Sat, 03 Nov 2007)
Log Message:
-----------
Fixed GUI startup regression.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-10-30 18:43:42 UTC (rev 3576)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2007-11-03 13:11:22 UTC (rev 3577)
@@ -270,7 +270,7 @@
// Standard Java properties
res.put("file.separator", "/");
- res.put("java.awt.graphicsenv", "");
+ res.put("java.awt.graphicsenv", "org.jnode.awt.JNodeGraphicsEnvironment");
res.put("java.awt.printerjob", "");
res.put("java.class.path", "");
res.put("java.class.version", "50.0");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <ls...@us...> - 2008-03-29 11:20:19
|
Revision: 3908
http://jnode.svn.sourceforge.net/jnode/?rev=3908&view=rev
Author: lsantha
Date: 2008-03-29 04:20:14 -0700 (Sat, 29 Mar 2008)
Log Message:
-----------
Fixed property setting.
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2008-03-29 05:43:37 UTC (rev 3907)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2008-03-29 11:20:14 UTC (rev 3908)
@@ -328,7 +328,7 @@
//internal classpath for javac
res.put("sun.boot.class.path", ":");
- res.put("swing.handleTopLevelPaint", false);
+ res.put("swing.handleTopLevelPaint", "false");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <cr...@us...> - 2008-04-06 06:22:50
|
Revision: 3938
http://jnode.svn.sourceforge.net/jnode/?rev=3938&view=rev
Author: crawley
Date: 2008-04-05 23:22:46 -0700 (Sat, 05 Apr 2008)
Log Message:
-----------
Tidy up the IOContext set/reset methods and add minimal javadoc
Modified Paths:
--------------
trunk/core/src/core/org/jnode/vm/VmSystem.java
Modified: trunk/core/src/core/org/jnode/vm/VmSystem.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/VmSystem.java 2008-04-06 05:51:50 UTC (rev 3937)
+++ trunk/core/src/core/org/jnode/vm/VmSystem.java 2008-04-06 06:22:46 UTC (rev 3938)
@@ -1063,8 +1063,6 @@
}
//io context related
- // private static final IOContext vmIoContext = new VmIOContext();
- // private static IOContext ioContext = vmIoContext;
public static IOContext getIOContext() {
return VmIsolate.currentIsolate().getIOContext();
@@ -1102,17 +1100,28 @@
return getIOContext().getGlobalOutStream();
}
- public static void switchToExternalIOContext(IOContext context){
- if (hasVmIOContext()){
+ /**
+ * Switch the current Isolate from the initial IOContext to an external one.
+ * If the Isolate already has an external IOContext, this is a no-op.
+ *
+ * @param context
+ */
+ public static synchronized void switchToExternalIOContext(IOContext context){
+ if (hasVmIOContext()) {
+ getIOContext().exitContext();
VmIsolate.currentIsolate().setIOContext(context);
context.enterContext();
}
}
- public static void resetIOContext(){
+ /**
+ * Reset to the current Isolate to its initial IOContext.
+ */
+ public static synchronized void resetIOContext(){
if (!hasVmIOContext()){
getIOContext().exitContext();
VmIsolate.currentIsolate().resetIOContext();
+ getIOContext().enterContext();
} else {
throw new RuntimeException("IO Context cannot be reset");
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|