|
| 1 | +2012-01-04 Josef Eisl < [email protected]> |
| 2 | + |
| 3 | + * classfile.fs (read_classfile): WARNING: changed the behavior of jvm_read_classfile. |
| 4 | + (print_classfile): added disassembly to print_classfile. |
| 5 | + |
| 6 | + * classloader.fs: classloader.fs is (currently) used to search for classfiles and |
| 7 | + managing classpaths. most important words `jvm_classpath.add()' and `jvm_search_classpath'. |
| 8 | + |
| 9 | + * stack.fs: stack.fs is (currently) the core of the jvm. it manages runtime information |
| 10 | + like (pc, frame, classes) and is the new home of next, run, fetch, etc.. fetch.fs has been |
| 11 | + deleted. stack.fs will play an important roll in context switching (return, invoke, etc.). |
| 12 | + jvm_stack is, unlike other structs (class, frame, classfile), a global structure which is |
| 13 | + accessible without a reference pointer. |
| 14 | + |
| 15 | + * frame.fs: frame.fs contains the implementation of the jvm method frame. context switching |
| 16 | + is not yet implemented so there is not much to see right now. |
| 17 | + NOTE: jvm_stack.getCurrentFrame()->jvm_frame.getClass() gives the current class reference. |
| 18 | + |
| 19 | + * class.fs: class.fs contains the internal class representation of the jvm. the status of |
| 20 | + a class can be `uninitialized' (the jvm knows its name), `prepared' (a suitable classfile has been |
| 21 | + found and the class struct is filled with informations for the classfile), or `initialized'. |
| 22 | + |
| 23 | + * rtconstpool.fs: rtconstpool.fs contains the runtime constant pool. for now only the classfile |
| 24 | + reference and the constpool_table are really used. NOTE: for constant pool index lookups during |
| 25 | + runtime getConstantPoolByIdx() should be used instead of jvm_constpool_idx from classfile.fs. |
| 26 | + Warning: many words from classfile.fs use jvm_constpool_idx. you might need to reimplement |
| 27 | + some words in the jvm_rtcp context. |
| 28 | + |
| 29 | + * execute.fs (putstatic/getstatic): static fields are already handled correctly (e.g. they are stored |
| 30 | + in the internal class representation). |
| 31 | + |
| 32 | + * unittests: all unittests now contain a : test ( .. ) ; word which is called by in the Makefile. |
| 33 | + this makes debugging much more comfortable. |
| 34 | + |
| 35 | + * other (wordlist): stack.fs, class.fs, and rtconstpool.fs are already using wordlist for lookup |
| 36 | + stuff. some helpers can be found in util.fs. |
| 37 | + |
| 38 | + * other (style): most new files contain struct-like data structures. therefore the naming is somehow |
| 39 | + similar to C structs. this is a RFC but it is already much more readable than the classfile naming hell! |
| 40 | + |
0 commit comments