Concurrent Clean : CleanJ : レコード型

さて、そろそろ、レコード型をどう実装するかを考えないと。
レコード型で気になるポイントは

  • 基本型を効率よく格納できること
  • 非ボックス化配列を効率よく取り扱えること

ということで、これまでは、通常のオブジェクトだけを要素にもつものしか考えていない実装だったので、結構変更するところがあって、影響は大きい。B-Stackの取り扱いにも影響が出るかも。

      • -

非ボックス化配列については、

class A {
  Object o;
  int i;
}

に対して、

class A_array {
  Object[] os;
  int[] is;
}

のようにするという案がある。
これを、CleanObjectの現在の実装に対してどのように適用するかが問題。

class CleanObject {
  CleanDescr desc;
  Object[] args;
}