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

192 Коммитов

Автор SHA1 Сообщение Дата
Marco Castelluccio d102379438 Add a getINSlots function to Signature and use it instead of parse 2014-09-12 12:05:11 -07:00
Myk Melez a246fe988a read the correct arguments from the caller's stack; stop unnecessarily bitwise-anding integer 2014-09-11 14:27:11 -07:00
Myk Melez 068ffef12e move method enter/exit hook invocation to VM 2014-09-08 19:00:05 -07:00
Myk Melez 3cface3289 correct levels of various console.* calls 2014-09-08 01:22:18 -07:00
Marco Castelluccio 1ee2f7284e Trace calls and returns if trace is enabled 2014-09-05 12:03:10 -07:00
Marco Castelluccio cb47874ea6 Directly use detailMessage as it's always defined 2014-09-04 15:13:43 -07:00
Marco Castelluccio 2129f34bfd Print the stack trace up to the function that catches the exception 2014-09-04 12:21:34 -07:00
Marco Castelluccio 4c486409f2 Actually remove VM.Yield from raiseException 2014-08-27 16:42:31 -07:00
Marco Castelluccio 720ac83d2d Remove raiseRuntimeException function 2014-08-26 09:49:51 -07:00
Marco Castelluccio c747605ded Add a button to print all exceptions (even caught ones) 2014-08-21 09:46:07 -07:00
Marco Castelluccio 56f428ce7c Assign a message to ClassCastException exceptions 2014-08-20 17:23:17 -07:00
Andreas Gal cbf10c908e tighten up RGB read/write code in gfx 2014-08-10 12:49:02 -07:00
Andreas Gal 215760a0c2 add a trace button 2014-08-08 13:27:00 -07:00
Andreas Gal 936de85d1c add basic support for isolates, not complete yet 2014-08-07 10:10:54 -07:00
Andreas Gal 57356e19db abstract static field access 2014-08-06 22:06:14 -07:00
Andreas Gal e21bfc4ea2 maintain static fields in runtime 2014-08-06 17:15:04 -07:00
Andreas Gal c6f918d9e0 move pending/initialized to runtime 2014-08-06 17:11:27 -07:00
Andreas Gal 6f5866f663 move newPrimitiveArray to context as well 2014-08-06 16:53:35 -07:00
Andreas Gal 695d1619f8 move isolate-specific state out of CLASSES 2014-08-06 16:48:17 -07:00
Andreas Gal 67c5746f6d move newArray to context 2014-08-06 13:52:18 -07:00
Andreas Gal 4dbfc348c8 move newMultiArray over to context 2014-08-06 13:49:46 -07:00
Andreas Gal ee0af9d218 show Java stack for uncaught exceptions 2014-08-06 01:27:29 -07:00
Andreas Gal 40f72e4c22 factor out raiseRuntimeException 2014-08-05 15:14:30 -07:00
Andreas Gal a074905f5d raise exception for missing fields as well 2014-08-05 15:13:14 -07:00
Myk Melez 64e4fedb8f raise RuntimeException in lieu of NoSuchMethodException, which isn't in CLDC 2014-08-05 14:27:23 -07:00
Myk Melez 94a2cd651c throw error if method ref to resolve not declared in class 2014-08-05 14:00:12 -07:00
Andreas Gal d5a756e170 no need to use getClass in throw_ 2014-08-04 11:32:18 -07:00
Andreas Gal 1c9085ce31 fix allocation of multidimensional arrays 2014-08-02 15:36:58 -07:00
Andreas Gal e915558235 eliminate .staticFields and store static field values directly in field 2014-08-01 23:14:57 -07:00
Andreas Gal 236e4e9a36 use numeric ids as field names 2014-08-01 22:47:26 -07:00
Andreas Gal f992c490a7 fix interface method lookup 2014-07-31 19:42:36 -07:00
Andreas Gal 817647645e support LocalizedStringsBase.getContent 2014-07-31 18:29:17 -07:00
Andreas Gal 3991c8a173 implement proper back traces 2014-07-30 15:49:58 -07:00
Andreas Gal 48714d05c0 move newString to classes 2014-07-29 17:40:19 -07:00
Andreas Gal aa05e9f177 resolve all constant pool entries 2014-07-29 04:26:03 -07:00
Andreas Gal a03f4cab9d only do class init check when we resolve 2014-07-29 03:46:42 -07:00
Andreas Gal af68335086 bypass resolve if already resolved 2014-07-29 03:46:02 -07:00
Andreas Gal adf20b0d38 resolve static field accesses 2014-07-29 03:45:10 -07:00
Andreas Gal fdb8d0376a determine whether we have to lookup a static method from the opcode 2014-07-29 03:43:59 -07:00
Andreas Gal 68032ec1b1 lookup field in getstatic/putstatic 2014-07-29 03:43:12 -07:00
Andreas Gal 66403f1e7d pass op into resolve 2014-07-29 03:39:36 -07:00
Andreas Gal 6a7f7b4a00 factor our resolve code 2014-07-29 03:32:58 -07:00
Andreas Gal 709504eb4f resolve fields 2014-07-29 03:22:52 -07:00
Andreas Gal 3a70b7ac27 resolve constants once 2014-07-29 03:16:46 -07:00
Andreas Gal 226d20e680 disable failing tests 2014-07-28 17:17:21 -07:00
Andreas Gal a25e18b0b5 a couple fixes to CLDC involving threads 2014-07-28 16:39:45 -07:00
Andreas Gal 21cdc135a4 disable logging 2014-07-28 12:55:44 -07:00
Andreas Gal d32c8c8906 wait/notify actually works now 2014-07-28 12:54:57 -07:00
Andreas Gal eb7b9eec14 improve locking of class initialization 2014-07-28 12:42:42 -07:00
Andreas Gal ae2426c4c0 a couple assorted fixes for threading 2014-07-28 00:53:37 -07:00
Andreas Gal 2f4d32f420 implement threading better 2014-07-27 23:39:41 -07:00
Andreas Gal 903f06b04d fix wide opcode handling 2014-07-27 21:51:08 -07:00
Andreas Gal cf318d6da1 add support for Mauve-style testlets, and fix interface cast check and assigning null to an array 2014-07-26 14:18:44 -07:00
Andreas Gal d394243a8a better locking for class intialization 2014-07-26 11:42:02 -07:00
Andreas Gal e7334a29e2 add debug code and move all but actual clinit call into ClassInfo constructor 2014-07-25 20:14:19 -07:00
Andreas Gal 600324794d assorted fixes to make TestThread work 2014-07-25 17:54:34 -07:00
Andreas Gal c761251cbc make all tests pass again 2014-07-25 15:06:21 -07:00
Andreas Gal 2b48b809b0 pop this in Runtime native methods 2014-07-25 13:42:44 -07:00
Andreas Gal a976bfe339 fix synthetic method code 2014-07-25 13:23:10 -07:00
Andreas Gal 72f91a6a1a big refactoring to eliminate nested interpreter loops 2014-07-25 13:06:48 -07:00
Andreas Gal 5f1e87b04a remove callback pattern 2014-07-24 00:21:59 -07:00
Andreas Gal 3ea4822dc0 properly chain all initClass calls from vm 2014-07-22 15:06:56 -07:00
Andreas Gal 44b74a7462 start properly chaning initClass 2014-07-22 15:04:46 -07:00
Andreas Gal f0205086a5 don't do context switches until we properly chain invocations 2014-07-22 14:38:36 -07:00
Andreas Gal 697d6f14d3 move initClass to frame 2014-07-21 02:04:14 -07:00
Andreas Gal 3ffc368260 move newException onto frame 2014-07-21 02:01:06 -07:00
Andreas Gal f4c46b933d move invokeConstructor and newString onto frame 2014-07-21 01:50:36 -07:00
Andreas Gal a80ad600fd use bind instead of a closure 2014-07-21 00:28:37 -07:00
Andreas Gal 5646fdba9c fix monitor enter/leave 2014-07-21 00:27:22 -07:00
Andreas Gal 91428be4e3 implement synchronized methods 2014-07-20 23:14:21 -07:00
Andreas Gal 056979813e implement monitorenter/leave 2014-07-20 22:46:25 -07:00
Andreas Gal 2e38af5114 eliminate thread variable in dispatch loop 2014-07-20 22:26:29 -07:00
Andreas Gal db8f263702 support for actual multithreading 2014-07-20 22:24:07 -07:00
Andreas Gal 409685d5cb cut the stack when delivering an exception 2014-07-20 21:59:43 -07:00
Andreas Gal 517bca78d8 newObject takes a classInfo object and no longer implicitly inits the class 2014-07-20 21:57:00 -07:00
Andreas Gal d371434057 cleanup native method dispatch 2014-07-20 21:32:47 -07:00
Andreas Gal 1b3d71607d flag whether class still needs initialization so we can bypass the initClass call 2014-07-20 21:17:08 -07:00
Andreas Gal 6109859fc7 implement rescheduling requests from within natives 2014-07-20 16:41:30 -07:00
Andreas Gal 1cce1794e6 factor out invokeConstructorWithString 2014-07-20 15:49:57 -07:00
Andreas Gal 2b24ecf72c create exceptions on the current thread, not the main thread 2014-07-20 15:46:22 -07:00
Andreas Gal c53c68007a note current thread in frame in invoke path 2014-07-20 15:42:23 -07:00
Andreas Gal 8008918b51 move newException to classes from vm 2014-07-20 15:35:48 -07:00
Andreas Gal e24bf99d08 changed my mind, move bootstrap code into classes 2014-07-20 15:16:02 -07:00
Andreas Gal 555f5df045 work on bootstrap code 2014-07-20 15:12:58 -07:00
Andreas Gal 25f81daf97 move bootstrap code into VM 2014-07-20 15:09:58 -07:00
Andreas Gal 2f64d56d27 inline get/setStaticField into vm 2014-07-20 09:56:34 -07:00
Andreas Gal 99e91f47e9 explicitly call initClass in invokeX 2014-07-20 09:50:21 -07:00
Andreas Gal 5f7b47bcd4 use fround to truncate to floats 2014-07-19 19:10:15 -07:00
Andreas Gal d97033bf60 add the ability to yield to the event loop from the first level interpreter 2014-07-19 17:52:18 -07:00
Andreas Gal c897a21b3d fix access to inherited fields 2014-07-19 15:53:58 -07:00
Andreas Gal 637194834d fix a bug in conditional ops 2014-07-19 13:20:55 -07:00
Andreas Gal e1c685dba4 fix a bunch of corner cases around array type checking 2014-07-19 13:18:45 -07:00
Andreas Gal 76801f1c66 throw proper internal exception when class can't be loaded and use native character conversion instead of CLDC's 2014-07-19 11:53:27 -07:00
Andreas Gal 1dfef4cba4 more work on strings and charsets 2014-07-19 11:20:46 -07:00
Andreas Gal de7bc07375 fix lsub 2014-07-19 00:02:20 -07:00
Andreas Gal 705badbf1a fix ifnull, getstatic of uninitialized fields 2014-07-18 23:44:03 -07:00
Andreas Gal f90bca8af5 add a way to print backtraces and fix ifnull/ifnonnull 2014-07-18 23:24:26 -07:00
Andreas Gal 805adcfeef call the constructor from newInstance 2014-07-18 21:56:30 -07:00
Andreas Gal 0ee8b5535f known fail 2 tests 2014-07-18 21:01:36 -07:00
Andreas Gal 53acba74be still trying to fix unicode handling 2014-07-18 19:20:21 -07:00