2009-05-26 Basile Starynkevitch <basile@starynkevitch.net>
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 May 2009 17:33:33 +0000 (17:33 +0000)
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 26 May 2009 17:33:33 +0000 (17:33 +0000)
commit740cd0bed10b436b5ab592163341464e25a5fef7
tree878cbdf019958acd271cdf6e396a37afeaf98aa4
parent165c158a4782dde25b9020d34ae522b4fe431903
2009-05-26  Basile Starynkevitch  <basile@starynkevitch.net>

* gcc/doc/plugins.texi
(Loading plugins): typo.
(Plugin callbacks): Documented PLUGIN_INFO, PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
(Interacting with the GCC Garbage Collector): Added new section.
(Giving information about a plugin): Added new section for
PLUGIN_INFO.
* gcc/testsuite/gcc.dg/plugin/plugin.exp: Added ggcplug.c test plugin
with ggcplug-test-1.c for testing PLUGIN_GGC_MARKING etc...
* gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c: Added new file.
* gcc/testsuite/gcc.dg/plugin/ggcplug.c: Added new file.
* gcc/ggc.h (ggc_register_root_tab): Added declaration.
* gcc/gcc-plugin.h (PLUGIN_GGC_START, PLUGIN_GGC_MARKING)
(PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS): Added new events.
(register_callback): Improved comment in declaration.
* gcc/ggc-common.c (const_ggc_root_tab_t) Added new typedef for
vectors.
(extra_root_vec) Added static variable for dynamic roots
registration.
(ggc_register_root_tab) Added new routine.
(ggc_mark_roots) Added iteration inside extra_root_vec, and invoke
PLUGIN_GGC_MARKING event.
* gcc/ggc-zone.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/ggc-page.c: Include plugin.h.
(ggc_collect): Invoke PLUGIN_GGC_START & PLUGIN_GGC_END events.
* gcc/plugin.c (plugin_event_name): added names of PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS
(register_callback): check lack of callbacks for
pseudo-events. Added handling of PLUGIN_REGISTER_GGC_ROOTS,
PLUGIN_GGC_START, PLUGIN_GGC_MARKING, PLUGIN_GGC_END.
(invoke_plugin_callbacks): Handle PLUGIN_GGC_START,
PLUGIN_GGC_MARKING, PLUGIN_GGC_END, PLUGIN_REGISTER_GGC_ROOTS.
* gcc/Makefile.in (ggc-common.o, ggc-zone.o, ggc-page.o): Added
dependency on plugin.h.
(plugin.o): Added dependency on ggc.h...

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147878 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/doc/plugins.texi
gcc/gcc-plugin.h
gcc/ggc-common.c
gcc/ggc-page.c
gcc/ggc-zone.c
gcc/ggc.h
gcc/plugin.c
gcc/testsuite/gcc.dg/plugin/ggcplug-test-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/ggcplug.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/plugin/plugin.exp