head 1.2; access; symbols bg2_23:1.2 bg2_22:1.2 bg2_21:1.2 bg2_20:1.2 bg2_16:1.2 bg2_15:1.2 bg2_12:1.2 bg2_07:1.2; locks; strict; comment @% @; 1.2 date 2008.01.30.13.09.31; author martin; state Exp; branches; next 1.1; commitid 6cba47a0770a4567; 1.1 date 2008.01.30.10.03.34; author martin; state Exp; branches; next ; commitid 4e5147a04b744567; desc @@ 1.2 log @added Lutz comments on Native @ text @\documentclass[a4paper,12pt]{scrartcl} \usepackage{pslatex} % -- times instead of computer modern \usepackage[colorlinks=true,linkcolor=black,citecolor=black]{hyperref} \usepackage{booktabs} \usepackage{graphicx} \begin{document} \title{Comments on the Handbook} \maketitle \thispagestyle{empty} \section{User Suggestions} \subsection{Paulo 20.12.2007} By the way, about your book: the diagram for the internal format of classes inside JOP memory is not up to date: there are old fields still there and some new fields missing,in the beginning of the figure about the class format. And here's another suggestion. I spent one hour or so learning more about the internal format of the .jop file. Maybe it's a good idea to insert one diagram showing this structure (if there's already one and I missed, then sorry;). If I got it right, currently it's like this: \begin{verbatim} - Application size - Pointer to "special pointers" - Application code (method bodies in sequence, without headers) - Table of special pointers - Table of pointers for static "class init" methods - String table - Table for static primitive fields - Table for static reference fields (isolated to help during garbage collection) - List of class descriptions \end{verbatim} Of course it can be depicted in a bit more detail, for some of the structures above. How about that? \subsection{Lutz 15.1.2008} \begin{verbatim} Hi Martin, for me as JAVA beginner: Do you have a more detailed overview or link about the function of com.jopdesign.sys.native (see below)? What are the differences between the multiple rd and wr accesses (e.g. rd,rdMem,rdIntMem)? Where can i find JopInstr.java? Lutz package com.jopdesign.sys; /** * native functions in JOP JVM. * Mapping is defined in JopInstr.java */ public class Native { public static native int rd(int adr); public static native void wr(int val, int adr); public static native int rdMem(int adr); public static native void wrMem(int val, int adr); public static native int rdIntMem(int adr); public static native void wrIntMem(int val, int adr); public static native int getSP(); public static native void setSP(int val); public static native int getVP(); public static native void setVP(int val); public static native void int2extMem(int intAdr, int[] extAdr, int cnt); public static native void ext2intMem(int[] extAdr, int intAdr, int cnt); public static native long makeLong(int hWord, int lWord); public static native void invoke(int arg, int ptr); public static native void invoke(int ptr); public static native int toInt(Object o); public static native Object toObject(int i); public static native int[] toIntArray(int i); public static native int toInt(float f); public static native float toFloat(int i); public static native long toLong(double d); public static native double toDouble(long l); // public static native int condMove(int a, int b, boolean cond); /** * * @@param src memory source address * @@param dest memory destination address * @@param cnt number of words (cnt must be >0!) */ public static native void memCopy(int src, int dest, int cnt); } Hi Lutz, > for me as JAVA beginner: > Do you have a more detailed overview or link about the function of > com.jopdesign.sys.native (see below)? It's not about Java beginner, it's missing info from my side ;-) Actual those are very low-level functions and should only be used when accessing IO devices. A better solution (HW-Objects) is on the way. > What are the differences between the multiple rd and wr accesses (e.g. > rd,rdMem,rdIntMem)? rd and rdMem, as wr and wrMem are actually the same. rd()/wr() should be removed - it's a history thing where I had different memory areas for main memory and IO device. The functions access directly the main memory or IO devices. IO device addresses are defined in Const.java rdIntMem() and wrIntMem() provides access to the on-chip stack and is only used for a thread switch and stack trace on an Exception. Absolute no use in an application code. > Where can i find JopInstr.java? in java/tools/src/com/jopdesign/tools Cheers, Martin PS: I'll take a note that I should comment Native.java \end{verbatim} \end{document} @ 1.1 log @comments on the handbook @ text @d1 1 a1 1 \documentclass[a4paper,12pt,twocolumn]{scrartcl} d11 1 a11 1 \title{Comments on the handbook} d14 3 a16 1 \subsection*{Paulo 20.12.2007} d44 93 @