SquirrelJME/SquirrelJME

View on GitHub
assets/developer-notes/stephanie-gawroriski/2019/06/21.mkd

Summary

Maintainability
Test Coverage
# 2019/06/21

## 08:37

I should have assembly methods for long building and unbuilding since it could
be sped up by the compiler. It would also be simpler to merge two values
together as well.

## 08:48

And on top of that, I am going to make it so that all the math operations
return their correct type so I do not have to use the return value hacking.
I think this will be much better. It could also mean software math is usable
for Java SE and SpringCoat.

## 11:11

Okay so it seems invoking long values is wrong?

## 11:21

Okay so the memory read/write instructions are okay.

## 11:41

Okay so `LRETURN` is not returning two values, it is just returning one and
the debug point says what was popped from the stack is not a long...

## 11:42

Oh yeah because I just pop the one and I check if it is wide, it should be
top.

## 16:23

After bug fixes and working on things, will be heading to getting the launcher
or at least the hello demo working properly. Will be interesting to see how
this goes!

## 18:55

Okay so I think all memory needs to be tagged or similar. I could use the
upper 8-bits of the size for the tag information. I think this will be very
important. I can have some extra bits, like if something is an object or
otherwise. It would limit allocations to 16MiB but this is a mobile embedded
system so that is not too bad. I think that would be the best, just so I can
determine say which task owns a block (so when it is closed, everything can
be quickly cleaned out) but also to know if things are objects or otherwise.

## 20:57

Okay, so I have tagging now which should help with initializing classes and
such for other tasks when they are booted.