49 Commits

Author SHA1 Message Date
5b11745867 wat 2025-01-21 21:43:54 -06:00
8f49f69e7e memoize native method lookups in method_entry 2025-01-21 21:31:32 -06:00
d128016d9e example: fix JavaCube 2025-01-14 19:53:09 -06:00
a9b40c9521 class_resolver: resolve static fields from superclasses 2025-01-11 16:44:08 -06:00
ec525bbfbc execute: implement instanceof for arrays of references 2025-01-11 01:57:06 -06:00
48d8db8e9e execute: implement runtime exceptions 2025-01-11 01:08:18 -06:00
aaa55a4f9d native: lookup native methods by hash table entry 2025-01-10 19:43:05 -06:00
d1483a0c15 gc: automatically run garbage collection if memory allocation fails 2025-01-09 20:52:45 -06:00
dd4795c46b gc: add mark+sweep garbage collector 2025-01-09 19:29:39 -06:00
ab75598043 remove class_resolver_memoize_string_type
This was a decent idea, but it is not flexible enough to allow for correct
superclass type comparisons.
2025-01-06 22:29:32 -06:00
895646c25a refactor multiarray/anewarray/newarray/instanceof/checkedcast 2025-01-06 21:41:31 -06:00
1dcda3d2ad native_types: refactor primitive array operations 2025-01-06 16:44:47 -06:00
e163621ebe new: allocate 1×fields_count 2025-01-05 22:03:51 -06:00
47fc2b90e2 implement backtrace allocation / printing 2025-01-05 21:47:13 -06:00
7914abe702 initial throw/catch implementation 2025-01-05 20:36:07 -06:00
d101710e0f backtrace / code_attribute / method_entry refactor 2025-01-05 16:38:14 -06:00
3e35137e07 load texture data from gdrom 2025-01-02 18:10:24 -06:00
9090f266cd load class files from Java 2025-01-02 08:47:33 -06:00
e22f2e87e8 partial support for checkcast and instanceof on object arrays 2024-12-30 11:50:07 -06:00
49cc665f76 implement checkcast 2024-12-30 11:03:32 -06:00
867a10ac2b implement instanceof superclass behavior 2024-12-30 09:04:12 -06:00
9677332560 correct invokevirtual method resolution order 2024-12-29 12:25:31 -06:00
8768bd516c implement invokeinterface 2024-12-29 09:38:03 -06:00
b6da4ecea7 implement superclass method lookup 2024-12-29 08:48:10 -06:00
cb26d8cadf implement superclass instance field lookup 2024-12-29 07:14:51 -06:00
88318fde35 Java cube 2024-12-29 02:00:15 -06:00
56f65b8dda implement instanceof 2024-12-27 05:38:35 -06:00
168c0abbae implement multianewarray 2024-12-27 05:01:41 -06:00
4f312ad42c implement wide 2024-12-27 04:08:03 -06:00
f10429927b implement lookupswitch 2024-12-27 02:07:51 -06:00
de4d8761f1 add DreamcastVideo example 2024-12-27 01:22:47 -06:00
b18060e646 replace printf with debugf 2024-12-26 00:02:08 -06:00
cedeb20353 replace <stdio.h> include with platform macros 2024-12-25 23:20:17 -06:00
16eb6aa523 class_resolver: add constantpool-index-to-{class,method,field,string} cache
Object fields are now tightly packed. The intent is to make Object instances
more useful in native methods.
2024-12-25 21:09:15 -06:00
0c41658958 add Solution example 2024-12-25 12:28:48 -06:00
f1976baf57 implement String support 2024-12-25 10:10:28 -06:00
3a75d5bcdc allow array references in areturn 2024-12-25 08:31:18 -06:00
661e5c0751 implement dup variants 2024-12-25 06:46:20 -06:00
f1709eb369 implement all reference operations 2024-12-25 06:30:45 -06:00
bba08c9a3e implement class instances 2024-12-25 04:36:46 -06:00
d0edd6b12b implement double 2024-12-25 01:42:24 -06:00
eef2c848e8 implement long 2024-12-25 01:16:59 -06:00
baa3db16b1 implement static method overloading 2024-12-24 20:24:14 -06:00
d2863035e4 implement static fields 2024-12-24 07:44:14 -06:00
3791a78e19 add AdventOfCodeDay2 test 2024-12-24 02:54:06 -06:00
b266c6b4d3 implement float 2024-12-24 02:02:46 -06:00
d09d712f1b implement return/ireturn 2024-12-24 00:49:05 -06:00
932a7c82aa add class_resolver
Implement the getfield and invokestatic opcodes.
2024-12-23 23:25:45 -06:00
39f53e8ee4 initial 2024-12-23 14:41:20 -06:00