Access fA ! TN A Struct read CMemberRead(trec , tid ) Struct write CMemberWrite(trec , tid , tval ) Array read CElementRead(tarr , tidx ) Array write CElementWrite(tarr , tidx , tval ) Is null CIsNullPointer(trec ) Function call CCall(tfunc , . . .) fC 7 ! TN A [N Msg Read(trec , tid ) f Write(trec , tid , tval ) 7 C ! f Read(tarr , tidx ) fC 7 ! Write(tarr , tidx , tval ) f IsNull(trec ) 7 C ! f Execute(tfunc , . . .) 7 C ! 7 C ! fJS Property read JSReadProperty(trec , tid ) 7 ! Read(trec , tid ) Property write JSWriteProperty(trec , tid , tval ) 7 ! Write(trec , tid , tval ) Is null JSIsNil(trec ) 7 ! IsNull(trec ) fJS fJS fJS Call JSCall(tfunc , trec . . .) 7 ! Execute(tfunc , trec . . .) Method call RbDispatch( 7 Execute(Read(trec , tid ), trec . . .) fRuby RbResolve(trec , tid ), trec . . .) ! Is null Getter call fRuby RbIsNil(trec ) 7 RbDispatch( 7 RbResolve(trec , tgetterId ), trec . . .) Setter call 7 Read(trec , tid ) Ptr to Struct Write(trec , tid , tval ) Ptr to Array Read(trec , tidx ) Ptr to Array Write(trec , tidx , tval ) Any ptr IsNull(trec ) Function ptr Execute(trec , . . .) Object Read(trec , tid ) Object Write(trec , tid , tval ) Object IsNull(trec ) Object Unbox(trec ) Function Execute(trec , trec . . .) gB ! ! gJS 7 ! gJS 7 ! gJS 7 ! gJS JSIsNil(trec ) JSNumberToFloat64(trec ) RbDispatch( Write(trec , tid , tval ) 7 Object IsNull(trec ) Array or Hash Execute(Read(trec , tid ), trec . . .) 7 Array or Hash Read(trec , tid ) 7 Array or Hash Write(trec , tid , tval ) 7 Array or Hash IsNull(trec ) Class Read(trec , tid ) 7 Class Write(trec , tid , tval ) Execute(trec , . . .) JSWriteProperty(trec , tid , tval ) JSCall(trec , trec . . .) gRuby Object Function JSReadProperty(trec , tid ) 7 ! 7 Unbox(trec ) CCall(trec , . . .) gJS Read(trec , tid ) Float CIsNullPointer(trec ) gC 7 ! Object Unbox(trec ) CElementWrite(trec , tidx , tval ) gC ! 7 IsNull(trec ) CElementRead(trec , tidx ) gC ! 7 CMemberRead(trec , tid ) CMemberWrite(trec , tid , tval ) ! 7 TN A [N B gC ! 7 Write(trec , tid , tval ) gC ! 7 7 7 Execute(Read(trec , tid ), trec . . .) FixNum Read(trec , tid ) gC Object Class ! ! TN A [N Msg Ptr to Struct IsNull(trec ) fRuby RbDispatch( RbResolve(trec , tsetterId ), trec . . .) Receiver trec ! fRuby ! gRuby ! gRuby ! gRuby ! gRuby 7 ! gRuby ! gRuby ! gRuby ! gRuby 7 ! gRuby 7 ! 7 gRuby ! gRuby 7 ! gRuby ! 7 7 gRuby ! RbResolve(trec , tid ), trec . . .) RbDispatch( RbResolve(trec , tgetterId ), trec ) RbDispatch( RbResolve(trec , tsetterId ), trec , tval ) RbIsNil(trec ) RbDispatch( RbResolve(trec , tid ), trec . . .) RbDispatch( RbResolve(trec , t[] ), trec ) RbDispatch( RbResolve(trec , t[]= ), trec , tval ) RbIsNil(trec ) RbReadClassVar(trec , tid ) RbWriteClassVar(trec , tid , tval ) RbIsNil(trec ) RbFixNumToInt64(trec ) RbFloatToFloat64(trec ) RbDispatch(trec , . . .)
© Copyright 2025