Hi, My first question would be why are you using the ChangeLog files at all? It seems like it would be a lot more straight forward to just look at blame for the thing that changed.
thanks Trev On Fri, Aug 18, 2017 at 09:32:34AM +0800, Leslie Zhai wrote: > > > 在 2017年08月17日 23:10, David Malcolm 写道: > > On Thu, 2017-08-17 at 09:52 +0800, Leslie Zhai wrote: > > > Hi Trevor, > > > > > > Thanks for your kind response! > > > > > > > > > 在 2017年08月16日 20:02, Trevor Saunders 写道: > > > > On Wed, Aug 16, 2017 at 05:32:10PM +0800, Leslie Zhai wrote: > > > > > Hi GCC developers, > > > > > > > > > > GCC v4.6's gengtype will auto-generate Allocators for known > > > > > structs and > > > > > unions, for example: ggc_alloc_tree2WeakVH for tree2WeakVH https: > > > > > //github.com/xiangzhai/dragonegg/blob/master/include/dragonegg/gt > > > > > -cache-4.6.inc#L24 > > > > > > > > > > but gengtype will not auto-generate ggc_alloc_XXX for GCC v6.x or > > > > > v8.x > > > > > (git-20170816), for example: struct GTY((for_user)) tree2WeakVH h > > > > > ttps://github.com/xiangzhai/dragonegg/blob/master/include/dragone > > > > > gg/gt-cache-8.0.inc#L1284 > > > > > > > > > > As ChangeLog-2014 mentioned: > > > > > > > > > > 2014-05-17 Trevor Saunders <tsaund...@mozilla.com> > > > > > > > > > > ... > > > > > (ggc_alloc): Install the type's destructor as the finalizer > > > > > if it > > > > > might do something. > > > > > > > > > > Please give me some hint about ggc_alloc migration, thanks a lot! > > > > if you look at the patches they convert ggc_alloc_foo to > > > > ggc_alloc<foo> > > > > and you should do the same. > > > Thanks for your hint! I do the same :) > > > https://github.com/xiangzhai/dragonegg/blob/master/src/Cache.cpp#L255 > > > PS: how to find the relative patch for the ChangeLog's item? I use > > > Google, for example: (ggc_alloc): Install the type's destructor as > > > the > > > finalizer if it might do something. > > Another way is to use "git blame" on the ChangeLog to find the commit > > that added the ChangeLog entry. > > > > For "archived" ChangeLog files like "ChangeLog-2014" that will just > > tell you which commit moved all of the entries for that years ChangeLog > > entries to "ChangeLog-2014", so you can use "git log": > > > > git log gcc/ChangeLog-2014 > > > > to identify the commit that archived the ChangeLog: > > > > commit e64e0023b9a6796858262f8fd38005a08d234d82 > > Author: green <green@138bc75d-0d04-0410-961f-82ee72b054a4> > > Date: Thu Jan 1 15:43:47 2015 +0000 > > > > Roll ChangeLog file. Limit offsets to 16 bits for moxie. > > > > > > Once you have that commit you can use "^" to find the prior state of > > the tree, and then use git blame: > > > > git blame e64e0023b9a6796858262f8fd38005a08d234d82^ gcc/ChangeLog > > Thanks for your hint! > > > > > and then search for the text of interest: > > > > 9296020474 (tbsaunde 2014-05-17 23:15:55 +0000 38073) 2014-05-17 > > Trevor Saunders <tsaund...@mozilla.com> > > 9296020474 (tbsaunde 2014-05-17 23:15:55 +0000 38074) > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38075) * > > ggc-common.c (ggc_internal_cleared_alloc): Adjust. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38076) * > > ggc-none.c (ggc_internal_alloc): Assert if a finalizer is passed. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38077) > > (ggc_internal_cleared_alloc): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38078) * > > ggc-page.c (finalizer): New class. > > b540cb16c9 (uros 2014-05-18 07:24:24 +0000 38079) > > (vec_finalizer): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38080) > > (globals::finalizers): New member. > > b540cb16c9 (uros 2014-05-18 07:24:24 +0000 38081) > > (globals::vec_finalizers): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38082) > > (ggc_internal_alloc): Record the finalizer if any for the block bei > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38083) allocated. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38084) > > (ggc_handle_finalizers): New function. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38085) > > (ggc_collect): Call ggc_handle_finalizers. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38086) * ggc.h > > (ggc_internal_alloc): Add arguments to allow installing a > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38087) finalizer. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38088) > > (ggc_internal_cleared_alloc): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38089) (finalize): > > New function. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38090) > > (need_finalization_p): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38091) > > (ggc_alloc): Install the type's destructor as the finalizer if it > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38092) might do > > something. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38093) > > (ggc_cleared_alloc): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38094) > > (ggc_vec_alloc): Likewise. > > 92f06184bb (tbsaunde 2014-05-17 23:08:00 +0000 38095) > > (ggc_cleared_vec_alloc): Likewise. > > > > which identifies the commit as 92f06184bb. > > > > "git show 92f06184bb" shows the commit you're looking for, and contains > > this line: > > > > git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210568 > > 138bc75d-0d04-0410-961f-82ee72b054a4 > > > > from which you can see (if you need to) that the SVN commit was r210568. > > > > > Dave > > -- > Regards, > Leslie Zhai - a LLVM developer https://reviews.llvm.org/p/xiangzhai/ > > >