interaspect.git
15 years agoMake int types test case use aop_finish() for writing its header.
Justin Seyster [Tue, 7 Sep 2010 22:20:16 +0000 (18:20 -0400)]
Make int types test case use aop_finish() for writing its header.

15 years agoAdded aop_finish().
Justin Seyster [Tue, 7 Sep 2010 22:19:54 +0000 (18:19 -0400)]
Added aop_finish().

15 years agoAdded header generation to int types test case.
Justin Seyster [Mon, 6 Sep 2010 21:06:47 +0000 (17:06 -0400)]
Added header generation to int types test case.

15 years agoFixed incorrect qsort comparitor. Removed annoying debug printfs.
Justin Seyster [Mon, 6 Sep 2010 21:05:14 +0000 (17:05 -0400)]
Fixed incorrect qsort comparitor. Removed annoying debug printfs.

Hopefully, I also learned a valuable lesson about ignoring GCC
warnings.

15 years agorun-testcase.py can check the output of an automatic header file.
Justin Seyster [Mon, 6 Sep 2010 20:58:19 +0000 (16:58 -0400)]
run-testcase.py can check the output of an automatic header file.

15 years agoAdded a way to see arguments passed to the GCC command line.
Justin Seyster [Sat, 4 Sep 2010 00:32:39 +0000 (20:32 -0400)]
Added a way to see arguments passed to the GCC command line.

15 years agoMerge branch 'master' into autoheaders
Justin Seyster [Fri, 3 Sep 2010 22:32:08 +0000 (18:32 -0400)]
Merge branch 'master' into autoheaders

15 years agoMerge branch 'testcases'
Justin Seyster [Fri, 3 Sep 2010 22:31:06 +0000 (18:31 -0400)]
Merge branch 'testcases'

15 years agoRewrote format_c_type() to deal with all aop_type objects.
Justin Seyster [Fri, 3 Sep 2010 22:24:21 +0000 (18:24 -0400)]
Rewrote format_c_type() to deal with all aop_type objects.

15 years agoget_param_types() no longer balks at AOP_STR_CST() params.
Justin Seyster [Fri, 3 Sep 2010 00:13:48 +0000 (20:13 -0400)]
get_param_types() no longer balks at AOP_STR_CST() params.

15 years agoTurns out you're supposed to NULL terminate linked lists.
Justin Seyster [Fri, 3 Sep 2010 00:01:48 +0000 (20:01 -0400)]
Turns out you're supposed to NULL terminate linked lists.

15 years agoFix: allocating just a pointer instead of the whole struct.
Justin Seyster [Thu, 2 Sep 2010 23:53:14 +0000 (19:53 -0400)]
Fix: allocating just a pointer instead of the whole struct.

15 years agoMerge branch 'master' into autoheaders
Justin Seyster [Thu, 2 Sep 2010 22:54:05 +0000 (18:54 -0400)]
Merge branch 'master' into autoheaders

Conflicts:
src/Makefile.am
src/aop-main.c
src/aop-type.h
src/aop.h

15 years agoAdded struct/union/enum types test.
Justin Seyster [Thu, 2 Sep 2010 22:24:20 +0000 (18:24 -0400)]
Added struct/union/enum types test.

15 years agoAdded pointer types test case.
Justin Seyster [Thu, 2 Sep 2010 22:20:20 +0000 (18:20 -0400)]
Added pointer types test case.

15 years agoAdded test case for matching floating point types.
Justin Seyster [Thu, 2 Sep 2010 21:46:46 +0000 (17:46 -0400)]
Added test case for matching floating point types.

15 years agoTest cases now work when the builddir is not the srcdir.
Justin Seyster [Thu, 2 Sep 2010 20:56:44 +0000 (16:56 -0400)]
Test cases now work when the builddir is not the srcdir.

15 years agoExit with error code when test case fails.
Justin Seyster [Thu, 2 Sep 2010 20:45:01 +0000 (16:45 -0400)]
Exit with error code when test case fails.

Fixed typo in failure message.

15 years agoHooked the run-testcase.py script into all the autoconf magic.
Justin Seyster [Thu, 2 Sep 2010 20:34:00 +0000 (16:34 -0400)]
Hooked the run-testcase.py script into all the autoconf magic.

Test cases can now be run with make check!

15 years agoAdded test case for integer type matching.
Justin Seyster [Thu, 2 Sep 2010 00:53:07 +0000 (20:53 -0400)]
Added test case for integer type matching.

15 years agoBetter error handling and reporting in run-testcase.py
Justin Seyster [Thu, 2 Sep 2010 00:39:27 +0000 (20:39 -0400)]
Better error handling and reporting in run-testcase.py

Testcases now report whether runs failed or succeeded.

15 years agorun-testcase.py now checks the output of the test program.
Justin Seyster [Thu, 2 Sep 2010 00:18:40 +0000 (20:18 -0400)]
run-testcase.py now checks the output of the test program.

15 years agoFixed misspelled assertion.
Justin Seyster [Thu, 2 Sep 2010 00:16:55 +0000 (20:16 -0400)]
Fixed misspelled assertion.

15 years agoTest script no longer automatically generates hooks.
Justin Seyster [Wed, 1 Sep 2010 19:34:56 +0000 (15:34 -0400)]
Test script no longer automatically generates hooks.

Instead, it is necessary to supply a user-written hooks in a separate
source file.  This makes the test case system much simpler and more
flexible.

15 years agoTrailing slash no longer necesseary for -with-ia-src-dir option.
Justin Seyster [Tue, 20 Jul 2010 01:26:27 +0000 (21:26 -0400)]
Trailing slash no longer necesseary for -with-ia-src-dir option.

15 years agoAdded the XML DTD for test case descriptions.
Justin Seyster [Tue, 20 Jul 2010 01:25:30 +0000 (21:25 -0400)]
Added the XML DTD for test case descriptions.

15 years agoDocumentation for new type functions.
Justin Seyster [Fri, 27 Aug 2010 01:13:49 +0000 (21:13 -0400)]
Documentation for new type functions.

15 years agoAdded convenience functions for specifying pointers to structs/unions.
Justin Seyster [Fri, 27 Aug 2010 00:15:28 +0000 (20:15 -0400)]
Added convenience functions for specifying pointers to structs/unions.

15 years agoAbility to create and match enum types.
Justin Seyster [Fri, 27 Aug 2010 00:08:35 +0000 (20:08 -0400)]
Ability to create and match enum types.

15 years agoAbility to create and match struct and union types.
Justin Seyster [Fri, 27 Aug 2010 00:00:29 +0000 (20:00 -0400)]
Ability to create and match struct and union types.

15 years agoDocumentation for aop_t_pointer_to().
Justin Seyster [Thu, 26 Aug 2010 01:28:57 +0000 (21:28 -0400)]
Documentation for aop_t_pointer_to().

15 years agoNow possible to match specific pointer types.
Justin Seyster [Thu, 26 Aug 2010 01:17:09 +0000 (21:17 -0400)]
Now possible to match specific pointer types.

15 years agoFixed wrong definitions for is_all_integer_type(), is_all_fp_type().
Justin Seyster [Thu, 26 Aug 2010 01:15:36 +0000 (21:15 -0400)]
Fixed wrong definitions for is_all_integer_type(), is_all_fp_type().

15 years agoDocumentation for fp types.
Justin Seyster [Tue, 24 Aug 2010 22:45:12 +0000 (18:45 -0400)]
Documentation for fp types.

15 years agoAdded specific types for different sized fp types.
Justin Seyster [Tue, 24 Aug 2010 22:38:05 +0000 (18:38 -0400)]
Added specific types for different sized fp types.

15 years agoCorrectly handle "all fp" types.
Justin Seyster [Tue, 24 Aug 2010 22:30:04 +0000 (18:30 -0400)]
Correctly handle "all fp" types.

15 years agoFixed Doxygen syntax error that got copy/paste propagated.
Justin Seyster [Tue, 24 Aug 2010 21:48:30 +0000 (17:48 -0400)]
Fixed Doxygen syntax error that got copy/paste propagated.

15 years agoDocumentation for integer types.
Justin Seyster [Tue, 24 Aug 2010 21:47:51 +0000 (17:47 -0400)]
Documentation for integer types.

15 years agoAdded specific types for different sized integers.
Justin Seyster [Tue, 24 Aug 2010 21:26:44 +0000 (17:26 -0400)]
Added specific types for different sized integers.

15 years agoDetailed comments for "all signed" and "all unsigned" types.
Justin Seyster [Tue, 24 Aug 2010 20:04:51 +0000 (16:04 -0400)]
Detailed comments for "all signed" and "all unsigned" types.

15 years agoCorrectly handle discrepancy between formal and actual parameters.
Justin Seyster [Tue, 24 Aug 2010 20:04:27 +0000 (16:04 -0400)]
Correctly handle discrepancy between formal and actual parameters.

A long comment in the commit describes the problem in (excruciating)
detail.

15 years agoCorrectly handle "all integer" types.
Justin Seyster [Tue, 24 Aug 2010 20:03:22 +0000 (16:03 -0400)]
Correctly handle "all integer" types.

Every integer value matched with aop_t_all_signed() or
aop_t_all_unsigned() now gets cast to long long integer or long long
unsigned (respectively).

15 years agoFixed bug involving labels in GIMPLE_COND statements.
Justin Seyster [Tue, 17 Aug 2010 00:03:17 +0000 (20:03 -0400)]
Fixed bug involving labels in GIMPLE_COND statements.

Turns out that once we're at the GIMPLE level, GIMPLE_CONDs should no
longer have labels.  The optimization routine that gets rid of
"forwarder" basic blocks is aware of this, so it does not update the
labes in the GIMPLE_COND when it redirects an edge.

The routine that cleans up unnecessary labels, however, sees these
labels, which may have been destroyed by the forwarder optimization,
and can crash as a result.

15 years agoFixed assertion failure when geting block index for a function param.
Justin Seyster [Mon, 16 Aug 2010 00:06:21 +0000 (20:06 -0400)]
Fixed assertion failure when geting block index for a function param.

15 years agoFixed crash when initial block has no first_stmt.
Justin Seyster [Sat, 14 Aug 2010 02:30:14 +0000 (22:30 -0400)]
Fixed crash when initial block has no first_stmt.

Still need to figure out how to correctly get the filename/lineno for
functions that have an entry block with no first_stmt.

15 years agoFixed bug when duplicating empty basic blocks.
Justin Seyster [Sat, 14 Aug 2010 01:59:36 +0000 (21:59 -0400)]
Fixed bug when duplicating empty basic blocks.

15 years agoAdded missing code block in find_lexical_block
Ketan Dixit [Wed, 4 Aug 2010 20:53:10 +0000 (16:53 -0400)]
Added missing code block in find_lexical_block

15 years agoFixed bug when trying to get the filename/lineno for a function entry.
Justin Seyster [Fri, 13 Aug 2010 23:26:44 +0000 (19:26 -0400)]
Fixed bug when trying to get the filename/lineno for a function entry.

15 years agoAdded documentation for join_on functions.
Justin Seyster [Fri, 13 Aug 2010 23:05:32 +0000 (19:05 -0400)]
Added documentation for join_on functions.

15 years agoMerge branch 'duplicate'
Justin Seyster [Fri, 13 Aug 2010 23:03:36 +0000 (19:03 -0400)]
Merge branch 'duplicate'

Conflicts:
src/aop-pc-assign.c
src/aop-pc-entry.c
src/aop-pc-exit.c
src/aop-pc-fun-call.c
src/aop-pointcut.c
src/aop-pointcut.h

15 years agoMerge branch 'workspace'
Justin Seyster [Fri, 13 Aug 2010 22:50:17 +0000 (18:50 -0400)]
Merge branch 'workspace'

15 years agoCapturing line no and file name of a joinpoint
Ketan Dixit [Fri, 13 Aug 2010 22:30:29 +0000 (18:30 -0400)]
Capturing line no and file name of a joinpoint

15 years agoIgnore Makefile again, now that autoconf generates it.
Justin Seyster [Fri, 13 Aug 2010 20:53:26 +0000 (16:53 -0400)]
Ignore Makefile again, now that autoconf generates it.

15 years agoWorkspace directory now works correctly when using separate build dir.
Justin Seyster [Fri, 13 Aug 2010 20:52:22 +0000 (16:52 -0400)]
Workspace directory now works correctly when using separate build dir.

15 years agoAdded documentation for the new aop_duplicate() function.
Justin Seyster [Fri, 13 Aug 2010 00:06:52 +0000 (20:06 -0400)]
Added documentation for the new aop_duplicate() function.

15 years agoPrevent an internal struct from appearing in the Doxygen docs.
Justin Seyster [Fri, 13 Aug 2010 00:06:40 +0000 (20:06 -0400)]
Prevent an internal struct from appearing in the Doxygen docs.

15 years agoaop_join_on_copy() support for function exit pointcuts.
Justin Seyster [Thu, 12 Aug 2010 23:23:46 +0000 (19:23 -0400)]
aop_join_on_copy() support for function exit pointcuts.

15 years agoaop_join_on_copy() support for function entry pointcuts.
Justin Seyster [Thu, 12 Aug 2010 22:59:51 +0000 (18:59 -0400)]
aop_join_on_copy() support for function entry pointcuts.

Added in_edge field to join points to support this feature.

15 years agoaop_join_on_copy() support for assignment pointcut.
Justin Seyster [Thu, 12 Aug 2010 20:13:01 +0000 (16:13 -0400)]
aop_join_on_copy() support for assignment pointcut.

15 years agoAdded aop_join_on_copy().
Justin Seyster [Thu, 12 Aug 2010 19:51:27 +0000 (15:51 -0400)]
Added aop_join_on_copy().

15 years agoThe two copies of a duplicated function are now available for joining.
Justin Seyster [Thu, 12 Aug 2010 19:30:38 +0000 (15:30 -0400)]
The two copies of a duplicated function are now available for joining.

The basic block pairs are now stored in globally accessible place and
are set up to get garbage collected when the pass ends.

15 years agoAdded support for duplicating a function.
Justin Seyster [Wed, 11 Aug 2010 23:41:13 +0000 (19:41 -0400)]
Added support for duplicating a function.

15 years agoUpdated comments to explain the new aop_capture_lhs_name() semantics.
Justin Seyster [Mon, 2 Aug 2010 22:47:20 +0000 (18:47 -0400)]
Updated comments to explain the new aop_capture_lhs_name() semantics.

15 years agoGenerate-unique-no-for-lexical-block-in-fun-scope
Ketan Dixit [Mon, 2 Aug 2010 21:47:33 +0000 (17:47 -0400)]
Generate-unique-no-for-lexical-block-in-fun-scope

15 years agoUpdated doxygen comments for aop_capture_lhs_var_scope.
Justin Seyster [Wed, 28 Jul 2010 00:51:43 +0000 (20:51 -0400)]
Updated doxygen comments for aop_capture_lhs_var_scope.

15 years agoAdded support for capturing lhs var scope
Ketan Dixit [Tue, 27 Jul 2010 22:34:41 +0000 (18:34 -0400)]
Added support for capturing lhs var scope

15 years agoSupport for reading in a header file's contents before overwriting it.
Justin Seyster [Mon, 19 Jul 2010 23:34:14 +0000 (19:34 -0400)]
Support for reading in a header file's contents before overwriting it.

Includes locking to prevent race conditions with parallel builds.

15 years agoMinor formatting.
Justin Seyster [Thu, 15 Jul 2010 23:30:55 +0000 (19:30 -0400)]
Minor formatting.

15 years agoAdded common init function for joinpoint
Ketan Dixit [Thu, 15 Jul 2010 22:44:13 +0000 (18:44 -0400)]
Added common init function for joinpoint

15 years agoAdded generic constructor for pointcut
Ketan Dixit [Wed, 14 Jul 2010 21:02:00 +0000 (17:02 -0400)]
Added generic constructor for pointcut

15 years agoAdded initial support for writing out a header file.
Justin Seyster [Thu, 15 Jul 2010 23:22:37 +0000 (19:22 -0400)]
Added initial support for writing out a header file.

15 years agoStore prototype for each advice function.
Justin Seyster [Wed, 14 Jul 2010 23:57:29 +0000 (19:57 -0400)]
Store prototype for each advice function.

15 years agoChanged (int) cast to (HOST_WIDE_INT) to prevent warnings on amd64.
Justin Seyster [Fri, 9 Jul 2010 21:19:33 +0000 (17:19 -0400)]
Changed (int) cast to (HOST_WIDE_INT) to prevent warnings on amd64.

Some style changes.

15 years agoAdded GENERATOR_FILE macro to prevent real.h from including mpc.h.
Justin Seyster [Fri, 9 Jul 2010 21:18:10 +0000 (17:18 -0400)]
Added GENERATOR_FILE macro to prevent real.h from including mpc.h.

15 years agoAdded float and void ptr params for weave func
Ketan Dixit [Fri, 9 Jul 2010 00:04:35 +0000 (20:04 -0400)]
Added float and void ptr params for weave func

15 years agoMerge branch 'master' into workspace
Justin Seyster [Thu, 8 Jul 2010 19:27:44 +0000 (15:27 -0400)]
Merge branch 'master' into workspace

15 years agoSet .gitignore files to export-ignore.
Justin Seyster [Thu, 8 Jul 2010 00:26:45 +0000 (20:26 -0400)]
Set .gitignore files to export-ignore.

15 years agoAdded a basic README file.
Justin Seyster [Thu, 8 Jul 2010 00:03:50 +0000 (20:03 -0400)]
Added a basic README file.

15 years agoDocumentation for the new workspace feature.
Justin Seyster [Wed, 7 Jul 2010 23:56:06 +0000 (19:56 -0400)]
Documentation for the new workspace feature.

15 years agoAdded a Hello World example plug-in.
Justin Seyster [Wed, 7 Jul 2010 23:55:34 +0000 (19:55 -0400)]
Added a Hello World example plug-in.

15 years agoAdded a workspace directory with plug-in Makefile.
Justin Seyster [Wed, 7 Jul 2010 23:31:37 +0000 (19:31 -0400)]
Added a workspace directory with plug-in Makefile.

15 years agoComprehensive guide for installing GCC and compiling InterAspect.
Justin Seyster [Wed, 7 Jul 2010 23:10:18 +0000 (19:10 -0400)]
Comprehensive guide for installing GCC and compiling InterAspect.

15 years agoMerge branch 'regimplify'
Justin Seyster [Tue, 6 Jul 2010 22:31:29 +0000 (18:31 -0400)]
Merge branch 'regimplify'

Conflicts:
src/aop-pc-exit.c

15 years agoFixed whitespace errors.
Justin Seyster [Tue, 6 Jul 2010 22:25:32 +0000 (18:25 -0400)]
Fixed whitespace errors.

15 years agoAdded regimplification for assignment ptcut
Ketan Dixit [Mon, 5 Jul 2010 20:52:24 +0000 (16:52 -0400)]
Added regimplification for assignment ptcut

15 years agoError on capturing return value in before advice.
Justin Seyster [Mon, 5 Jul 2010 20:55:05 +0000 (16:55 -0400)]
Error on capturing return value in before advice.

15 years agoMerge branch 'doxygen'
Justin Seyster [Sat, 3 Jul 2010 00:42:44 +0000 (20:42 -0400)]
Merge branch 'doxygen'

Conflicts:
src/aop-pc-fun-call.c

15 years agoAdded Doxygen main page and groups for each type of pointcut.
Justin Seyster [Sat, 3 Jul 2010 00:37:38 +0000 (20:37 -0400)]
Added Doxygen main page and groups for each type of pointcut.

15 years agoAdded Doxygen configuration.
Justin Seyster [Sat, 3 Jul 2010 00:01:34 +0000 (20:01 -0400)]
Added Doxygen configuration.

Added the Doxygen output directory to .gitignore.

15 years agoAdded aop_capture_called_function_name.
Justin Seyster [Fri, 2 Jul 2010 23:55:24 +0000 (19:55 -0400)]
Added aop_capture_called_function_name.

Fixed some error messages.

15 years agoFinshed function call parameter interface.
Justin Seyster [Fri, 2 Jul 2010 23:24:44 +0000 (19:24 -0400)]
Finshed function call parameter interface.

Added aop_filter_call_pc_by_param function to replace a handful of
temporary API functions.

Added aop_capture_param_by_type for capturing without filtering.

Replaced unnecessary get_return_value function with an equivalent
function already provided by GCC.

15 years agoAdded aop_capture_return_value_by_type().
Justin Seyster [Thu, 1 Jul 2010 23:29:40 +0000 (19:29 -0400)]
Added aop_capture_return_value_by_type().

15 years agoDocumented several functions.
Justin Seyster [Thu, 1 Jul 2010 22:27:33 +0000 (18:27 -0400)]
Documented several functions.

15 years agoAdded proper support for filtering calls by return type.
Justin Seyster [Wed, 30 Jun 2010 23:22:56 +0000 (19:22 -0400)]
Added proper support for filtering calls by return type.

15 years agoMake it always possible to capture function return values.
Justin Seyster [Wed, 30 Jun 2010 22:03:24 +0000 (18:03 -0400)]
Make it always possible to capture function return values.

op_get_return_value() can now capture the return value for function calls
that do not directly store the return value (previous it would crash).

15 years agoPreparations for adding doxygen support.
Justin Seyster [Wed, 30 Jun 2010 19:31:23 +0000 (15:31 -0400)]
Preparations for adding doxygen support.

Added necessary documentation to aop.h to make doxygen generate
browsable HTML documentation.

15 years agoCleaned up function exit pointcuts so that after advice works.
Justin Seyster [Fri, 18 Jun 2010 21:12:44 +0000 (17:12 -0400)]
Cleaned up function exit pointcuts so that after advice works.

Also documented the use of before and after advice in detail in the
aop_insert_advice() documentation.

15 years agoCleaned up function entry pointcut.
Justin Seyster [Fri, 18 Jun 2010 02:10:49 +0000 (22:10 -0400)]
Cleaned up function entry pointcut.

Fixed bug because of uninitialized function_name field in the
pointcut.

Added a prepare function that guards against the case of adding to a
function that begins with a label.

Renamed the filter by name function.

15 years agoFixed style problems in aop.h.
Justin Seyster [Fri, 18 Jun 2010 01:10:38 +0000 (21:10 -0400)]
Fixed style problems in aop.h.

15 years agoMoved PAUSE_ON_START back where it belongs.
Justin Seyster [Mon, 7 Jun 2010 22:59:23 +0000 (18:59 -0400)]
Moved PAUSE_ON_START back where it belongs.