|
From: <ls...@us...> - 2009-04-06 14:55:33
|
Revision: 5226
http://jnode.svn.sourceforge.net/jnode/?rev=5226&view=rev
Author: lsantha
Date: 2009-04-06 14:55:27 +0000 (Mon, 06 Apr 2009)
Log Message:
-----------
Separating jnode specific code from classlib.
Modified Paths:
--------------
trunk/core/src/classlib/org/jnode/annotation/AllowedPackages.java
trunk/core/src/classlib/org/jnode/annotation/CheckPermission.java
trunk/core/src/classlib/org/jnode/annotation/DoPrivileged.java
trunk/core/src/classlib/org/jnode/annotation/Inline.java
trunk/core/src/classlib/org/jnode/annotation/Internal.java
trunk/core/src/classlib/org/jnode/annotation/KernelSpace.java
trunk/core/src/classlib/org/jnode/annotation/LoadStatics.java
trunk/core/src/classlib/org/jnode/annotation/MagicPermission.java
trunk/core/src/classlib/org/jnode/annotation/NoFieldAlignments.java
trunk/core/src/classlib/org/jnode/annotation/NoInline.java
trunk/core/src/classlib/org/jnode/annotation/NoReadBarrier.java
trunk/core/src/classlib/org/jnode/annotation/NoWriteBarrier.java
trunk/core/src/classlib/org/jnode/annotation/PrivilegedActionPragma.java
trunk/core/src/classlib/org/jnode/annotation/SharedStatics.java
trunk/core/src/classlib/org/jnode/annotation/Uninterruptible.java
trunk/core/src/classpath/ext/javax/isolate/IsolateStatus.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/processor/VirtualMachineCommandSet.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/transport/TransportFactory.java
trunk/core/src/classpath/gnu/gnu/java/awt/ClasspathToolkit.java
trunk/core/src/classpath/java/java/lang/ClassLoader.java
trunk/core/src/classpath/java/java/lang/Thread.java
trunk/core/src/classpath/javax/javax/imageio/spi/IIORegistry.java
trunk/core/src/classpath/vm/java/lang/NativeThread.java
trunk/core/src/classpath/vm/java/lang/ThreadHelper.java
trunk/core/src/classpath/vm/java/net/VMNetUtils.java
trunk/core/src/core/org/jnode/boot/Main.java
trunk/core/src/core/org/jnode/boot/MemoryResourceInputStream.java
trunk/core/src/core/org/jnode/naming/DefaultNameSpace.java
trunk/core/src/core/org/jnode/naming/InitialNaming.java
trunk/core/src/core/org/jnode/system/IOResource.java
trunk/core/src/core/org/jnode/system/MemoryResource.java
trunk/core/src/core/org/jnode/system/x86/DMA.java
trunk/core/src/core/org/jnode/system/x86/DMAPlugin.java
trunk/core/src/core/org/jnode/util/BinaryScaleFactor.java
trunk/core/src/core/org/jnode/util/DecimalScaleFactor.java
trunk/core/src/core/org/jnode/util/SizeUnit.java
trunk/core/src/core/org/jnode/vm/AllocationBitmap.java
trunk/core/src/core/org/jnode/vm/HeapHelperImpl.java
trunk/core/src/core/org/jnode/vm/LoadCompileService.java
trunk/core/src/core/org/jnode/vm/MathSupport.java
trunk/core/src/core/org/jnode/vm/MemoryBlockManager.java
trunk/core/src/core/org/jnode/vm/MemoryResourceImpl.java
trunk/core/src/core/org/jnode/vm/MemoryScannerImpl.java
trunk/core/src/core/org/jnode/vm/MultiMediaMemoryResourceImpl.java
trunk/core/src/core/org/jnode/vm/ResourceManagerImpl.java
trunk/core/src/core/org/jnode/vm/SoftByteCodes.java
trunk/core/src/core/org/jnode/vm/Unsafe.java
trunk/core/src/core/org/jnode/vm/Vm.java
trunk/core/src/core/org/jnode/vm/VmAccessController.java
trunk/core/src/core/org/jnode/vm/VmAddress.java
trunk/core/src/core/org/jnode/vm/VmArchitecture.java
trunk/core/src/core/org/jnode/vm/VmJavaClassLoader.java
trunk/core/src/core/org/jnode/vm/VmJavaMultiMediaSupport.java
trunk/core/src/core/org/jnode/vm/VmMagic.java
trunk/core/src/core/org/jnode/vm/VmReflection.java
trunk/core/src/core/org/jnode/vm/VmStackFrameEnumerator.java
trunk/core/src/core/org/jnode/vm/VmStackReader.java
trunk/core/src/core/org/jnode/vm/VmSystem.java
trunk/core/src/core/org/jnode/vm/VmSystemClassLoader.java
trunk/core/src/core/org/jnode/vm/classmgr/ClassDecoder.java
trunk/core/src/core/org/jnode/vm/classmgr/CompiledCodeList.java
trunk/core/src/core/org/jnode/vm/classmgr/ObjectLayout.java
trunk/core/src/core/org/jnode/vm/classmgr/VmAnnotatedElement.java
trunk/core/src/core/org/jnode/vm/classmgr/VmAnnotation.java
trunk/core/src/core/org/jnode/vm/classmgr/VmCompiledCode.java
trunk/core/src/core/org/jnode/vm/classmgr/VmCompiledExceptionHandler.java
trunk/core/src/core/org/jnode/vm/classmgr/VmMember.java
trunk/core/src/core/org/jnode/vm/classmgr/VmMethod.java
trunk/core/src/core/org/jnode/vm/classmgr/VmStatics.java
trunk/core/src/core/org/jnode/vm/classmgr/VmType.java
trunk/core/src/core/org/jnode/vm/compiler/BaseMagicHelper.java
trunk/core/src/core/org/jnode/vm/compiler/NativeCodeCompiler.java
trunk/core/src/core/org/jnode/vm/isolate/VmIsolate.java
trunk/core/src/core/org/jnode/vm/memmgr/VmHeapManager.java
trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultHeapManager.java
trunk/core/src/core/org/jnode/vm/memmgr/def/DefaultWriteBarrier.java
trunk/core/src/core/org/jnode/vm/memmgr/def/FinalizerThread.java
trunk/core/src/core/org/jnode/vm/memmgr/def/FinalizerVisitor.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCManager.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCMarkVisitor.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCSetWhiteVisitor.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCStack.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCSweepVisitor.java
trunk/core/src/core/org/jnode/vm/memmgr/def/GCVerifyVisitor.java
trunk/core/src/core/org/jnode/vm/memmgr/def/VmAbstractHeap.java
trunk/core/src/core/org/jnode/vm/memmgr/def/VmBootHeap.java
trunk/core/src/core/org/jnode/vm/memmgr/def/VmDefaultHeap.java
trunk/core/src/core/org/jnode/vm/scheduler/IRQManager.java
trunk/core/src/core/org/jnode/vm/scheduler/IRQThread.java
trunk/core/src/core/org/jnode/vm/scheduler/Monitor.java
trunk/core/src/core/org/jnode/vm/scheduler/MonitorManager.java
trunk/core/src/core/org/jnode/vm/scheduler/ProcessorLock.java
trunk/core/src/core/org/jnode/vm/scheduler/SpinLock.java
trunk/core/src/core/org/jnode/vm/scheduler/VmProcessor.java
trunk/core/src/core/org/jnode/vm/scheduler/VmScheduler.java
trunk/core/src/core/org/jnode/vm/scheduler/VmThread.java
trunk/core/src/core/org/jnode/vm/scheduler/VmThreadQueue.java
trunk/core/src/core/org/jnode/vm/scheduler/VmThreadQueueEntry.java
trunk/core/src/core/org/jnode/vm/x86/GDT.java
trunk/core/src/core/org/jnode/vm/x86/IOAPIC.java
trunk/core/src/core/org/jnode/vm/x86/LocalAPIC.java
trunk/core/src/core/org/jnode/vm/x86/MPConfigTable.java
trunk/core/src/core/org/jnode/vm/x86/MPFloatingPointerStructure.java
trunk/core/src/core/org/jnode/vm/x86/MPIOAPICEntry.java
trunk/core/src/core/org/jnode/vm/x86/PIC8259A.java
trunk/core/src/core/org/jnode/vm/x86/TSS32.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Architecture.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Architecture32.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Architecture64.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Processor.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Processor32.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Processor64.java
trunk/core/src/core/org/jnode/vm/x86/VmX86StackReader.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Thread.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Thread32.java
trunk/core/src/core/org/jnode/vm/x86/VmX86Thread64.java
trunk/core/src/core/org/jnode/vm/x86/X86IRQManager.java
trunk/core/src/core/org/jnode/vm/x86/compiler/AbstractX86Compiler.java
trunk/core/src/core/org/jnode/vm/x86/compiler/X86CompilerHelper.java
trunk/core/src/core/org/jnode/vm/x86/compiler/l1a/X86GCMapIterator.java
trunk/core/src/core/org/jnode/vm/x86/compiler/l1b/X86GCMapIterator.java
trunk/core/src/driver/org/jnode/driver/system/acpi/AcpiTable.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/genrc/HeapManager.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/genrc/Plan.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/ms/HeapManager.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/ms/Plan.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/nogc/HeapManager.java
trunk/core/src/mmtk-vm/org/jnode/vm/memmgr/mmtk/nogc/Plan.java
trunk/core/src/mmtk-vm/org/mmtk/vm/Barriers.java
trunk/core/src/mmtk-vm/org/mmtk/vm/Memory.java
trunk/core/src/mmtk-vm/org/mmtk/vm/ObjectModel.java
trunk/core/src/mmtk-vm/org/mmtk/vm/Plan.java
trunk/core/src/mmtk-vm/org/mmtk/vm/Scanning.java
trunk/core/src/mmtk-vm/org/mmtk/vm/TraceInterface.java
trunk/core/src/openjdk/java/java/awt/Toolkit.java
trunk/core/src/openjdk/java/java/lang/System.java
trunk/core/src/openjdk/sun/sun/misc/Unsafe.java
trunk/core/src/openjdk/svm/java/lang/ProcessEnvironment.java
trunk/core/src/openjdk/vm/java/awt/NativeToolkit.java
trunk/core/src/openjdk/vm/java/lang/NativeProcessEnvironment.java
trunk/core/src/openjdk/vm/java/lang/NativeString.java
trunk/core/src/openjdk/vm/java/lang/NativeSystem.java
trunk/core/src/openjdk/vm/java/lang/NativeThrowable.java
trunk/core/src/openjdk/vm/java/net/NativeInetAddress.java
trunk/core/src/openjdk/vm/sun/misc/NativeUnsafe.java
trunk/core/src/openjdk/vm/sun/misc/UnsafeHelper.java
trunk/core/src/vmmagic/org/vmmagic/unboxed/Address.java
trunk/core/src/vmmagic/org/vmmagic/unboxed/ObjectReference.java
trunk/core/src/vmmagic/org/vmmagic/unboxed/Word.java
Added Paths:
-----------
trunk/core/src/classlib/
trunk/core/src/classlib/org/
trunk/core/src/classlib/org/jnode/
trunk/core/src/classlib/org/jnode/annotation/
trunk/core/src/classlib/org/jnode/java/
trunk/core/src/classlib/org/jnode/java/io/
trunk/core/src/classlib/org/jnode/java/io/VMFileHandle.java
trunk/core/src/classlib/org/jnode/java/io/VMFileSystemAPI.java
trunk/core/src/classlib/org/jnode/java/nio/
trunk/core/src/classlib/org/jnode/java/nio/VmChannel.java
trunk/core/src/classpath/gnu/gnu/classpath/Configuration.java
trunk/core/src/classpath/gnu/gnu/classpath/VMStackWalker.java
trunk/core/src/classpath/gnu/gnu/classpath/VMSystemProperties.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMFrame.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMIdManager.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMMethod.java
trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMVirtualMachine.java
trunk/core/src/classpath/gnu/gnu/java/lang/VMClassHelper.java
trunk/core/src/classpath/gnu/gnu/java/lang/VMInstrumentationImpl.java
trunk/core/src/classpath/gnu/gnu/java/nio/VMChannel.java
trunk/core/src/classpath/gnu/gnu/java/nio/VMPipe.java
trunk/core/src/classpath/gnu/gnu/java/nio/VMSelector.java
trunk/core/src/classpath/java/java/io/VMFile.java
trunk/core/src/classpath/java/java/io/VMIOUtils.java
trunk/core/src/classpath/java/java/io/VMOpenMode.java
trunk/core/src/classpath/java/java/lang/VMClassLoader.java
trunk/core/src/classpath/java/java/net/
trunk/core/src/classpath/java/java/net/MimeTypeMapper.java
trunk/core/src/classpath/vm/gnu/classpath/NativeVMStackWalker.java
trunk/core/src/classpath/vm/gnu/classpath/jdwp/transport/
trunk/core/src/classpath/vm/gnu/classpath/jdwp/transport/NativeTransportFactory.java
trunk/core/src/classpath/vm/java/lang/NativeVMClassLoader.java
trunk/core/src/classpath/vm/javax/
trunk/core/src/classpath/vm/javax/imageio/
trunk/core/src/classpath/vm/javax/imageio/spi/
trunk/core/src/classpath/vm/javax/imageio/spi/NativeIIORegistry.java
trunk/core/src/openjdk/svm/sun/java2d/
trunk/core/src/openjdk/svm/sun/java2d/SurfaceManagerFactory.java
trunk/core/src/openjdk/svm/sun/misc/
trunk/core/src/openjdk/svm/sun/misc/Version.java
trunk/core/src/openjdk/svm/sun/security/provider/NativeSeedGenerator.java
Removed Paths:
-------------
trunk/core/src/classpath/vm/gnu/classpath/Configuration.java
trunk/core/src/classpath/vm/gnu/classpath/VMStackWalker.java
trunk/core/src/classpath/vm/gnu/classpath/VMSystemProperties.java
trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMFrame.java
trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMIdManager.java
trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMMethod.java
trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMVirtualMachine.java
trunk/core/src/classpath/vm/gnu/java/lang/VMClassHelper.java
trunk/core/src/classpath/vm/gnu/java/lang/VMInstrumentationImpl.java
trunk/core/src/classpath/vm/gnu/java/nio/VMChannel.java
trunk/core/src/classpath/vm/gnu/java/nio/VMPipe.java
trunk/core/src/classpath/vm/gnu/java/nio/VMSelector.java
trunk/core/src/classpath/vm/java/io/VMFile.java
trunk/core/src/classpath/vm/java/io/VMIOUtils.java
trunk/core/src/classpath/vm/java/io/VMOpenMode.java
trunk/core/src/classpath/vm/java/lang/VMClassLoader.java
trunk/core/src/classpath/vm/java/net/MimeTypeMapper.java
trunk/core/src/classpath/vm/org/jnode/java/io/VMFileHandle.java
trunk/core/src/classpath/vm/org/jnode/java/io/VMFileSystemAPI.java
trunk/core/src/core/org/jnode/vm/VmChannel.java
trunk/core/src/core/org/jnode/vm/annotation/
trunk/core/src/openjdk/vm/sun/java2d/SurfaceManagerFactory.java
trunk/core/src/openjdk/vm/sun/misc/Version.java
trunk/core/src/openjdk/vm/sun/security/provider/NativeSeedGenerator.java
Modified: trunk/core/src/classlib/org/jnode/annotation/AllowedPackages.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/AllowedPackages.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/AllowedPackages.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.ANNOTATION_TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
Modified: trunk/core/src/classlib/org/jnode/annotation/CheckPermission.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/CheckPermission.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/CheckPermission.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/DoPrivileged.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/DoPrivileged.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/DoPrivileged.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/Inline.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/Inline.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/Inline.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
Modified: trunk/core/src/classlib/org/jnode/annotation/Internal.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/Internal.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/Internal.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
Modified: trunk/core/src/classlib/org/jnode/annotation/KernelSpace.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/KernelSpace.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/KernelSpace.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/LoadStatics.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/LoadStatics.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/LoadStatics.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/MagicPermission.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/MagicPermission.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/MagicPermission.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/NoFieldAlignments.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/NoFieldAlignments.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/NoFieldAlignments.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/NoInline.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/NoInline.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/NoInline.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
Modified: trunk/core/src/classlib/org/jnode/annotation/NoReadBarrier.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/NoReadBarrier.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/NoReadBarrier.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/NoWriteBarrier.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/NoWriteBarrier.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/NoWriteBarrier.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.METHOD;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/PrivilegedActionPragma.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/PrivilegedActionPragma.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/PrivilegedActionPragma.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
Modified: trunk/core/src/classlib/org/jnode/annotation/SharedStatics.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/SharedStatics.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/SharedStatics.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.CLASS;
Modified: trunk/core/src/classlib/org/jnode/annotation/Uninterruptible.java
===================================================================
--- trunk/core/src/core/org/jnode/vm/annotation/Uninterruptible.java 2009-04-05 15:46:19 UTC (rev 5222)
+++ trunk/core/src/classlib/org/jnode/annotation/Uninterruptible.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -18,7 +18,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-package org.jnode.vm.annotation;
+package org.jnode.annotation;
import static java.lang.annotation.ElementType.CONSTRUCTOR;
import static java.lang.annotation.ElementType.METHOD;
Copied: trunk/core/src/classlib/org/jnode/java/io/VMFileHandle.java (from rev 5222, trunk/core/src/classpath/vm/org/jnode/java/io/VMFileHandle.java)
===================================================================
--- trunk/core/src/classlib/org/jnode/java/io/VMFileHandle.java (rev 0)
+++ trunk/core/src/classlib/org/jnode/java/io/VMFileHandle.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,97 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2003-2009 JNode.org
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; If not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.jnode.java.io;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.nio.MappedByteBuffer;
+
+
+/**
+ * A FileHandle represents a single, opened file for a single principal.
+ * @author epr
+ */
+public interface VMFileHandle {
+
+ /**
+ * Gets the length (in bytes) of this file
+ * @return long
+ */
+ public long getLength();
+
+ /**
+ * Sets the length of this file.
+ * @param length
+ * @throws IOException
+ */
+ public void setLength(long length) throws IOException;
+
+ /**
+ * Gets the current position in the file
+ * @return long
+ */
+ public long getPosition();
+
+ /**
+ * Sets the position in the file.
+ * @param position
+ * @throws IOException
+ */
+ public void setPosition(long position) throws IOException;
+
+ /**
+ * Read bytes into the {@code dest} buffer.
+ * @param dest
+ * @return the number of bytes read.
+ * @throws IOException
+ */
+ public int read(ByteBuffer dest) throws IOException;
+
+
+ /**
+ * Write bytes from the {@code src} buffer.
+ * @param src
+ * @throws IOException
+ */
+ public void write(ByteBuffer src) throws IOException;
+
+ /**
+ * Close this file.
+ */
+ public void close() throws IOException;
+
+ /**
+ * Has this handle been closed?
+ */
+ public boolean isClosed();
+
+ public int available();
+
+ public void unlock(long pos, long len);
+
+ public int read() throws IOException;
+
+ public void write(int b) throws IOException;
+
+ public boolean lock();
+
+ public MappedByteBuffer mapImpl(char mode, long position, int size);
+}
Property changes on: trunk/core/src/classlib/org/jnode/java/io/VMFileHandle.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classlib/org/jnode/java/io/VMFileSystemAPI.java (from rev 5222, trunk/core/src/classpath/vm/org/jnode/java/io/VMFileSystemAPI.java)
===================================================================
--- trunk/core/src/classlib/org/jnode/java/io/VMFileSystemAPI.java (rev 0)
+++ trunk/core/src/classlib/org/jnode/java/io/VMFileSystemAPI.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,156 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2003-2009 JNode.org
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; If not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.jnode.java.io;
+
+import java.io.IOException;
+import java.io.File;
+import java.io.VMOpenMode;
+
+/**
+ * The implementation of this interface is used to connect the java.io package with the JNode
+ * filesystem services.
+ * The file paths given to the various methods are absolute and canonical.
+ *
+ * @modif add mkDir mkFile Yves Galante (yve...@jm...) 01.04.2004
+ * @author epr
+ */
+public interface VMFileSystemAPI {
+
+ /**
+ * Does a given file exist?
+ */
+ public boolean fileExists(String file);
+
+ /**
+ * Is the given File a plain file?
+ */
+ public boolean isFile(String file);
+
+ /**
+ * Is the given File a directory?
+ */
+ public boolean isDirectory(String file);
+
+ /**
+ * Can the given file be read?
+ *
+ * @param file
+ */
+ public boolean canRead(String file) throws IOException;
+
+ /**
+ * Can the given file be written to?
+ *
+ * @param file
+ */
+ public boolean canWrite(String file) throws IOException;
+
+ public boolean canExecute(String file) throws IOException;
+
+ /**
+ * Gets the length in bytes of the given file or 0 if the file does not exist.
+ *
+ * @param file
+ */
+ public long getLength(String file);
+
+ /**
+ * Gets the last modification date of the given file.
+ *
+ * @param file
+ */
+ public long getLastModified(String file);
+
+ /**
+ * Sets the last modification date of the given file.
+ *
+ * @param file
+ */
+ public void setLastModified(String file, long time) throws IOException;
+
+ /**
+ * Mark the given file as readonly.
+ *
+ * @param file
+ * @throws IOException
+ */
+ public void setReadOnly(String file) throws IOException;
+
+ public boolean setReadable(String normalizedPath, boolean enable,
+ boolean owneronly) throws IOException;
+
+ public boolean setWritable(String normalizedPath, boolean enable,
+ boolean owneronly) throws IOException;
+
+ public boolean setExecutable(String normalizedPath, boolean enable,
+ boolean owneronly) throws IOException;
+
+ /**
+ * Delete the given file.
+ *
+ * @param file
+ * @throws IOException
+ */
+ public void delete(String file) throws IOException;
+
+ /**
+ * This method returns an array of filesystem roots.
+ */
+ public File[] getRoots();
+
+ /**
+ * Gets an array of names of all entries of the given directory. All names are relative to the
+ * given directory.
+ *
+ * @param directory
+ */
+ public String[] list(String directory) throws IOException;
+
+ /**
+ * Open a given file
+ *
+ * @param file
+ * @throws IOException
+ */
+ public VMFileHandle open(String file, VMOpenMode mode) throws IOException;
+
+ /**
+ * Make a directory
+ *
+ * @param file
+ * @throws IOException
+ */
+ public boolean mkDir(String file) throws IOException;
+
+ /**
+ * Make a file
+ *
+ * @param file
+ * @throws IOException
+ */
+ public boolean mkFile(String file, VMOpenMode mode) throws IOException;
+
+ public long getTotalSpace(String normalizedPath) throws IOException;
+
+ public long getFreeSpace(String normalizedPath) throws IOException;
+
+ public long getUsableSpace(String normalizedPath) throws IOException;
+}
Property changes on: trunk/core/src/classlib/org/jnode/java/io/VMFileSystemAPI.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classlib/org/jnode/java/nio/VmChannel.java (from rev 5222, trunk/core/src/core/org/jnode/vm/VmChannel.java)
===================================================================
--- trunk/core/src/classlib/org/jnode/java/nio/VmChannel.java (rev 0)
+++ trunk/core/src/classlib/org/jnode/java/nio/VmChannel.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,188 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2003-2009 JNode.org
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; If not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package org.jnode.java.nio;
+
+import java.io.IOException;
+import java.net.SocketException;
+import java.nio.ByteBuffer;
+import java.nio.MappedByteBuffer;
+
+/**
+ * Native interface to support configuring of channel to run in a non-blocking
+ * manner and support scatter/gather io operations.
+ * <p/>
+ * <p/>
+ * This has to give the functionality of the classpath/native/jni/java-nio/gnu_java_nio_VMChannel.c
+ *
+ */
+public final class VmChannel {
+
+ public static int stdin_fd() throws IOException {
+ // shouldn't throw IOException
+ throw new IOException("Not implemented");
+ }
+
+ public static int stdout_fd() throws IOException {
+ // shouldn't throw IOException
+ throw new IOException("Not implemented");
+ }
+
+ public static int stderr_fd() throws IOException {
+ // shouldn't throw IOException
+ throw new IOException("Not implemented");
+ }
+
+ public static void setBlocking(int fd, boolean blocking) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int available(int native_fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int read(int fd, ByteBuffer dst) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int read(int fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static long readScattering(int fd, ByteBuffer[] dsts, int offset, int length) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+
+ public static int receive(int fd, ByteBuffer dst, ByteBuffer address) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int write(int fd, ByteBuffer src) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static long writeGathering(int fd, ByteBuffer[] srcs, int offset, int length) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ // Send to an IPv4 address.
+ public static int send(int fd, ByteBuffer src, byte[] addr, int port) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ // Send to an IPv6 address.
+ public static int send6(int fd, ByteBuffer src, byte[] addr, int port) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void write(int fd, int b) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void initIDs() throws IOException {
+ // shouldn't throw IOException
+ throw new IOException("Not implemented");
+ }
+
+ // Network (socket) specific methods.
+
+ /**
+ * Create a new socket, returning the native file descriptor.
+ *
+ * @param stream Set to true for streaming sockets{} false for datagrams.
+ * @return The native file descriptor.
+ * @throws java.io.IOException If creating the socket fails.
+ */
+ public static int socket(boolean stream) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+
+ public static boolean connect(int fd, byte[] addr, int port, int timeout) throws SocketException {
+ throw new SocketException("Not implemented");
+ }
+
+ public static boolean connect6(int fd, byte[] addr, int port, int timeout) throws SocketException {
+ throw new SocketException("Not implemented");
+ }
+
+ public static void disconnect(int fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int getsockname(int fd, ByteBuffer name) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ /*
+ * The format here is the peer address, followed by the port number.
+ * The returned value is the length of the peer address{} thus, there
+ * will be LEN + 2 valid bytes put into NAME.
+ */
+ public static int getpeername(int fd, ByteBuffer name) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static int accept(int native_fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+
+ public static int open(String path, int mode) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static long position(int fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void seek(int fd, long pos) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void truncate(int fd, long len) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static boolean lock(int fd, long pos, long len, boolean shared, boolean wait) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void unlock(int fd, long pos, long len) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static long size(int fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static MappedByteBuffer map(int fd, char mode, long position, int size) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static boolean flush(int fd, boolean metadata) throws IOException {
+ throw new IOException("Not implemented");
+ }
+
+ public static void close(int native_fd) throws IOException {
+ throw new IOException("Not implemented");
+ }
+}
Modified: trunk/core/src/classpath/ext/javax/isolate/IsolateStatus.java
===================================================================
--- trunk/core/src/classpath/ext/javax/isolate/IsolateStatus.java 2009-04-06 13:08:49 UTC (rev 5225)
+++ trunk/core/src/classpath/ext/javax/isolate/IsolateStatus.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -20,7 +20,7 @@
package javax.isolate;
-import org.jnode.vm.annotation.SharedStatics;
+import org.jnode.annotation.SharedStatics;
/**
* Represents isolate status, capturing such information as isolate state, exit code, and exit reason.
Copied: trunk/core/src/classpath/gnu/gnu/classpath/Configuration.java (from rev 5210, trunk/core/src/classpath/vm/gnu/classpath/Configuration.java)
===================================================================
--- trunk/core/src/classpath/gnu/gnu/classpath/Configuration.java (rev 0)
+++ trunk/core/src/classpath/gnu/gnu/classpath/Configuration.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,96 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2003-2009 JNode.org
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; If not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package gnu.classpath;
+
+/**
+ * This file defines compile-time constants that can be accessed by
+ * java code. It is pre-processed by configure.
+ */
+public interface Configuration
+{
+ /**
+ * The value of CLASSPATH_HOME is the location that the classpath
+ * libraries and support files where installed in. It is set according to
+ * the argument for --prefix given to configure and used to set the
+ * System property gnu.classpath.home.
+ */
+ String CLASSPATH_HOME = "@prefix@";
+
+ /**
+ * The release version number of GNU Classpath.
+ * It is set according to the value of 'version' in the configure[.in] file
+ * and used to set the System property gnu.classpath.version.
+ */
+ String CLASSPATH_VERSION = "@VERSION@";
+
+ /**
+ * The value of DEBUG is substituted according to whether the
+ * "--enable-debug" argument was passed to configure. Code
+ * which is made conditional based on the value of this flag - typically
+ * code that generates debugging output - will be removed by the optimizer
+ * in a non-debug build.
+ */
+ boolean DEBUG = false;
+
+ /**
+ * The value of LOAD_LIBRARY is substituted according to whether the
+ * "--enable-load-library" or "--disable-load-library" argument was passed
+ * to configure. By default, configure should define this is as true.
+ * If set to false, loadLibrary() calls to load native function
+ * implementations, typically found in static initializers of classes
+ * which contain native functions, will be omitted. This is useful for
+ * runtimes which pre-link their native function implementations and do
+ * not require additional shared libraries to be loaded.
+ */
+ boolean INIT_LOAD_LIBRARY = false;
+
+ /**
+ * Set to true if the VM provides a native method to implement
+ * Proxy.getProxyClass completely, including argument verification.
+ * If this is true, HAVE_NATIVE_GET_PROXY_DATA and
+ * HAVE_NATIVE_GENERATE_PROXY_CLASS should be false.
+ * @see java.lang.reflect.Proxy
+ */
+ boolean HAVE_NATIVE_GET_PROXY_CLASS = false;
+
+ /**
+ * Set to true if the VM provides a native method to implement
+ * the first part of Proxy.getProxyClass: generation of the array
+ * of methods to convert, and verification of the arguments.
+ * If this is true, HAVE_NATIVE_GET_PROXY_CLASS should be false.
+ * @see java.lang.reflect.Proxy
+ */
+ boolean HAVE_NATIVE_GET_PROXY_DATA = false;
+
+ /**
+ * Set to true if the VM provides a native method to implement
+ * the second part of Proxy.getProxyClass: conversion of an array of
+ * methods into an actual proxy class.
+ * If this is true, HAVE_NATIVE_GET_PROXY_CLASS should be false.
+ * @see java.lang.reflect.Proxy
+ */
+ boolean HAVE_NATIVE_GENERATE_PROXY_CLASS = false;
+
+ /**
+ * Name of default AWT peer library.
+ */
+ String default_awt_peer_toolkit = "org.jnode.awt.swingpeers.SwingToolkit";
+}
Property changes on: trunk/core/src/classpath/gnu/gnu/classpath/Configuration.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classpath/gnu/gnu/classpath/VMStackWalker.java (from rev 5210, trunk/core/src/classpath/vm/gnu/classpath/VMStackWalker.java)
===================================================================
--- trunk/core/src/classpath/gnu/gnu/classpath/VMStackWalker.java (rev 0)
+++ trunk/core/src/classpath/gnu/gnu/classpath/VMStackWalker.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,131 @@
+/* VMStackWalker.java -- Reference implementation of VM hooks for stack access
+ Copyright (C) 2005, 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+package gnu.classpath;
+
+/**
+ * This class provides access to the classes on the Java stack
+ * for reflection and security purposes.
+ *
+ * <p>
+ * This class is only available to privileged code (i.e., code loaded
+ * by the bootstrap loader).
+ *
+ * @author John Keiser
+ * @author Eric Blake <eb...@em...>
+ * @author Archie Cobbs
+ */
+public final class VMStackWalker {
+ /**
+ * Get a list of all the classes currently executing methods on the
+ * Java stack. <code>getClassContext()[0]</code> is the class associated
+ * with the currently executing method, i.e., the method that called
+ * <code>VMStackWalker.getClassContext()</code> (possibly through
+ * reflection). So you may need to pop off these stack frames from
+ * the top of the stack:
+ * <ul>
+ * <li><code>VMStackWalker.getClassContext()</code>
+ * <li><code>Method.invoke()</code>
+ * </ul>
+ *
+ * @return an array of the declaring classes of each stack frame
+ */
+ public static native Class[] getClassContext();
+
+ /**
+ * Get the class associated with the method invoking the method
+ * invoking this method, or <code>null</code> if the stack is not
+ * that deep (e.g., invoked via JNI invocation API). This method
+ * is an optimization for the expression <code>getClassContext()[1]</code>
+ * and should return the same result.
+ *
+ * <p>
+ * VM implementers are encouraged to provide a more efficient
+ * version of this method.
+ */
+ public static Class getCallingClass() {
+ Class[] ctx = getClassContext();
+ if (ctx.length < 5)
+ return null;
+ return ctx[4];
+ }
+
+ /**
+ * Get the class loader associated with the Class returned by
+ * <code>getCallingClass()</code>, or <code>null</code> if no such class
+ * exists or it is the boot loader. This method is an optimization for the
+ * expression <code>VMStackWalker.getClassLoader(getClassContext()[1])</code>
+ * and should return the same result.
+ *
+ * <p>
+ * VM implementers are encouraged to provide a more efficient
+ * version of this method.
+ */
+ public static ClassLoader getCallingClassLoader() {
+ Class[] ctx = getClassContext();
+ if (ctx.length < 5)
+ return null;
+ return ctx[4].getClassLoader();
+ }
+
+ /**
+ * Retrieve the class's ClassLoader, or <code>null</code> if loaded
+ * by the bootstrap loader. I.e., this should return the same thing
+ * as {@link Class#getClassLoader()}. This duplicate version
+ * is here to work around access permissions.
+ */
+ public static ClassLoader getClassLoader(Class cl){
+ //TODO FIX it according to the javadoc above
+ return cl.getClassLoader();
+ };
+
+ /**
+ * Walk up the stack and return the first non-null class loader.
+ * If there aren't any non-null class loaders on the stack, return null.
+ */
+ public static ClassLoader firstNonNullClassLoader()
+ {
+ Class[] stack = getClassContext();
+ for (int i = 0; i < stack.length; i++)
+ {
+ ClassLoader loader = getClassLoader(stack[i]);
+ if (loader != null)
+ return loader;
+}
+ return null;
+ }
+}
Property changes on: trunk/core/src/classpath/gnu/gnu/classpath/VMStackWalker.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classpath/gnu/gnu/classpath/VMSystemProperties.java (from rev 5210, trunk/core/src/classpath/vm/gnu/classpath/VMSystemProperties.java)
===================================================================
--- trunk/core/src/classpath/gnu/gnu/classpath/VMSystemProperties.java (rev 0)
+++ trunk/core/src/classpath/gnu/gnu/classpath/VMSystemProperties.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,88 @@
+/*
+ * $Id$
+ *
+ * Copyright (C) 2003-2009 JNode.org
+ *
+ * This library is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as published
+ * by the Free Software Foundation; either version 2.1 of the License, or
+ * (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+ * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+ * License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this library; If not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+package gnu.classpath;
+
+import java.util.Properties;
+
+class VMSystemProperties
+{
+ /**
+ * Get the system properties. This is done here, instead of in System,
+ * because of the bootstrap sequence. Note that the native code should
+ * not try to use the Java I/O classes yet, as they rely on the properties
+ * already existing. The only safe method to use to insert these default
+ * system properties is {@link Properties#setProperty(String, String)}.
+ *
+ * <p>These properties MUST include:
+ * <dl>
+ * <dt>java.version <dd>Java version number
+ * <dt>java.vendor <dd>Java vendor specific string
+ * <dt>java.vendor.url <dd>Java vendor URL
+ * <dt>java.home <dd>Java installation directory
+ * <dt>java.vm.specification.version <dd>VM Spec version
+ * <dt>java.vm.specification.vendor <dd>VM Spec vendor
+ * <dt>java.vm.specification.name <dd>VM Spec name
+ * <dt>java.vm.version <dd>VM implementation version
+ * <dt>java.vm.vendor <dd>VM implementation vendor
+ * <dt>java.vm.name <dd>VM implementation name
+ * <dt>java.specification.version <dd>Java Runtime Environment version
+ * <dt>java.specification.vendor <dd>Java Runtime Environment vendor
+ * <dt>java.specification.name <dd>Java Runtime Environment name
+ * <dt>java.class.version <dd>Java class version number
+ * <dt>java.class.path <dd>Java classpath
+ * <dt>java.library.path <dd>Path for finding Java libraries
+ * <dt>java.io.tmpdir <dd>Default temp file path
+ * <dt>java.compiler <dd>Name of JIT to use
+ * <dt>java.ext.dirs <dd>Java extension path
+ * <dt>os.name <dd>Operating System Name
+ * <dt>os.arch <dd>Operating System Architecture
+ * <dt>os.version <dd>Operating System Version
+ * <dt>file.separator <dd>File separator ("/" on Unix)
+ * <dt>path.separator <dd>Path separator (":" on Unix)
+ * <dt>line.separator <dd>Line separator ("\n" on Unix)
+ * <dt>user.name <dd>User account name
+ * <dt>user.home <dd>User home directory
+ * <dt>user.dir <dd>User's current working directory
+ * <dt>gnu.cpu.endian <dd>"big" or "little"
+ * </dl>
+ *
+ * @param properties the Properties object to insert the system properties into
+ */
+ static void preInit(Properties properties) {
+ try {
+ Class clazz = Class.forName("org.jnode.vm.VmSystem");
+ clazz.getMethod("insertSystemProperties", Properties.class).invoke(null, properties);
+ } catch (Exception x) {
+ x.printStackTrace();
+ throw new RuntimeException();
+ }
+ }
+
+ /**
+ * Here you get a chance to overwrite some of the properties set by
+ * the common SystemProperties code. For example, it might be
+ * a good idea to process the properties specified on the command
+ * line here.
+ */
+ static void postInit(Properties properties)
+ {
+ }
+}
Property changes on: trunk/core/src/classpath/gnu/gnu/classpath/VMSystemProperties.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMFrame.java (from rev 5210, trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMFrame.java)
===================================================================
--- trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMFrame.java (rev 0)
+++ trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMFrame.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,106 @@
+/* VMFrame.java -- Reference implementation of VM hooks for JDWP Frame access.
+ Copyright (C) 2005, 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.classpath.jdwp;
+
+import gnu.classpath.jdwp.util.Location;
+
+/**
+ * Reference implementation of VM hooks for JDWP Frame access.
+ *
+ * @author aluchko
+ */
+
+public class VMFrame
+{
+ /**
+ * Returns the size of a frame ID over JDWP
+ */
+ public static final int SIZE = 8;
+
+ // The object this frame resides in
+ private Object obj;
+
+ // The current location of this frame
+ private Location loc;
+
+ // id of this frame
+ private long id;
+
+ /**
+ * Gets the current location of the frame.
+ */
+ public Location getLocation()
+ {
+ return loc;
+ }
+
+ /**
+ * Returns the value of the variable in the given slot.
+ *
+ * @param slot the slot containing the variable
+ */
+ public native Object getValue(int slot);
+
+ /**
+ * Assigns the given variable to the given value.
+ * @param slot The slot which contains the variable
+ * @param value The value to assign the variable to
+ */
+ public native void setValue(int slot, Object value);
+
+ /**
+ * Get the object which is represented by 'this' in the context of the frame,
+ * returns null if the method is native or static.
+ */
+ public Object getObject()
+ {
+ return obj;
+ }
+
+ /**
+ * Get the frameID
+ * @return an id which is unique within the scope of the VM
+ */
+ public long getId()
+ {
+ return id;
+ }
+
+}
Property changes on: trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMFrame.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision
Added: svn:eol-style
+ native
Copied: trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMIdManager.java (from rev 5210, trunk/core/src/classpath/vm/gnu/classpath/jdwp/VMIdManager.java)
===================================================================
--- trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMIdManager.java (rev 0)
+++ trunk/core/src/classpath/gnu/gnu/classpath/jdwp/VMIdManager.java 2009-04-06 14:55:27 UTC (rev 5226)
@@ -0,0 +1,429 @@
+/* VMIdManager.java -- A reference/example implementation of a manager for
+ JDWP object/reference type IDs
+
+ Copyright (C) 2005, 2006 Free Software Foundation
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package gnu.classpath.jdwp;
+
+import gnu.classpath.jdwp.exception.InvalidClassException;
+import gnu.classpath.jdwp.exception.InvalidObjectException;
+import gnu.classpath.jdwp.id.*;
+
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.lang.ref.SoftReference;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.Iterator;
+
+/**
+ * This class manages objects and referencetypes that are reported
+ * to the debugger. All objects and referencetypes reported to the
+ * debugger should go through this manager.
+ *
+ * A brief summary of what an <code>IdManager</code> must provide:
+ *
+ * <code>
+ * public ObjectId getObjectId (Object theObject);
+ * public ObjectId get (long id);
+ * public ObjectId readObjectId (ByteBuffer bb);
+ * public ReferenceTypeId getReferenceTypeId (Class clazz);
+ * public ReferenceTypeId getReferenceType (long id);
+ * public ReferenceTypeId readReferenceTypeId (ByteBuffer bb);
+ * </code>
+ *
+ * See the javadoc on these methods later in this file for more
+ * information on these functions.
+ *
+ * <b>NOTE:</b> All IDs handled by the ID manager (all object and reference
+ * type IDs) are assumed to be of type <code>long</code>.
+ *
+ * <b>NOTE:</b> This class does not manage virtual machine-specific types,
+ * like methods, fields, and frames. These already have unique IDs within
+ * the virtu...
[truncated message content] |