harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xiao-Feng Li" <xiaofeng...@gmail.com>
Subject Re: Errors when Compiling gc_gen separately
Date Thu, 03 Apr 2008 00:32:26 GMT
Alexei gave good suggestions.

It reminds me one thing important to discuss: how to easily keep sync
with Harmony GC code base on SVN.

Senaka, since Harmony GC in SVN keeps improving, it would be good for
you to keep it as is at the beginning. That would benefit both of your
development and also later synchronization of the GC code in Parrot. I
have no good advices yet on how to achieve the easy sync. My intuition
is, if you can define a good set of interface files similar to
open/gc.h and open/vm_gc.h in Harmony, and make them as kind of
adapting layer (or VM Adapter) for different VMs (Harmony and Parrot).
Probably you can group them into a directory like vm_adapter/.
Actually some people also asked me if Harmony GC can work in Mono. I
guess your experience in this project could be useful there as well.

Thanks,
xiaofeng

On Wed, Apr 2, 2008 at 9:29 PM, Alexei Fedotov <alexei.fedotov@gmail.com> wrote:
> Senaka,
>  You are making a good progress with building Harmony GC separately
>  from Harmony VM.
>
>  I have a piece of advise concerning the focus of the task. While
>  include list minimization is interesting, I don't think you should
>  spend too much time on it. If something is required, keep it, and keep
>  all things it depends on. To convince perfectionist in you I would say
>  that the further code changes would be much greater, and big parts
>  would be efficiently removed due to logic changes.
>
>  The things I would recommend you to throw away are files in Java.
>  Thanks.
>
>
>
>  On Wed, Apr 2, 2008 at 3:02 PM, Xiao-Feng Li <xiaofeng.li@gmail.com> wrote:
>  > On Tue, Apr 1, 2008 at 12:33 PM, Senaka Fernando <senakafdo@gmail.com> wrote:
>  >  > Hi Xiao-Feng,
>  >  >
>  >  >  OK. Also, I have one more question. Unless otherwise someone has to write
a
>  >  >  porting layer, isn't it better that we keep the required number of includes
>  >  >  etc. at a minimum. This will help us plug the GC to any other application
as
>  >  >  a whole. However, we may need a platform-auto-sense. VM stuff of course
will
>  >  >  be replaced.
>  >
>  >  Yes, agreed. Well, on the other hand, the included files are required
>  >  by GC. It can't reduce the number of them.
>  >
>  >
>  >  >  And, I would like to know your opinion about whether you expect me to use
>  >  >  some of the Harmony includes (in vm/include) in the process, or whether
my
>  >  >  starting point is the gc_gen directory?
>  >
>  >  I think it is not mandatory to use vm/include. But those are good references.
>  >
>  >
>  >
>  >  >  Regards,
>  >  >  Senaka
>  >  >
>  >  >
>  >  >
>  >  >  On Tue, Apr 1, 2008 at 6:53 AM, Xiao-Feng Li <xiaofeng.li@gmail.com>
wrote:
>  >  >
>  >  >  > Fernando, thanks for the try. You probably should be able to figure
>  >  >  > out the issues. :-)
>  >  >  >
>  >  >  > The first couple of lines state required header files are missing:
>  >  >  >
>  >  >  > src/common/gc_common.h:25:21: error: cxxlog.h: No such file or directory
>  >  >  > src/common/gc_common.h:26:23: error: port_vmem.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:28:31: error: platform_lowlevel.h: No such file
>  >  >  > or directory
>  >  >  > src/common/gc_common.h:30:24: error: open/types.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:31:24: error: open/vm_gc.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_common.h:32:21: error: open/vm.h: No such file or directory
>  >  >  > src/common/gc_common.h:33:21: error: open/gc.h: No such file or directory
>  >  >  > src/common/gc_common.h:34:25: error: port_malloc.h: No such file or
>  >  >  > directory
>  >  >  > In file included from src/common/gc_for_class.h:26,
>  >  >  >                 from src/common/gc_common.h:36,
>  >  >  >                 from src/common/collection_scheduler.cpp:18:
>  >  >  > src/common/gc_platform.h:26:25: error: port_atomic.h: No such file
or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:28:27: error: port_barriers.h: No such file
>  >  >  > or directory
>  >  >  > src/common/gc_platform.h:40:22: error: apr_time.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:41:24: error: apr_atomic.h: No such file or
>  >  >  > directory
>  >  >  > src/common/gc_platform.h:43:31: error: open/hythread_ext.h: No such
>  >  >  > file or directory
>  >  >  >
>  >  >  >
>  >  >  > The header files missed shown above are basically in two categories:
>  >  >  > 1. platform (in)dependent stuff, like platform_lowlevel.h,
>  >  >  > port_atomic.h, apr_atomic.h, etc.
>  >  >  > 2. vm (in)dependent stuff, such as those under open/ directory. They
>  >  >  > define the interfaces or contract between GC and VM.
>  >  >  >
>  >  >  > For 1, I believe Parrot has similar stuff for platform independent
>  >  >  > interfaces, though it doesn't use apr or port. You can help to figure
>  >  >  > out what are the specific functions used by GC and try to wrap them
>  >  >  > into gc_gen/common/gc_platform.h.
>  >  >  >
>  >  >  > For 2, these are the true stuff needing helps from Parrot community.
>  >  >  > We need understand the interfaces provided by Parrot for memory
>  >  >  > management, and try to match them with Harmony interface. It would
be
>  >  >  > great if you can sort out the interfaces of the two VMs.
>  >  >  >
>  >  >  > Thanks,
>  >  >  > xiaofeng
>  >  >  >
>  >  >  > On Tue, Apr 1, 2008 at 4:20 AM, Senaka Fernando <senakafdo@gmail.com>
>  >  >  > wrote:
>  >  >  > > Hi all,
>  >  >  > >
>  >  >  > >  I compiled gc_gen separately, using just the headers and source
defined
>  >  >  > > inside the gc_gen. I ran into a great number of error messages.
I have
>  >  >  > > attached herewith the list of errors. This serves as a guideline
of each
>  >  >  > and
>  >  >  > > every resource required by the GC, which is beyond its scope.
The build
>  >  >  > > script used is, a simple g++ call that will include each and every
>  >  >  > header
>  >  >  > > and compile each and every source file within the gc_gen folder.
>  >  >  > >
>  >  >  > >  Please send in your valuable contributions regarding what should
>  >  >  > remain,
>  >  >  > > and what should go out. This file is pretty lengthy, therefore
I believe
>  >  >  > > that we can take this little by little. I'm sending the first
1000 lines
>  >  >  > of
>  >  >  > > around 70000. Most of the errors are repeated in various forms.
Thus
>  >  >  > > resolution of these should see a significant reduction of errors.
>  >  >  > >
>  >  >  > >  Regards,
>  >  >  > >  Senaka
>  >  >  >
>  >  >  >
>  >  >  >
>  >  >  > --
>  >  >  > http://xiao-feng.blogspot.com
>  >  >  >
>  >  >
>  >
>  >
>  >
>  >  --
>  >
>  >
>  > http://xiao-feng.blogspot.com
>  >
>
>
>
>  --
>  With best regards,
>  Alexei
>



-- 
http://xiao-feng.blogspot.com

Mime
View raw message