MSU Logo CMPT Logo

Department of Computer Science

JVMViewer

Changes and Corrections

  1. Version 3.2.0.
    1.   Compiled under Java 1.6 so that we can use the Desktop object to open the browser for help.
    2.   Show float, double, and long values in hexadecimal.
    3.   ldc2_w implented


  2. Version 3.1.x. (Note "minor" changes below.)
    1. Step into methods of the same class
    2. Set a breakpoint  -> <n>
    3. Removed spaces from around steps
    4. Display Integer object in checkcast on stack correctly
    5. Implemented wide iload and istore instructions
    6. Make display text larger or smaller
    7. (Version 3.1.1) Easy reload of recently accessed files from the File menu.
    8. (Version 3.1.2) Implement invokeinterface instruction
      Cleaned up interpretation of init() (we keep the initialized object after super() is called)
    9. (Version 3.1.3) Fixed error on calling protected or package protected (default) methods
      Now access fields in super classes.

  3. Version 3.0.x. (Note "minor" changes below.)
    1. Fixed race condition on starting and stopping the interpreter.
    2. Allow accessing of private fields.
    3. Implementation of iinc_w and multianewarray instructions.
    4. Improved the display of  Integer, Float, etc objects in the stack and local variables.  They now have -> preceding them.
    5. Allow input of null for objects, and arrays (at your own peril).
    6. Load a class file from the command prompt.
    7. (Version 3.0.1) Fixed error in arraylength instruction (somehow deleted some code.  Put back now.)
    8. (Version 3.0.2) Supply default path if none entered.
                             Allow calls to private static methods -- thought I had this.
                             Fixed error in wide iinc instruction.
                          
  4. Version 2.1.2:
    1. Fixed forcing an exception in fp divide by 0; there should be none.
    2. Allow accessing of files on different drives.  (It was an error, not a feature).
    3. Java 5.0 compliant.


  5. Version 2.1.1:
    1. Turned off Method and Parameter Menu when File Open.
    2. Fixed the creation of a new object by faking the object on the stack.
    3. Catch verify error when loading.
    4. Catch exceptions when calling methods.
    5. Get/put (static) field can work with booleans.
    6. Now compiled using Java 1.5.  (Not using 1.5?  Then use Version 2.0.1.)


  6. Version 2.0.1:
    1. The JVMViewer can load a .class file from any directory.  You no longer have to specify a class path to directories.
    2. The JVMViewer can load classes found in packages.   packageName.className must be typed in at the File prompt  while in the directory containing the package/directory packageName
    3. Most instructions  have been implemented.
    4. Bug fix for fcmpg and fcmpgl.  (I branched the wrong way.)
    5. A  class can be dumped  by selecting Methods/Class file.


  7. Version 1.0.1:
    1. A counter for the number of instructions executed is displayed.


Carl E. Bredlau
Department of Computer Science
College of Science and Mathematics
Montclair State University
1 Normal Avenue
Montclair, NJ  07043