Commit Graph

  • df01b982cb improved moo->sem_io_wait_count management hyunghwan.chung 2019-09-01 14:51:37 +0000
  • 4bbbdaab8f changed to decrement sem_io_wait_count before unchaining in terminate_process() hyunghwan.chung 2019-08-31 16:21:40 +0000
  • b96d977234 some experimental code in terminate_process() to handle IO semaphores properly hyunghwan.chung 2019-08-31 10:21:37 +0000
  • f6d7098744 meaningless hyunghwan.chung 2019-08-31 05:17:55 +0000
  • 44425c5e60 relocated process information dumping into a separate function, dump_process_info() in exec.c hyunghwan.chung 2019-08-31 03:08:59 +0000
  • 10cf217b7b more semaphore debugging hyunghwan.chung 2019-08-30 15:48:39 +0000
  • d9ad1a7804 debugging semaphore handling hyunghwan.chung 2019-08-30 08:42:21 +0000
  • 584e7f121e debugging io semaphore handling upon sudden abortion hyunghwan.chung 2019-08-29 15:18:59 +0000
  • 652f13246f moved gcfin_should_exit from Processor to System hyunghwan.chung 2019-08-26 14:43:41 +0000
  • 87cf4f4b6a changed chain_to_semaphore() to be more fault resistent hyunghwan.chung 2019-08-24 16:03:17 +0000
  • c8e22fbd92 changed to call printf in test-bi hyunghwan.chung 2019-08-24 15:45:08 +0000
  • 018a4790d0 fixed typos in mod/ffi.c hyunghwan.chung 2019-08-24 06:20:36 +0000
  • 42df4239a6 added ProcessScheduler>>processById: attempting to correct signal handling behavior hyunghwan.chung 2019-08-18 17:46:40 +0000
  • 071ebb7788 fixed comparison bugs in moo_pf_basic_at_test_put() changed some methods to use basicLastIndex instead of basicSize - 1 hyunghwan.chung 2019-08-17 15:56:47 +0000
  • 68eb5d8db8 added Apex>>basicLastIndex, Apex>>_basicLastIndex. Apex>>basicFirstIndex, Apex>>_basicFirstIndex hyunghwan.chung 2019-08-17 10:08:25 +0000
  • a65b64a0d9 completed Apex>>basicAt:test:put. changed BlockContext>>ensure: and Context>>unwindTo:return: to use basicAt:test:put to make the test-and-set operation uninterruptible hyunghwan.chung 2019-08-17 06:30:34 +0000
  • f3953c4754 adding Apex>>basicAt:test:put: hyunghwan.chung 2019-08-17 05:28:25 +0000
  • 24f8525db3 fixed a compiler bug in patch_forward_jump_instruction() enhanced the compiler to disallow 'goto' in an argument expression to jump out. hyunghwan.chung 2019-08-16 16:19:21 +0000
  • f51fbd1a33 added the vm_setsig vm primitive function to improve os signal handler changed System>>__os_signal_handelr and System>>startup for improved os signal handling hyunghwan.chung 2019-08-16 15:29:36 +0000
  • f23a5bd22c added two new vm primitives - vm_getsigfd and vm_getsig - to support os signal handling more promptly hyunghwan.chung 2019-08-15 15:55:06 +0000
  • 3253b8fe0a enhancing VM to handle OS signals properly. work in progress hyunghwan.chung 2019-08-14 16:24:39 +0000
  • 62777b97d6 changed a couple of MOO_ASSERT()'s to MOO_STATIC_ASSERT()'s in lib/bigint.c hyunghwan.chung 2019-08-13 07:19:23 +0000
  • f3c91bbed2 attempting to implement os signal handling. work in progress hyunghwan.chung 2019-08-12 15:54:09 +0000
  • f33af85fbc code clean-up hyunghwan.chung 2019-08-12 02:52:32 +0000
  • 2cf12ade33 enhanced pf_call with moo_intmaxtoint() for FMTC_LONGLONG hyunghwan.chung 2019-08-12 02:46:59 +0000
  • 2cd60cbed8 added moo_uintmaxtoint() hyunghwan.chung 2019-08-12 02:32:04 +0000
  • bd614c504b enhanced make_bloated_bigint_with_ooi() to handle MOO_TYPE_MIN(moo_ooi_t) hyunghwan.chung 2019-08-12 01:43:11 +0000
  • 32341c1773 enhanded make_bigint_with_ooi() to handle MOO_TYPE_MIN(moo_ooi_t) hyunghwan.chung 2019-08-11 16:15:55 +0000
  • 273e2d4d02 fixed an infinite loop bug in mod/ffi.c changed some macros in lib/bigint.c hyunghwan.chung 2019-08-11 14:58:04 +0000
  • 5de32310cf added FMTC_BLOB in mod/ffi.c hyunghwan.chung 2019-08-11 10:11:54 +0000
  • 7c88b00952 enhanced LONGLONG argument handling in mod/ffi.c hyunghwan.chung 2019-08-10 17:36:34 +0000
  • 3f2e39cf44 added moo_inttouintmax and moo_inttointmax hyunghwan.chung 2019-08-10 16:20:44 +0000
  • 99bca6a028 removed garbage from mod/ffi.c hyunghwan.chung 2019-08-10 04:10:13 +0000
  • 85eae9e78b fixed pointer argument handling issues when interfacing with libffi in mod/ffi.c hyunghwan.chung 2019-08-10 04:08:49 +0000
  • 70c97f5ab5 started using libffi in mod/ffi.c if it's available. work in progress hyunghwan.chung 2019-08-09 18:19:13 +0000
  • 58b41bc2a5 changed moo->mmgr to moo->_mmgr in lib/std.c hyunghwan.chung 2019-08-08 03:48:26 +0000
  • 7b4945f231 enhanced resolve_goto_label() to check block id as well collecting block ids hyunghwan.chung 2019-08-07 09:16:28 +0000
  • bb41dc5486 enhanced compile_while_expression()/compile_do_while_expression() not to eliminate blocks containing one or more labels hyunghwan.chung 2019-08-07 08:34:53 +0000
  • 3e1aded8a8 enhanced compile_if_expression() not to eliminate blocks containing one or more labels hyunghwan.chung 2019-08-07 05:33:35 +0000
  • b2ac09072b refactored compile_if_expression() a bit hyunghwan.chung 2019-08-06 15:04:33 +0000
  • 569ee2424d added a few comments to lib/comp.c hyunghwan.chung 2019-08-06 10:13:44 +0000
  • 11b2629680 fixed some issues regarding goto handling hyunghwan.chung 2019-08-06 10:01:54 +0000
  • c299101781 fixed the issue of a disappearing backward jump instruction in compile_braced_block() hyunghwan.chung 2019-08-05 16:01:40 +0000
  • 5296cadde2 fixed a bug of not skipping a goto struct with its ip set to INVALID_IP in adjust_all_gotos_for_elimination() hyunghwan.chung 2019-08-05 15:18:22 +0000
  • ea69bb8d45 changing how to emit code for square bracked block to solve goto related issues. work still in progress hyunghwan.chung 2019-08-05 09:08:03 +0000
  • 55bf7e269e trying to fix some goto implementation issues hyunghwan.chung 2019-08-04 16:38:09 +0000
  • 490804d0aa added a test case in test-003.moo hyunghwan.chung 2019-08-02 16:19:24 +0000
  • f3218dc90a updated README.md hyunghwan.chung 2019-08-02 16:12:12 +0000
  • 763d7f965e renumbered some jump byte codes for easy conversion between forward jump and backward jump hyunghwan.chung 2019-08-02 15:59:19 +0000
  • c30f7466a5 attempting to adjust goto and label ips upon code elimination hyunghwan.chung 2019-08-02 10:17:59 +0000
  • e08edffb0c renamed patch_long_forward_jump_instruction() to patch_forward_jump_instruction(). enhanced to change a forward jump to a backward jump if target ip is less than the instruction pointer hyunghwan.chung 2019-08-02 09:32:19 +0000
  • bd3fc07aaa got rid of short jump instructions(jump offset encoded in the last 2 bits of the instruction) added jump_backward_if_false/true instruction and the like hyunghwan.chung 2019-08-02 09:23:08 +0000
  • 3b6e59d98c more code to the compiler's goto handling functions hyunghwan.chung 2019-08-01 16:05:04 +0000
  • 0fb20bfd40 writing a function to resolve jump labels for goto hyunghwan.chung 2019-08-01 12:33:32 +0000
  • 5f4133e9fd wrote a few more lines in add_label() in comp.c hyunghwan.chung 2019-07-31 08:53:44 +0000
  • 090a3cd6f7 changed clear_method_data() to free goto and label information hyunghwan.chung 2019-07-30 15:39:33 +0000
  • 24ada7f0be updated README.md hyunghwan.chung 2019-07-30 06:07:24 +0000
  • 5ef1c3b989 slightly more code for goto handling hyunghwan.chung 2019-07-28 15:37:01 +0000
  • 299faf4a87 some code for goto handling hyunghwan.chung 2019-07-26 07:40:58 +0000
  • bd1d30360e shortened elsif to elif. enhanced is_reserved_word() to return a token type through a non-NULL second parameter hyunghwan.chung 2019-07-26 04:40:33 +0000
  • 05837aef28 more goto-label handling code hyunghwan.chung 2019-07-18 15:51:55 +0000
  • 6fddd95dce removed an unused variable hyunghwan.chung 2019-07-17 17:05:54 +0000
  • d3f1a435cb fixed a lexer bug than returned FPDECLIT where INTLIT was desired. hyunghwan.chung 2019-07-17 17:04:27 +0000
  • 1c0b23fa97 started working on parsing labels hyunghwan.chung 2019-07-17 09:52:26 +0000
  • dbe3c1cc07 some wasm code hyunghwan.chung 2019-07-15 15:25:00 +0000
  • 8e27a62a40 added the wasm directory for experiments hyunghwan.chung 2019-07-15 09:36:03 +0000
  • a1880f7198 updated README.md with some TODOs hyunghwan.chung 2019-07-14 16:46:08 +0000
  • 7b4e179560 defined MOO_EXPORT to EMSCRIPTEN_KEEPALIVE for EMSCRIPTEN hyunghwan.chung 2019-07-14 16:34:16 +0000
  • 0d5956547a updated README.md a bit hyunghwan.chung 2019-07-13 03:06:07 +0000
  • 1533c42dbf removed code_start_loc from moo_method_data_t and added start_loc hyunghwan.chung 2019-07-12 08:05:44 +0000
  • 3e506cbcfb added System>>backtrace hyunghwan.chung 2019-07-12 07:24:37 +0000
  • 18e186677e simplified source line and source text representation of a methond in dbgi hyunghwan.chung 2019-07-12 05:06:05 +0000
  • 8e5e5234cb simplified source line and source text representation of a methond in dbgi hyunghwan.chung 2019-07-12 03:38:45 +0000
  • fcf6d3ffc1 touched up pf_method_get_source_file() and pf_method_get_ip_source_line() hyunghwan.chung 2019-07-11 15:58:16 +0000
  • d5475d79b6 added pf_method_get_ip_source_line() and defined CompiledMethod::ipSourceLine hyunghwan.chung 2019-07-11 06:43:47 +0000
  • 4afe4b459d renamed clear_io_names() to moo_clearcionames(). attempting to write a fucntion that gives a source line for an instruction pointer hyunghwan.chung 2019-07-10 15:30:08 +0000
  • b3eb804f87 reorganized moo_duputobcstr(), moo_dupbtoucstr(), moo_dupbtouchars(), moo_duputobchars(). renamed add_io_name() to moo_addcioname(). changed input_handler in std.c to set arg->name when opening a file with moo_addcioname(). shortened dbginfo to dbgi. enhanced the compiler to record the class location in dbgi hyunghwan.chung 2019-07-10 09:19:38 +0000
  • b4c6e6a9de added CompiledMethod>>sourceFile, CompiledMethod>>sourceLine. added pf_method_get_source_file(). enhanced moo_addmethodtodbginfo(). enhanced the compiler to call moo_addfiletodbginfo(), moo_addmethodtodbginfo() hyunghwan.chung 2019-07-09 15:56:34 +0000
  • 8820c3db16 changed dbginfo functions and structures a bit hyunghwan.chung 2019-07-09 09:59:38 +0000
  • e6d7cbd767 some more code to handle dbginfo hyunghwan.chung 2019-07-08 15:41:57 +0000
  • b88900eda2 writing some debug information tracking functions hyunghwan.chung 2019-07-08 07:51:53 +0000
  • fba3c3213c attempting to store the source location information collected while compiling into the moo_dbginfo_t data structure hyunghwan.chung 2019-07-07 15:24:27 +0000
  • 81a1785c35 changed the compiler to set source_file and source_line into moo_method_t hyunghwan.chung 2019-07-06 09:44:29 +0000
  • c334b0af28 added the code_start_loc field to moo_method_data_t and updated emit_byte_instruction() to get distance of the instruction being emitted hyunghwan.chung 2019-07-06 09:11:25 +0000
  • 70eaee601e checking argument in pf_context_find_exception_handler() hyunghwan.chung 2019-07-06 07:46:08 +0000
  • 7f835ea120 added moo_ischildclassof(). filled pf_context_find_exception_handler() to speed up exception handling a bit hyunghwan.chung 2019-07-05 08:12:42 +0000
  • 3f6b0335d9 changed comp.c to pass source location to emit_XXX_instruction() functions hyunghwan.chung 2019-07-04 10:04:59 +0000
  • 8e720e4bda changed to pass source location to more calls to emit_xxx_instruction() functions hyunghwan.chung 2019-07-03 15:06:54 +0000
  • 67c9c18282 made partial changes to pass source location to emit_XXX_instruction() functions hyunghwan.chung 2019-07-03 08:48:02 +0000
  • a9045a56b2 changed the moo_code_t structure a little hyunghwan.chung 2019-07-02 09:48:56 +0000
  • 92093dd23f added two more fields into CompiledMethod. no implementation change has been made yet hyunghwan.chung 2019-06-29 10:46:28 +0000
  • 20b50c7bb6 defined select:,reject:,collect: in Array hyunghwan.chung 2019-06-28 06:13:09 +0000
  • 2d8277a046 enhanced the compiler to process byte array in string notation - B"..." hyunghwan.chung 2019-06-27 14:16:43 +0000
  • 4c7b5f2df8 removed the S'' literals from the moo codes hyunghwan.chung 2019-06-27 08:06:33 +0000
  • ea4d782c1d changed %(, %[, %{ to ##(, ##[, ##{ respectively put back % into is_binselchar(). attempting to support a string-like byte array literal - B"XXXX" hyunghwan.chung 2019-06-27 07:43:17 +0000
  • fcb987891e no more ## comment. // as a signle-line comment starter. hyunghwan.chung 2019-06-27 06:29:09 +0000
  • 613e33d186 macro reordering in lib/moo.h. nothing meaningful hyunghwan.chung 2019-06-24 08:37:19 +0000
  • 07b4364654 late commit for uncommited changes in the previous commit. hyunghwan.chung 2019-06-23 14:53:01 +0000
  • ec262c4f68 split the method cache into 2 buckets. one for instance methods, another for class methods. the method type doesn't have to stored after this split. hyunghwan.chung 2019-06-23 14:51:56 +0000
  • 3419097054 removed send_message_with_str(), find_method_with_str() registered some commonly used method names as symbols - doesNotUnderstand:, unwindTo:return:, primitiveFailed invocation of the above methods doesn't need send_message_with_str() changed startup method invocation to look up for a symbol first instead of using the above functions removed hyunghwan.chung 2019-06-23 04:49:38 +0000