I ran tests on iPhone, all memory mapped file related tests (eg. gmbx) failed but passed with the patch. arm in iOS works as a little endian 32-bit cpu which is the same as a 32-bit intel cpu, so I'm curious if jmf works correctly on 32-bit Mac Intel.
Пн, 06 янв 2014, Eric Iverson писал(а): > Bill, > > Regarding your questions on jmf vs mac: > > I haven't looked at anything now, but I can say with confidence that > the test suites passed with all combinations of mac intel/ppc and > 32/64 for all official Jsoftware releases. The code is right until > someone shows a counter example. > > /Eric > > On Sat, Jan 4, 2014 at 1:44 AM, bill lam <bbill....@gmail.com> wrote: > > While I running test suite, I noticed that the api for osx > > needs a condition branch because offset is 64-bit even on > > 32-bit platforms os that it has to push another 4 bytes of zero > > to stack. But it does not look quite right to me. > > > > NB. ---------------------- beware of line wrap > > if. UNAME -: 'Darwin' do. > > c_mmap=: }:@:('mmap * * i i i i i i' api)@:(}: , (<0)"_ , {:) > > if. ({.a.)={. 1&(3!:4) 1 do. NB. endian - powerpc vs intel > > c_lseek=: (0 1 3 4&{)@:('lseek i i i i i' api)@:(0&{ , (<0)"_ , 1&{ , > > 2&{) > > end. > > end. > > NB. ---------------------- > > > > this branch is not protected by IF64 so the first question if it > > will work for 64-bit > > > > c_mmap is not inside the endian test branch, so the second > > question is will it work on intel. > > > > what I guess is that it should be > > > > NB. ---------------------- > > if. (UNAME -: 'Darwin') > IF64 do. NB. apply only to 32-bit > > if. ({.a.)={. 1&(3!:4) 1 do. NB. endian - powerpc vs intel > > c_mmap=: }:@:('mmap * * i i i i i i' api)@:(}: , (<0)"_ , {:) > > c_lseek=: (0 1 3 4&{)@:('lseek i i i i i' api)@:(0&{ , (<0)"_ , 1&{ , > > 2&{) > > else. > > c_mmap=: }:@:('mmap * * i i i i i i' api)@:(}: , (<0)"_ ,~ {:) > > c_lseek=: (0 1 3 4&{)@:('lseek i i i i i' api)@:(0&{ , (<0)"_ ,~ 1&{ , > > 2&{) > > end. > > end. > > NB. ---------------------- > > > > Did anyone test how jmf work on OSX (ppc vs intel, 32 vs 64)? > > > > for example using the test script gmbx.ijs > > > > NB. mapped boxed arrays ---------- > > > > load 'jmf' > > 18!:4 <'base' > > > > 1 [ unmap_jmf_ 'q' > > f=: <'q.jmf' > > 1 [ createjmf_jmf_ f,<4e6 NB. 4e6 bytes for data > > map_jmf_ (<'q'),f,'';0 NB. map q to jmf file > > '' -: q > > > > 1 [ unmap_jmf_ 'r' > > f1=: <'r.jmf' > > 1 [ createjmf_jmf_ f1,<7e5 > > map_jmf_ (<'r'),f1,'';0 > > '' -: r > > > > g =: 6 7 4 5 2 3 0 1&{"1 @: (5&}.) @: (3!:3) @: ({."1) > > mean=: +/ % # > > > > NB. ---------------------- > > > > Thanks. > > > > > > -- > > regards, > > ==================================================== > > GPG key 1024D/4434BAB3 2008-08-24 > > gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > > gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm