There have been changes and with 904 there are about to be more. You should not use symget/symset/symdat, but instead use memhad/memdad as defined in the latest jmf.ijs.
Playing with the JE internals is tricky and always will be subject to change in new releases. In particular avoid playing with the symbol table as that is becoming more dynamic and may move. Use memhad/memdad to be safe. It is best if you pattern work like this after the latest version of jmf.ijs and perhaps in the latest jmfx.ijs (part of Jd). I have not looked at the issues you raise, so if you are still puzzled after following the above advice, please post new questions. On Thu, Mar 31, 2022 at 11:35 AM <[email protected]> wrote: > I am working on a binding for a dll which requires a bit of mema / memr / > memw, and this brought me to looking at symget / symset / symdat > > With minor tweeking, I updated to 64bits the viewnoun verb from the > "Guides/Named Noun Internals" page (running J903): > > > > NB. 64 bit version > > viewnoun=: 3 : 0 > > s=. symget <y NB. pointer to symbol table entry > > sys=. memr s,0 2 4 NB. pointers to name, header > > h=. 1{sys NB. header pointer > > fheader=. memr h,0 7 4 NB. fixed header > > NB. 'offset flag size type refcount len rank'=. fheader > > 'offset flag size type refcount len rank'=. fheader > > rank =. 2 NB. hard coded patch !!! > > shape=. memr h,56,rank,4 NB. shape > > data=. memr (h+offset),0,len,type > > sys;fheader;shape;data > > ) > > > > abc=:10+ i. 2 3 > > viewnoun 'abc' > > ┌─────────────────────────────┬─────────────────────┬───┬─────────────────┐ > > │94112853474752 94112853484736│72 0 1 4 1 6 37355522│2 3│10 11 12 13 14 15│ > > └─────────────────────────────┴─────────────────────┴───┴─────────────────┘ > > > Something has clearly changed in the data organization. > > * where has the rank info gone to? why do I get 37355522 instead? > > * does "reserved size for data" still exist? does the 1 actually mean > anything or is it just a placeholder? > > > > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
