CSNagoyaいってきた

ひさびさの勉強会。
Java VMで動くコードをはくのを目指している。
そもそも最近書いてないclassファイルを読むのはその一環。あれはあれで一応完結させるつもりではいるけど、もう少し複雑なclassファイルを解析しないとまずいのでそのためのプログラムを書いていた。

Java Class ファイルを読む(2) - YasuyukiMiuraの日記で読んだconstant_poolを扱うために下みたいなgccを読んで学んだ方法を試した。効果を感じれるところまではやれたので、これってクールだなとか自画自賛してみたり。速度はともかくメモリ効率的にはいまいちな設計だとは思うがgccすげーといったところ。

typedef struct {
    int tag;
    int data[0];
} base;

typedef struct {
    base base;
    int hoge;
} hoge;

typedef struct {
    base base;
    int fuga;
} fuga;

typedef union {
    base base;
    hoge hoge;
    fuga fuga;
} structures;