[#84867] [Ruby trunk Bug#14357] thread_safe tests suite segfaults — v.ondruch@...

Issue #14357 has been reported by vo.x (Vit Ondruch).

11 messages 2018/01/15
[#85364] Re: [Ruby trunk Bug#14357] thread_safe tests suite segfaults — Eric Wong <normalperson@...> 2018/02/03

v.ondruch@tiscali.cz wrote:

[#84980] [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — hsbt@...

Issue #13618 has been updated by hsbt (Hiroshi SHIBATA).

10 messages 2018/01/23
[#85012] Re: [Ruby trunk Feature#13618][Assigned] [PATCH] auto fiber schedule for rb_wait_for_single_fd and rb_waitpid — Eric Wong <normalperson@...> 2018/01/23

hsbt@ruby-lang.org wrote:

[ruby-core:85284] [Ruby trunk Feature#10274][Closed] [PATCH 0/2] more rb_iseq_t reductions (and more planned)

From: normalperson@...
Date: 2018-01-31 08:29:59 UTC
List: ruby-core #85284
Issue #10274 has been updated by normalperson (Eric Wong).

Status changed from Open to Closed
Assignee changed from ko1 (Koichi Sasada) to normalperson (Eric Wong)

----------------------------------------
Feature #10274: [PATCH 0/2] more rb_iseq_t reductions (and more planned)
https://bugs.ruby-lang.org/issues/10274#change-70063

* Author: normalperson (Eric Wong)
* Status: Closed
* Priority: Normal
* Assignee: normalperson (Eric Wong)
* Target version: 
----------------------------------------
Both of these are pretty simple, low impact patches:

We are close to being able to fit rb_iseq_t in four 64 byte
cache line (we are 262 bytes after these patches,
a milestone is <= 256 bytes).

* [PATCH 1/2] iseq: reduce from 280 to 272 bytes
  - arg_simple is limited to 3 possible values: 0, 1, and 2
  - arg_keyword_check is a boolean
  - flip_cnt should be int to enforce portable code between 64-bit and
    32-bit systems and must fit in FIXNUM space.
    I doubt anybody would notice if flip_cnt (or any arg counters)
    were 8 bits, even.

* [PATCH 2/2] iseq: remove iseq->iseq field (270 => 262 bytes on 64-bit)

  We may store the original iseq after the encoded iseq to reduce
  allocation overhead and use a boolean to denote whether or not
  the iseq_encoded field contains data at the end.

  This simplifies iseq_free and iseq_memsize a little, too.

I will commit in a week or so unless there are objections.

Future:

  Move some keyword-related fields into its own struct (similar to
  catch table).  Maybe compile_data can be split off.


---Files--------------------------------
0001-iseq-reduce-from-280-to-272-bytes.patch (2.35 KB)
0002-iseq-remove-iseq-iseq-field-270-262-bytes-on-64-bit.patch (3.32 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next