Hello. I got one error with compact32bit on 64bit: (gdb) bt #0 0x00000000821f5400 in ?? () #1 0x00000000ff9ab2b0 in ?? () #2 0x00000000ff9ab2b2 in ?? () #3 0x0000000d021fff10 in ?? () #4 0x0000000d821f9e1c in ?? () #5 0x0000000d821f9f00 in ?? () #6 0x0000000d021fff38 in ?? () #7 0x00000000fffc3c10 in ?? () #8 0x00000000fffc3c14 in ?? () #9 0x00000000fffc3c26 in ?? () #10 0x0000000d821f9a25 in ?? () #11 0x0000000d021fff98 in ?? () #12 0x00000000fffc3c2e in ?? () #13 0x00000000fffc04b2 in ?? () #14 0x00000000fffbf892 in ?? () #15 0x0000000d821ea5b2 in ?? () #16 0x00000000fffc3c58 in ?? () #17 0x00000000fffc04b2 in ?? () #18 0x00000000fffbf928 in ?? () #19 0x00000000fffbf916 in ?? () #20 0x0000000d821e9646 in ?? () #21 0x0000000d821e29c8 in ?? () #22 0x0000000d821e29d7 in ?? () #23 0x0000000d021fffc0 in ?? () #24 0x00000000fffbf4a0 in ?? () #25 0x00000000fffbf4aa in ?? () #26 0x0000000d821e21ac in ?? () #27 0x0000000d821e21b6 in ?? () #28 0x0000000d021fffd8 in ?? () #29 0x0000000d821e203a in ?? () #30 0x0000000d821e204a in ?? () #31 0x0000000d021ffff0 in ?? () #32 0x00000008008acab5 in X86AsmRaiseException () from /home/nick/polyml_compact32bit_debug/lib/libpolyml.so.9 #33 0x00000008008acab5 in X86AsmRaiseException () from /home/nick/polyml_compact32bit_debug/lib/libpolyml.so.9 #34 0x0000000000000001 in ?? () Backtrace stopped: Cannot access memory at address 0xd02200000
вс, 20 янв. 2019 г. в 13:21, David Matthews <[email protected]>: > > I've now merged a major piece of development work into GitHub master. > This is a variant of 64-bit mode that uses 32-bit values. It was > triggered by the observation that Isabelle often peformed better with > the 32-bit version than the 64-bit despite the 64-bit version allowing a > much larger heap and having more registers. It appears that Isabelle, > at any rate, is limited more by the bandwidth between the processors and > main memory than by the processors themselves. This may well be the > result of the work on parallelising the application and the garbage > collector. > > In effect there are now three versions on the X86: native 64-bit, native > 32-bit and 32-bits on 64-bits. The new version can be built with the > --enable-compact32bit option to configure. It allows a heap size of up > to 16Gbytes by using 31-bit "object ids", essentially indexes into an > array of 8-byte cells. This heap contains only the data. Code, thread > stacks and other support structures are outside this. > > It has been extensively tested with Isabelle (thanks to Makarius) and > seems to perform better than either of the native address versions. I > started the development about a year ago; development of the final > stages were supported by Data61 and CSIRO through Gerwin Klein. > > I would be interested in feedback on this and also the native address > versions. Whether it well help other applications may depend on whether > the limitation is processor speed or memory bandwidth. It's likely that > many applications will continue to perform best with native addressing. > > The update also includes changes to the X86 code-generator that affect > all the variants. These changes improve the way boolean values and > conditionals are handled. There also other changes to the IO system. > Garbage-collection of streams has been removed and overlapped IO is now > used on Windows which should improve performance and responsiveness. > There have been changes to the handling of floating point and Real32 has > been added. > > Let me have any feedback. > > Regards, > David > > _______________________________________________ > polyml mailing list > [email protected] > http://lists.inf.ed.ac.uk/mailman/listinfo/polyml _______________________________________________ polyml mailing list [email protected] http://lists.inf.ed.ac.uk/mailman/listinfo/polyml
