Re[20]: [Gc] Boehm GC and Iphone

Ivan Maidanski ivmai at mail.ru
Thu Feb 10 13:03:24 PST 2011


Hi Damian,

Am I right that you tried to compile tests/test.c and link it against working libgc.a with xcode?

The first question is whether xcode compiles .*c to producing exactly the same *.o as produced by a manually invoked gcc.
(for this, I think it's worth only do preprocessing in both cases i.e. pass -E option (I don't know how to do it with xcode)).

If the preprocessed code is identical (or the object files are the same (although they may differ due to presence of timestamps, if any),
then compare the headers of the executables.

Regards.

Thu, 10 Feb 2011 03:24:21 -0300 Damian <damian.pop at gmail.com>:

> Just to add more info:
> From what I saw, xcode executes the following call to gcc:
> 
> setenv LANG en_US.US-ASCII
> setenv PATH
> "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
> 
> /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x
> objective-c -arch armv7 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs
> -fpascal-strings -Os -mdynamic-no-pic -Wreturn-type -Wunused-variable
> -isysroot
> /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk
> -fvisibility=hidden -gdwarf-2 -miphoneos-version-min=4.1 -iquote
> /Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-generated-files.hmap
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-own-target-headers.hmap
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-all-target-headers.hmap
> -iquote
> /Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-project-headers.hmap
> -F/Users/damian/Desktop/gc-test/build/Release-iphoneos
> -I/Users/damian/Desktop/gc-test/build/Release-iphoneos/include
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/DerivedSources/armv7
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/DerivedSources
> -DNS_BLOCK_ASSERTIONS=1 -c /Users/damian/Desktop/gc-test/Classes/main.m -o
> /Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/Objects-normal/armv7/main.o
> 
> And the executable I get crashes. It prints "Abort trap" to the console.
> I compiled the file in the command line, on the mac, using almost the same
> command, just modified so it also links:
> 
> /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 libgc.a -x
> objective-c -arch armv7 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs
> -fpascal-strings -Os -mdynamic-no-pic -Wreturn-type -Wunused-variable
> -isysroot
> /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk
> -fvisibility=hidden -gdwarf-2 -miphoneos-version-min=4.1 -iquote
> /Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-generated-files.hmap
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-own-target-headers.hmap
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-all-target-headers.hmap
> -iquote
> /Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/gc-test-project-headers.hmap
> -F/Users/damian/Desktop/gc-test/build/Release-iphoneos
> -I/Users/damian/Desktop/gc-test/build/Release-iphoneos/include
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/DerivedSources/armv7
> -I/Users/damian/Desktop/gc-test/build/gc-test.build/Release-iphoneos/gc-test.build/DerivedSources
> -DNS_BLOCK_ASSERTIONS=1 /Users/damian/Desktop/gc-test/Classes/main.m -o main
> 
> And the executable I get works, no crashes.
> I don't get it. I have no idea what to do now :(
> 
> On Thu, Feb 10, 2011 at 12:35 AM, Damian <damian.pop at gmail.com> wrote:
> 
> > Hi Ivan,
> >
> > I've tried with your attached gc.o and it crashed exactly the same, so I've
> > decided to make a few tests:
> > I've setted up my ipod to be able to compile directly in it and compiled my
> > simple test and it works, no crashes at all. The same source file (main.m,
> > I'm attaching it), if I compile it in xcode it crashes, if I compile it in
> > the ipod it works. Using the same preocompiled library libgc.a that I made
> > myself compiling it in the device with the command line you wrote.
> >
> > So it's not a problem of the library but something related to the final
> > executable, or how it's linked, or I don't know...
> >
> > Do you have any idea of what can be the problem?
> > I'll try to find out what parameters xcode is passing to gcc and the
> > linker.
> >
> > Thanks again.
> >
> > 2011/2/9 Ivan Maidanski <ivmai at mail.ru>
> >
> > Hi,
> >>
> >> The attachment contains libgc (gc.o), gctest and your runTest.
> >> My development (i.e. I compiled the app directly on the device itself) and
> >> target system is: iPhone 3GS
> >>
> >> I used the following command to compile libgc:
> >> gcc -O2 -fno-strict-aliasing -Wall -DNO_EXECUTE_PERMISSION
> >> -DALL_INTERIOR_POINTERS -DJAVA_FINALIZATION -DGC_GCJ_SUPPORT -DNO_DEBUGGING
> >> -DGC_THREADS -DTHREAD_LOCAL_ALLOC -DPARALLEL_MARK -I include -I
> >> libatomic_ops/src -c extra/gc.c
> >>
> >> Regards.
> >>
> >> Tue, 8 Feb 2011 22:06:52 -0300  Damian <damian.pop at gmail.com>:
> >>
> >> > :(
> >> >
> >> > I did what you said, moved GC_INIT(), GC_enable_incremental() and
> >> runTest()
> >> > directly to main()
> >> > I also added the 3 defines you are using (-DNO_EXECUTE_PERMISSION
> >> > -DALL_INTERIOR_POINTERS -DGC_THREADS)
> >> > I've also tried building for ARMv6 and ARMv7 and both ways it crashes
> >> the
> >> > same.
> >> >
> >> > I'm not calling gcc directly, I'm calling configure and make. I send you
> >> > attached the script I've used to call configure with all the parameters.
> >> > Because I had to export some variables before calling it so it would
> >> build
> >> > for ARM and include iOS headers.
> >> >
> >> > Here is one of the lines is writen to the console, I think these are the
> >> > parameters passed to gcc.
> >> >
> >> > libtool: compile:  gcc -DHAVE_CONFIG_H -I./include -I./include
> >> > -I./libatomic_ops/src -I./libatomic_ops/src -fexceptions -arch armv7
> >> > -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS -DGC_THREADS -isysroot
> >> > /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.1.sdk
> >> -MT
> >> > dyn_load.lo -MD -MP -MF .deps/dyn_load.Tpo -c dyn_load.c -o dyn_load.o
> >> >
> >> > Ivan, maybe you can send me the compiled gc that is working for you, so
> >> I
> >> > can test it on my device to discard that the problem is something
> >> related to
> >> > the device version / iOS version or something like that.
> >> >
> >> > Thanks!
> >> > Damian
> >> >
> >> > 2011/2/8 Ivan Maidanski <ivmai at mail.ru>
> >> >
> >> > > Hi Damian,
> >> > >
> >> > > I can't reproduce the bug.
> >> > >
> >> > > Please:
> >> > > 1. show me the exact command-line parameters passed to gcc.
> >> > > 2. Call GC_INIT() and GC_enable_incremental() directly from main().
> >> > >
> >> > > I called runTest() directly from main(). I compiled GC using this
> >> command
> >> > > line:
> >> > > gcc -fno-common -Wall -DNO_EXECUTE_PERMISSION -DALL_INTERIOR_POINTERS
> >> > > -DGC_THREADS -I include -I libatomic_ops/src -c extra/gc.c
> >> > >
> >> > >
> >> > > PS. At present, I'm modifying iphone-specific part of GC - I'll
> >> release it
> >> > > in several days.
> >> > >
> >> > > Regards.
> >> > >
> >> > > Sat, 29 Jan 2011 22:23:03 -0300 Damian <damian.pop at gmail.com>:
> >> > >
> >> > > > Hi Ivan, could you find anything about it?
> >> > >
> >> > > > On Fri, Jan 21, 2011 at 12:24 AM, Damian <damian.pop at gmail.com>
> >> wrote:
> >> > > > I'm sending you a very small test case attached. It has an xcode
> >> project
> >> > > too, with some automatically generated files, but the code is just
> >> this:
> >> > >
> >> > > > void** trash;
> >> > >
> >> > > > void runTest() {
> >> > > >  GC_INIT();
> >> > > >  GC_enable_incremental(); // REMOVING THIS LINE IT WONT CRASH
> >> > > >
> >> > > >  trash = GC_MALLOC(sizeof(void*));
> >> > > >
> >> > > >  while(1){
> >> > > >  *trash = GC_MALLOC(16);
> >> > > >  }
> >> > > > }
> >> > >
> >> > > > To build the GC I'm using the options: --host=arm-apple-darwin10
> >> > > --enable-cplusplus=no --enable-shared=no --enable-full-debug=no
> >> > > > If it helps, I added the script I'm using to build it, it's named
> >> > > build-iphone.sh
> >> > > > Hope it helps!
> >> > >
> >> > > > Damian
> >> > > > 2011/1/20 Ivan Maidanski <ivmai at mail.ru>
> >> > > >
> >> > >
> >> > > > Hello,
> >> > > >
> >> > > > Send the C/C++ code as an attachment. And specify the building
> >> options
> >> > > (or link the makefile as an attachment).
> >> > > >
> >> > > > Regards.
> >> > > >
> >> > > > Thu, 20 Jan 2011 18:23:45 -0300 Damian Troncoso <
> >> damian.pop at gmail.com>:
> >> > > >
> >> > >
> >> > > > > Sure I'll do. I can make an xcode project. Where should I upload
> >> it?
> >> > > > >
> >> > > > > El 20/01/2011, a las 17:54, Ivan Maidanski <ivmai at mail.ru>
> >> escribi?:
> >> > > >
> >> > > > >
> >> > > > > > Hi,
> >> > > > > >
> >> > > > > > Would be nice if you provide a test case (as small as possible).
> >> > > > > >
> >> > > > > > Meanwhile, I'll run my app eating/recycling lots of memory on
> >> iphone
> >> > > with
> >> > > > > enable incremental.
> >> > > > > >
> >> > > > > > Regards.
> >> > > > > >
> >> > > > > > Wed, 19 Jan 2011 20:34:43 -0300 Damian <damian.pop at gmail.com>:
> >> > > > > >
> >> > > > > >> I tried 3, 5 and 6 and nothing changed.
> >> > > > > >> Yes, I'm getting the abort on the first call to exc_server, and
> >> > > > > >> catch_exception_raise
> >> > > > > >> is never called.
> >> > > > > >>
> >> > > > > >> 2011/1/19 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>
> >> > > > > >>> Hi,
> >> > > > > >>>
> >> > > > > >>> 1. Are you getting abort on the first exc_server call?
> >> > > > > >>> 2. Is catch_exception_raise called?
> >> > > > > >>> 3. Try BROKEN_EXCEPTION_HANDLING
> >> > > > > >>> 4. msgh_reserved is not set to any value, that's why it is
> >> random.
> >> > > > > >>> 5. For ID_STOP, ID_RESUME, it might be not safe to use 1, 2 -
> >> try
> >> > > other
> >> > > > > >>> values.
> >> > > > > >>> 6. Try to increase reply/msg.data size in GC_mprotect_thread.
> >> > > > > >>>
> >> > > > > >>> Regards.
> >> > > > > >>>
> >> > > > > >>> Wed, 19 Jan 2011 00:23:26 -0300 Damian <damian.pop at gmail.com
> >> >:
> >> > > > > >>>
> >> > > > > >>>> Well I managed to debug the code.
> >> > > > > >>>> I really don't get why the exception is produced, I don't
> >> even
> >> > > know if
> >> > > > > >>> the data passed to exc_server looks good or not.
> >> > > > > >>>> It's always like the following when the exception is thrown,
> >> the
> >> > > only
> >> > > > > >>> value that changes is 'msgh_reserved':
> >> > > > > >>>
> >> > > > > >>>> (gdb) p msg.head</div>
> >> > > > > >>>> $1 = {
> >> > > > > >>>> msgh_bits = 2147488018,
> >> > > > > >>>> msgh_size = 76,
> >> > > > > >>>> msgh_remote_port = 6147,
> >> > > > > >>>> msgh_local_port = 4611,
> >> > > > > >>>> msgh_reserved = 3445996780,
> >> > > > > >>>> msgh_id = 2401
> >> > > > > >>>> }
> >> > > > > >>>
> >> > > > > >>>> The call to exc_server is like this:
> >> > > > > >>>
> >> > > > > >>>>
> >> > > > > >>>> if(!exc_server(&msg.head, &reply.head))
> >> > > > > >>>> ABORT("exc_server failed");
> >> > > > > >>>
> >> > > > > >>>> msg.head is filled with a call to mach_msg, like this:
> >> > > > > >>>
> >> > > > > >>>>
> >> > > > > >>>> r = mach_msg(&msg.head, MACH_RCV_MSG | MACH_RCV_LARGE |
> >> > > > > >>>> (GC_mprotect_state == GC_MP_DISCARDING ? MACH_RCV_TIMEOUT :
> >> 0),
> >> > > > > >>>> 0, sizeof(msg), GC_ports.exception,
> >> > > > > >>>> GC_mprotect_state == GC_MP_DISCARDING ? 0
> >> > > > > >>>> : MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
> >> > > > > >>>
> >> > > > > >>>> I'm lost :(
> >> > > > > >>>> 2011/1/18 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>>> Hi,
> >> > > > > >>>>
> >> > > > > >>>> Tue, 18 Jan 2011 03:24:33 -0300 Damian <damian.pop at gmail.com
> >> >:
> >> > > > > >>>>
> >> > > > > >>>
> >> > > > > >>>>> Hi Ivan, thanks for helping me with this.
> >> > > > > >>>>> 1. I defined none of those, should I define any? (I tried
> >> both
> >> > > after I
> >> > > > > >>> read
> >> > > > > >>>>> this but I get the same exception)
> >> > > > > >>>>
> >> > > > > >>>> So, the problem is not there.
> >> > > > > >>>>
> >> > > > > >>>
> >> > > > > >>>>> 2. My app only runs on iphone, but I tried it in the iphone
> >> > > simulator
> >> > > > > >>> and it
> >> > > > > >>>>> does not crash. I built the gc just like for the simulator
> >> but
> >> > > for x86
> >> > > > > >>>>
> >> > > > > >>>>> arch and it seems to work.
> >> > > > > >>>>
> >> > > > > >>>>> 3. How? How do I build the collector with symbols on? I
> >> tried
> >> > > adding -g
> >> > > > > >>> to
> >> > > > > >>>>> compiler options and I get a library more than twice bigger
> >> so I
> >> > > thing
> >> > > > > >>> it
> >> > > > > >>>>> has the symbols, but when debugging the stack is the same.
> >> > > > > >>>>
> >> > > > > >>>> I don't know. At least, try to set a break point at exc_sever
> >> and
> >> > > watch
> >> > > > > >>> what is passed to it.
> >> > > > > >>>>
> >> > > > > >>>> Regards.
> >> > > > > >>>>
> >> > > > > >>>
> >> > > > > >>>>>
> >> > > > > >>>>> Thanks again!
> >> > > > > >>>>> Damian
> >> > > > > >>>>>
> >> > > > > >>>>> 2011/1/17 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>>>>
> >> > > > > >>>>>> Hi Damian,
> >> > > > > >>>>>>
> >> > > > > >>>>>> 1. Is the mode is GC_DISCOVER_TASK_THREADS or
> >> > > > > >>> GC_NO_THREADS_DISCOVERY?
> >> > > > > >>>>>> 2. Could you try your app on Mac OS X?
> >> > > > > >>>>>> 3. Could you debug with symbols on and tell us the reason
> >> of
> >> > > abort
> >> > > > > >>> call?
> >> > > > > >>>>>> 4. GC_get_parallel() returns non-zero if 2 or more markers
> >> are
> >> > > > > >>> running.
> >> > > > > >>>>>> 5. Incremental/generation mode is turned on only if either
> >> > > > > >>>>>> GC_enable_incremental() is called (unless
> >> GC_DISABLE_INCREMENTAL
> >> > > env
> >> > > > > >>> var is
> >> > > > > >>>>>> set) or GC_ENABLE_INCREMENTAL env var is set.
> >> > > > > >>>>>>
> >> > > > > >>>>>> Regards.
> >> > > > > >>>>>>
> >> > > > > >>>>>> Sun, 16 Jan 2011 01:18:05 -0300 Damian <
> >> damian.pop at gmail.com>:
> >> > > > > >>>>>>
> >> > > > > >>>>>>> Well, I was not calling gc_enable_incremental() so I think
> >> it
> >> > > was
> >> > > > > >>> not
> >> > > > > >>>>>>> enabled.
> >> > > > > >>>>>>> Now I added the call but the program execution is aborted
> >> with
> >> > > this
> >> > > > > >>> stack
> >> > > > > >>>>>>> trace:
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #0 0x31cbcffc in __abort ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #1 0x31cbd04c in abort ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #2 0x31c91fcc in internal_catch_exception_raise ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #3 0x31c81ea4 in _Xexception_raise ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #4 0x31c81ab0 in exc_server ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #5 0x00060f20 in GC_mprotect_thread ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #6 0x31caa284 in _pthread_start ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> #7 0x31c9f2b0 in thread_start ()
> >> > > > > >>>>>>>
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> Any help?
> >> > > > > >>>>>>> Thanks!
> >> > > > > >>>>>>>
> >> > > > > >>>>>>>
> >> > > > > >>>>>>> On Sat, Jan 15, 2011 at 8:14 PM, Damian <
> >> damian.pop at gmail.com>
> >> > > > > >>> wrote:
> >> > > > > >>>>>>>
> >> > > > > >>>>>>>> Hi, I've just built gc7.2 BDWGC for iphone device, and
> >> it's
> >> > > > > >>> working.
> >> > > > > >>>>>>>> How can I make sure that generation mode is on and
> >> working?
> >> > > > > >>>>>>>> And, parallel mark doesn't work on single core cpus?
> >> > > > > >>>>>>>>
> >> > > > > >>>>>>>> Damian.
> >> > > > > >>>>>>>>
> >> > > > > >>>>>>>> 2011/1/13 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>>>>>>>
> >> > > > > >>>>>>>>> Hi,
> >> > > > > >>>>>>>>>
> >> > > > > >>>>>>>>> If the platform is not multi-core then parallel-mark
> >> mode
> >> > > should
> >> > > > > >>> be
> >> > > > > >>>>>> off
> >> > > > > >>>>>>>>> (either at compile time or at runtime).
> >> > > > > >>>>>>>>> But turning on generation mode could reduce the GC pause
> >> on a
> >> > > > > >>>>>> single-core.
> >> > > > > >>>>>>>>>
> >> > > > > >>>>>>>>> Regards.
> >> > > > > >>>>>>>>>
> >> > > > > >>>>>>>>> Thu, 13 Jan 2011 08:28:55 -0300 Damian <
> >> damian.pop at gmail.com
> >> > > >:
> >> > > > > >>>>>>>>>> None is multicore. Will I get an inprovement anyway?
> >> > > > > >>>>>>>>>> Ok, I will try to compile gc7.2 BDWGC snapshot tonight.
> >> > > > > >>>>>>>>>> Thanks!
> >> > > > > >>>>>>>>>>
> >> > > > > >>>>>>>>>> 2011/1/13 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>>>>>>>>>
> >> > > > > >>>>>>>>>>> Hi,
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>> 1. Are you going to run it on a multi-core? (I don't
> >> know
> >> > > > > >>> Apples
> >> > > > > >>>>>>>>> devices
> >> > > > > >>>>>>>>>>> internals deeply, so I wonder which of them have
> >> multi-core
> >> > > > > >>> CPUs).
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>> 2. If you start using gc6.8 just because of the reason
> >> you
> >> > > > > >>>>>> mentioned,
> >> > > > > >>>>>>>>> I
> >> > > > > >>>>>>>>>>> recommend you to migrate to gc7.2 (get the recent
> >> BDWGC
> >> > > > > >>> snapshot
> >> > > > > >>>>>> which
> >> > > > > >>>>>>>>> now
> >> > > > > >>>>>>>>>>> has generation plus parallel collection enabled).
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>> 3. Incremental/generation collection as well as
> >> parallel
> >> > > > > >>> marking
> >> > > > > >>>>>> are
> >> > > > > >>>>>>>>> the GC
> >> > > > > >>>>>>>>>>> improvements aiming collection pause reduction.
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>> Regards.
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>> Wed, 12 Jan 2011 20:03:02 -0300 Damian <
> >> > > > > >>> damian.pop at gmail.com>:
> >> > > > > >>>>>>>>>>>
> >> > > > > >>>>>>>>>>>> Maybe concurrent + parallel collection does not what
> >> I'm
> >> > > > > >>>>>> expecting.
> >> > > > > >>>>>>>>>>>> What I need to achieve is to reduce the collection
> >> pause.
> >> > > > > >>>>>>>>>>>> I'm using version 6.8 (because I've found somewhere
> >> on the
> >> > > > > >>>>>> internet
> >> > > > > >>>>>>>>>>> someone
> >> > > > > >>>>>>>>>>>> has made it work on iphone with some changes) and I'm
> >> > > > > >>> having
> >> > > > > >>>>>>>>> collection
> >> > > > > >>>>>>>>>>>> cycles of about 120ms. I need to reduce that number.
> >> I
> >> > > > > >>> don't
> >> > > > > >>>>>> care if
> >> > > > > >>>>>>>>>>> overall
> >> > > > > >>>>>>>>>>>> collection time increases as long as the app is not
> >> > > > > >>> freezed for
> >> > > > > >>>>>> such
> >> > > > > >>>>>>>>> a
> >> > > > > >>>>>>>>>>> long
> >> > > > > >>>>>>>>>>>> time.
> >> > > > > >>>>>>>>>>>> Is that possible?
> >> > > > > >>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>> Thanks.
> >> > > > > >>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>> 2011/1/12 Ivan Maidanski <ivmai at mail.ru>
> >> > > > > >>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> Hi,
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> BTW What Apple devices has a multi-core CPU at
> >> present?
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> I ran GC test on a single-core with GC_MARKERS=4 -
> >> > > > > >>> collector
> >> > > > > >>>>>>>>> appears to
> >> > > > > >>>>>>>>>>>>> work...
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> Wed, 12 Jan 2011 10:04:00 -0300 Damian <
> >> > > > > >>> damian.pop at gmail.com
> >> > > > > >>>>>>> :
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>>> Hi,
> >> > > > > >>>>>>>>>>>>>> Is it possible to compile boehm gc for iphone
> >> enabling
> >> > > > > >>>>>>>>> generational
> >> > > > > >>>>>>>>>>> and
> >> > > > > >>>>>>>>>>>>> parallel collection?
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> See the recent post by Hans.
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> I try to enable generational collection on
> >> multi-cores
> >> > > > > >>>>>> (regardless
> >> > > > > >>>>>>>>>>> whether
> >> > > > > >>>>>>>>>>>>> this slows down the GC in average or not - anyway it
> >> is
> >> > > > > >>> not on
> >> > > > > >>>>>> by
> >> > > > > >>>>>>>>>>> default).
> >> > > > > >>>>>>>>>>>>> FYI: At present, generational collection on
> >> multi-cores
> >> > > > > >>>>>> enabled
> >> > > > > >>>>>>>>> only on
> >> > > > > >>>>>>>>>>>>> Win32.
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>> Regards.
> >> > > > > >>>>>>>>>>>>>
> >> > > > > >>>>>>>>>>>>>> I will try to do so; probably I will need help, but
> >> > > > > >>> for now
> >> > > > > >>>>>> al
> >> > > > > >>>>>>>>> least
> >> > > > > >>>>>>>>>>> I
> >> > > > > >>>>>>>>>>>>> want to know it it's possible at all.
> >> > > > > >>>>>>>>>>>>>> Thanks
> >> > > > > >>>>>>
> >> > > > > >>>>>>
> >> > > > > >>>>>
> >> > > > > >>>>
> >> > > > > >>>>> _______________________________________________
> >> > > > > >>>>> Gc mailing list
> >> > > > > >>>>> Gc at linux.hpl.hp.com
> >> > > > > >>>>> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> >> > > > > >>>>
> >> > > > > >>>>
> >> > > > > >>>> _______________________________________________
> >> > > > > >>>> Gc mailing list
> >> > > > > >>>> Gc at linux.hpl.hp.com
> >> > > > > >>>> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> >> > > > > >>>>
> >> > > > > >>>
> >> > > > > >>>
> >> > > > > >>
> >> > > > > >> _______________________________________________
> >> > > > > >> Gc mailing list
> >> > > > > >> Gc at linux.hpl.hp.com
> >> > > > > >> http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> >> > > > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > > _______________________________________________
> >> > > > Gc mailing list
> >> > > > Gc at linux.hpl.hp.com
> >> > > > http://www.hpl.hp.com/hosted/linux/mail-archives/gc/
> >> > > >
> >> > >
> >> > >
> >>
> >>
> >



More information about the Gc mailing list