next up previous contents index
Next: 外部参照ポインタの生成 Up: 外部参照ポインタ Previous: ジェネリック・オブジェクトを用いた実現

   
輸出表

まず、外部から参照されている(外部参照ポインタより指されている) オブジェクトの存在があると、以下のような問題が生じる。

そこで、「外部から参照されているデータ群」が記録されている表を 作り、その表のindexをもって外部からのデータのIDとすることにする。 この表を輸出表と呼ぶ。 よって、外部データを参照する場合、「ノード番号」と「輸出表インデックス」 のペアをもって特定する。

輸出表の構造は、runtime/include/klic/interpe.h内で、struct exp_entry として以下のように線型リストとして定義されている。  

struct exp_entry{
    long index;
    long wec;
    q data;
    struct exp_entry *next;
};

輸出表の根はexp_tableである。輸出表はKLICのヒープとは別にfree list管理 されている(runtime/export_table.cで定義されている 関数群を参照)。



Sekita Daigo
1998-05-18