Project

General

Profile

Actions

Feature #13494

closed

[PATCH] pack rb_method_definition_t struct

Feature #13494: [PATCH] pack rb_method_definition_t struct

Added by normalperson (Eric Wong) over 8 years ago. Updated over 8 years ago.

Status:
Closed
Target version:
-
[ruby-core:80826]

Description

We only have 12 method types, so 4 bits is enough for
rb_method_type_t.

Size reductions:

- x86-64     48 => 40 bytes
- x86        28 => 24 bytes

* method.h (enum method_optimized_type): split out for CPP
  (struct rb_method_definition struct): pack on unaligned systems
  (rb_method_definition_t): split typedef to help ctags

Files

Updated by shyouhei (Shyouhei Urabe) over 8 years ago Actions #1

  • Status changed from Open to Assigned

Updated by ko1 (Koichi Sasada) over 8 years ago Actions #2 [ruby-core:81236]

Sorry for late response.

No problem.

Thanks,
Koichi

Updated by ko1 (Koichi Sasada) over 8 years ago Actions #3 [ruby-core:81237]

  • Assignee changed from ko1 (Koichi Sasada) to normalperson (Eric Wong)

Updated by Anonymous over 8 years ago Actions #4

  • Status changed from Assigned to Closed

Applied in changeset trunk|r58784.


method.h: pack rb_method_definition_t struct

We only have 12 method types, so 4 bits is enough for
rb_method_type_t.

Size reductions:

  • x86-64 48 => 40 bytes
  • x86 28 => 24 bytes
  • method.h (enum method_optimized_type): split out for CPP
    (struct rb_method_definition struct): pack on unaligned systems
    (rb_method_definition_t): split typedef to help ctags
    [ruby-core:81236] [Feature #13494]
Actions

Also available in: PDF Atom