SquirrelJME updates
SquirrelJME updates
squirreljme.cc

JDWP Support Merged In!

 

Update

 

 

The JDWP Support Branch has been merged in, which means I can debug SpringCoat and soon will be able to do SummerCoat as well!

Breakpoints Hitting

 

Update

 

 

Breakpoints can now be hit when debugging, this will be useful to debug specific and weird portions of code.

image.png

Debugging in IntelliJ

 

Update

 

 

Debugging is seeing a very good refactor to stabilize and make debugging SquirrelJME much easier than before. The refactors will also allow SummerCoat to more easily get debugging support added as needed.

image.png

Obtaining Variables in Debugging

 

Update

 

 

I added some basic support for obtaining fields and variables, it is not fully accurate and will be needing to do a slight refactor of the debugger for some things.

20210317_vars.png

Static Variable Reading

 

Update

 

 

I have added reading of static variables in the debugger, progress is still continuing adding little things here and there along with polishing. More stuff is visible to the debugger and I am going to want to move into actual breakpoints and otherwise.

image.png

Line Numbers when Debugging

 

Update

 

 

Line numbers are now available and debugging will point to where code has stopped when the program has been suspended.

image.png

SpringCoat Debugging in IntelliJ

 

Update

 

 

This is what the initial debugging looks like in IntelliJ, currently not much details are given and only suspend/resume is supported at this time.

image.png

Initial SpringCoat JDWP Support

 

Update

 

 

Decided to take a break and work on adding JDWP Debugging Support to SpringCoat, which is able to suspend and list threads through JDB! Currently is a work in progress but will be useful for me in the future when supporting new software.

image.png

Testing Handle Allocation

 

Update

 

 

A small test of memory handle allocation, this one test allocates about 524K of them at a good speed. Each handle has a unique ID and according to the stats the number of actual ID collisions is 14 (downMaskMiss)! But otherwise finding a slot to put an ID naturally misses 50% of the time as the number of items grow but re-rolling those gives only about 9K collisions.

image.png

RatufaCoat Test Results

 

Update

 

 

I wrote a small conversion utility to convert CTest results to another "standard" XML format (aka JUnit XML). This will allow me to more easily see which tests in RatufaCoat are working or failing. Yay automation!

Image test results