Граф коммитов

59 Коммитов

Автор SHA1 Сообщение Дата
Andreas Gal 5b0b4aef27 implement a native method 2014-07-14 22:13:01 -07:00
Andreas Gal 27c9977f9e remove arguments from caller stack upon return 2014-07-14 21:42:07 -07:00
Andreas Gal cccd855674 iteratively find methods up along the inheritance chain 2014-07-14 21:18:56 -07:00
Andreas Gal 3236838dbf add support for virtual dispatch 2014-07-14 11:21:25 -07:00
Andreas Gal 426842b664 perform null instance check before creating the new frame 2014-07-14 06:48:02 -07:00
Andreas Gal 9e11175d66 add opcode to invoke to indicate what kind of call to perform 2014-07-14 06:45:31 -07:00
Andreas Gal 9d1bc6233b drop one use of meta() 2014-07-13 19:53:24 -07:00
Andreas Gal 875de5f23f getMethod no longer needs caller since it won't raise an exception 2014-07-13 18:52:31 -07:00
Andreas Gal fd1d46cb7f pass ClassInfo instead of class name to getMethod 2014-07-13 18:50:53 -07:00
Andreas Gal 481d31b574 use a local variable instead of this.cp repeatedly 2014-07-13 18:41:08 -07:00
Andreas Gal 7757aca441 implement all invoke bytecodes in one place 2014-07-13 18:40:05 -07:00
Andreas Gal ec25a6a1f1 use === instead of == 2014-07-13 18:36:06 -07:00
Andreas Gal ade0aa1d16 remove dead code 2014-07-13 18:20:10 -07:00
Andreas Gal f99bf0ab3f hook up array types 2014-07-13 17:36:47 -07:00
Andreas Gal 164d91811c remove some dead code 2014-07-13 15:27:25 -07:00
Andreas Gal e8689f1015 start cleaning up method lookups 2014-07-13 11:11:43 -07:00
Andreas Gal 1572da1730 be more lazy and cache more signature parsing 2014-07-13 10:51:34 -07:00
Andreas Gal 875ef93a73 more classinfo cleanup 2014-07-13 10:37:28 -07:00
Andreas Gal 7401fda65d cleanup classinfo, resolve it earlier, don't keep classImage in memory 2014-07-13 09:28:19 -07:00
Andreas Gal 02f2466e32 implement arraycopy 2014-07-13 09:03:11 -07:00
Andreas Gal 6a89b9142f at last, we can raise exceptions from within natives 2014-07-13 00:15:00 -07:00
Andreas Gal ead498de16 rewrite invocation path 2014-07-13 00:00:11 -07:00
Andreas Gal cb4020df18 only use invoke from invoke opcodes 2014-07-12 23:24:10 -07:00
Andreas Gal 9da968fbf8 manually hand caller down wherever needed instead of THREADS.current.frame 2014-07-12 23:22:17 -07:00
Andreas Gal 121c1318f7 cleanup 2014-07-12 23:15:41 -07:00
Andreas Gal 7bfd169d76 factor ou code to call native methods 2014-07-12 23:13:53 -07:00
Andreas Gal 2e0820cb8d use chunked stacks 2014-07-12 23:05:35 -07:00
Andreas Gal 1ec40c7d25 remove classInfo from frame 2014-07-12 22:19:43 -07:00
Andreas Gal 135e18ea3e stop abusing frame as method/class pair and cleanup classfile loading a bit 2014-07-12 22:19:03 -07:00
Andreas Gal 9cb5538a5b fixes 2014-07-12 21:49:17 -07:00
Andreas Gal 810b917d35 more cleanup, make frames more lazy 2014-07-12 17:51:35 -07:00
Andreas Gal 6c30aeb031 fix argument order for native methods 2014-07-12 16:07:47 -07:00
Andreas Gal d1c436a76c fix ordering of instance argument to function calls 2014-07-12 15:29:01 -07:00
Andreas Gal d4256b1626 fix method invocation 2014-07-12 15:03:46 -07:00
Andreas Gal 9e3bd1c3c8 more fixes 2014-07-12 14:40:38 -07:00
Andreas Gal 673c224628 rework VM core 2014-07-12 14:07:11 -07:00
Andreas Gal 076c674dac cleanup handling of wide indexes 2014-07-12 11:54:04 -07:00
Andreas Gal 06a79e67ab cleanup opcode table 2014-07-12 11:48:05 -07:00
Andreas Gal 3725367dc5 remove trailing whitespace 2014-07-12 09:48:05 -07:00
Andreas Gal fec2086ecd fix array bounds check 2014-07-12 09:42:36 -07:00
Andreas Gal a91f4b2b36 fix static indexed opcodes 2014-07-12 09:41:32 -07:00
Andreas Gal 153a64f1db fixes 2014-07-12 00:03:55 -07:00
Andreas Gal ceb38dd23a cleanup 2014-07-11 23:20:45 -07:00
Andreas Gal a298f22b7b changes 2014-07-11 23:02:52 -07:00
Andreas Gal 27df66a2ad changes 2014-07-11 22:48:50 -07:00
Andreas Gal a05070cdaa fixes 2014-07-11 22:12:25 -07:00
Andreas Gal b2d323445d rewrite bytecodes 2014-07-11 20:20:41 -07:00
Andreas Gal ebfb4b4bf5 remove task.js 2014-07-10 23:45:28 -07:00
Andreas Gal d31f71c9ca fix reading fields we haven't written to yet, calling native methods 2014-07-10 23:21:12 -07:00
Andreas Gal c6b937472d rename classarea -> classdata 2014-07-09 23:17:03 -07:00