An error occurred fetching the project authors.
  1. 12 Oct, 2020 11 commits
  2. 11 Aug, 2020 1 commit
  3. 08 Aug, 2020 1 commit
  4. 06 Aug, 2020 1 commit
  5. 24 Jul, 2020 1 commit
  6. 22 Jul, 2020 3 commits
  7. 13 Jul, 2020 1 commit
  8. 02 Jul, 2020 1 commit
  9. 30 Jun, 2020 1 commit
  10. 24 Jun, 2020 2 commits
  11. 11 Jun, 2020 2 commits
  12. 05 Jun, 2020 1 commit
    • Yukihiro "Matz" Matsumoto's avatar
      Squashed commit of the following: · f1523d24
      Yukihiro "Matz" Matsumoto authored
      commit 2d7d545c4c4bfce7fdcbcbe9baaeb437915742f0
      Merge: 625a1249 b178914b
      Author: Yukihiro "Matz" Matsumoto <matz@ruby.or.jp>
      Date:   Fri Jun 5 14:35:13 2020 +0900
      
          Merge branch 'fix-mrb_open-with-nomem' of https://github.com/dearblue/mruby into dearblue-fix-mrb_open-with-nomem
      
      commit b178914b111dda79a8f36ec4eb3e9d37b76f982e
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 22:22:44 2019 +0900
      
          Fix invalid pointer free inside other heap's block
      
           1. `e = mrb_obj_alloc(...)`
           2. `e->stack = mrb->c->stack` (`mrb->c->stack` is anywhere in the range `stbase...stend`)
           3. And raised exception by `mrb_malloc()`!
           4. `mrb_free(e->stack)` by GC part (wrong free)
      
      commit 52e3d5d8585daf86af3ed12db5ab0efefbc9b956
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 21:55:36 2019 +0900
      
          Fix memory leak for temporary symbols when out of memory
      
      commit 4c5499b88e47cc6012ad7d7379cb6bc74c6a0b60
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 11:42:07 2019 +0900
      
          Fix uninitialized pointer dereference for debug section
      
      commit 8e993167dec62a9709d6faacd517729ddcedf4f9
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 11:41:09 2019 +0900
      
          Fix memory leak for temporary filenames when out of memory
      
      commit 8b422577e6eae68a28121b88421d937e8707b487
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 10:57:51 2019 +0900
      
          Fix memory leak for irep when out of memory
      
      commit 6b35ebf49a0aa3edb6bbda770ed58681e9c2e6af
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 10:55:50 2019 +0900
      
          Fix uninitialized pointer dereference when do not finished initializing irep
      
      commit 2531f2631e67e0462749618e2344c733a29238f0
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 10:48:15 2019 +0900
      
          Fix NULL pointer dereference when do not finished initializing irep
      
      commit e2d6896ebad13694800af49c2625e106b8440ddf
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 12:54:19 2019 +0900
      
          Fix memory leak for irep when out of memory by `mrb_proc_new()`
      
      commit b6214ff8a0a1c73bc9554e39053878ac50bb683f
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 12:53:07 2019 +0900
      
          Fix memory leak for `khash_t` in `kh_init_size()` when out of memory by `kh_alloc()`
      
      commit 19162dd6c11f0093d0011e7cab83b8f9e84c2c07
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 02:15:07 2019 +0900
      
          Fix memory leak for symbol string when out of memory in `kh_put()`
      
      commit 15e67297ff54bc14ef359d6d1e745d760a4a255a
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 02:12:24 2019 +0900
      
          Fix keep wrong symbol index when out of memory
      
      commit 3f8e2b375244f5441e8d62efa13c6e6a9afecb14
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 02:08:13 2019 +0900
      
          Fix keep wrong symbol capacity when out of memory
      
      commit a3cfe755ab3e758046c3f4e30938ac8d567ed046
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 10:11:37 2019 +0900
      
          Fix NULL pointer dereference `mrb->c` by `mark_context()`
      
      commit d9c7b6be6eb54630b64eea5c35be241e551676e5
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 15:25:09 2019 +0900
      
          Fix protect exception for print error message
      
      commit 100642750e4d549f2e8050f8d6cabdf8825d4495
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 11:59:02 2019 +0900
      
          Protect exception for mruby core initialization
      
      commit 7a0418304ec70764fa215bef3599f5f735222075
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Fri Jan 18 20:38:27 2019 +0900
      
          Fix memory leak for string object when out of memory
      
          The `mrb_str_pool()` function has a path to call `malloc()` twice.
      
          If occurs `NoMemoryError` exception in second `malloc()`,
          first `malloc()` pointer is not freed.
      
      commit fef1c152ce4e52b9e4a34dc23aca5b02907ac639
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sat Jan 19 13:05:09 2019 +0900
      
          Fix stack overflow when out of memory
      
          As a result of this change, no backtrace information is set
          for NoMemoryError (`mrb->nomem_err`).
      
          Detailes:
      
          When generating a backtrace, called `mrb_intern_lit()`,
          `mrb_str_new_cstr()` and `mrb_obj_iv_set()` function with
          `exc_debug_info()` function in `src/error.c`.
      
          If a `NoMemoryError` exception occurs at this time,
          the `exc_debug_info()` function will be called again,
          and in the same way `NoMemoryError` exception raised will result
          in an infinite loop to occurs stack overflow (and SIGSEGV).
      
      commit da7d7f881bbbad9988a3a2b7bad8f2b72ff06bc6
      Author: dearblue <dearblue@users.noreply.github.com>
      Date:   Sun Jan 20 12:00:38 2019 +0900
      
          Fix NULL pointer dereference `mrb->nomem_err` when not initialized
      
          Add internal functions (not `static`):
      
            * `mrb_raise_nomemory()`
            * `mrb_core_init_abort()`
      Unverified
      f1523d24
  13. 25 Dec, 2019 1 commit
    • KOBAYASHI Shuji's avatar
      Fix potentially use of wrong method cache · 0b2d54f4
      KOBAYASHI Shuji authored
      #### Example (with `MRB_METHOD_CACHE`)
      
        ```ruby
        GC.start
        c = Class.new
        p c            #=> #<Class:0x7fd6a180e790>
        c.new          #=> cache `c.new`
        c = nil
        GC.start       #=> `c` is GCed
        r = Range.dup
        p r            #=> #<Class:0x7fd6a180e790>
                       #   [same pointer as `c`]
        r.new(2, 3)    #=> ArgumentError: 'initialize':
                       #   wrong number of arguments (2 for 0)
                       #   [`c.new` is called instead of `r.new`]
        ```
      
      #### Cause
      
        An entry of method cache is identified by class pointer and method
        id. However, reusing memory after GC may create a class with the same
        pointer as the cached class.
      
      #### Treatment
      
        Cleared method caches of the class when the class is GCed.
      0b2d54f4
  14. 04 Dec, 2019 1 commit
    • KOBAYASHI Shuji's avatar
      Refine `mrb_alloca()` · a030446a
      KOBAYASHI Shuji authored
      * The allocated memory is guaranteed to be aligned for any data type (it was
        not guaranteed when string type is embed).
      * Make allocation size exactly specified size (does not allocate space for a
        null byte).
      a030446a
  15. 23 Nov, 2019 1 commit
  16. 26 Sep, 2019 1 commit
  17. 20 Aug, 2019 1 commit
    • KOBAYASHI Shuji's avatar
      Use `RBasic` padding for embedded string on 64-bit CPU · 8157672a
      KOBAYASHI Shuji authored
      On 64-bit CPU, there is padding in `RBasic`, so reorder the fields and use
      it as buffer of embedded string. This change allows 4 more bytes to be
      embedded on 64-bit CPU.
      
      However, an incompatibility will occur if `RString::as::ary` is accessed
      directly because `RString` structure has changed.
      8157672a
  18. 16 Aug, 2019 1 commit
  19. 05 Aug, 2019 1 commit
    • KOBAYASHI Shuji's avatar
      Use new specifiers/modifiers of `mrb_vfromat()` · 334afb16
      KOBAYASHI Shuji authored
      The binary sizes (gems are only `mruby-bin-mruby`) are reduced slightly in
      my environment than before the introduction of new specifiers/modifiers
      (5116789a) with this change.
      
        ------------+-------------------+-------------------+--------
         BINARY     | BEFORE (5116789a) |   AFTER (This PR) |  RATIO
        ------------+-------------------+-------------------+--------
         mruby      |      593416 bytes |      593208 bytes | -0.04%
         libmruby.a |      769048 bytes |      767264 bytes | -0.23%
        ------------+-------------------+-------------------+--------
      
      BTW, I accidentally changed `tasks/toolchains/visualcpp.rake` at #4613,
      so I put it back.
      334afb16
  20. 24 Jun, 2019 1 commit
  21. 29 May, 2019 1 commit
    • Yukihiro "Matz" Matsumoto's avatar
      Add `mrb_alloca` again; ref #4470 · 2b81ea7e
      Yukihiro "Matz" Matsumoto authored
      This time, the allocated memory comes from the string object, which is
      referenced from GC arena. The memory region will be reclaimed when the C
      function called from VM is terminated, or the GC arena is restored.
      2b81ea7e
  22. 18 May, 2019 1 commit
  23. 04 May, 2019 1 commit
  24. 14 Apr, 2019 2 commits
  25. 01 Jan, 2019 1 commit