interaspect.git
14 years agoFixed precision-lossy cast to float.
Justin Seyster [Wed, 20 Oct 2010 19:54:34 +0000 (15:54 -0400)]
Fixed precision-lossy cast to float.

14 years agoCorrectly set types for constant values.
Justin Seyster [Wed, 20 Oct 2010 18:48:36 +0000 (14:48 -0400)]
Correctly set types for constant values.

14 years agoClarify documentation for AOP_INT_CST.
Justin Seyster [Wed, 20 Oct 2010 18:48:16 +0000 (14:48 -0400)]
Clarify documentation for AOP_INT_CST.

14 years agoRenamed AOP_FLOAT_CST() to AOP_DOUBLE_CST().
Justin Seyster [Wed, 20 Oct 2010 18:38:06 +0000 (14:38 -0400)]
Renamed AOP_FLOAT_CST() to AOP_DOUBLE_CST().

That's actually what it was, and naming it with FLOAT was confusing.

14 years agoNo longer need a join point to find out the current function name.
Justin Seyster [Wed, 20 Oct 2010 18:24:35 +0000 (14:24 -0400)]
No longer need a join point to find out the current function name.

14 years agoNew README file. Clarification about Autotools in INSTALL.
Justin Seyster [Wed, 20 Oct 2010 01:00:32 +0000 (21:00 -0400)]
New README file.  Clarification about Autotools in INSTALL.

14 years agoCopyright and licensing clarifications. Added runtime exception.
Justin Seyster [Tue, 19 Oct 2010 23:12:58 +0000 (19:12 -0400)]
Copyright and licensing clarifications.  Added runtime exception.

14 years agoFixed bug caused by trying to do casts directly in advice calls.
Justin Seyster [Wed, 13 Oct 2010 00:39:20 +0000 (20:39 -0400)]
Fixed bug caused by trying to do casts directly in advice calls.

14 years agoMerge branch 'in_param'
Justin Seyster [Thu, 23 Sep 2010 22:59:06 +0000 (18:59 -0400)]
Merge branch 'in_param'

14 years agoUpdated docs for in_params.
Justin Seyster [Thu, 23 Sep 2010 22:58:16 +0000 (18:58 -0400)]
Updated docs for in_params.

14 years agoAdded test case for in_param support on all pointcut types.
Justin Seyster [Thu, 23 Sep 2010 22:36:35 +0000 (18:36 -0400)]
Added test case for in_param support on all pointcut types.

14 years agoAdded in_param filtering to all pointcuts.
Justin Seyster [Thu, 23 Sep 2010 22:28:26 +0000 (18:28 -0400)]
Added in_param filtering to all pointcuts.

14 years agoFixed check_in_params().
Justin Seyster [Thu, 23 Sep 2010 20:36:17 +0000 (16:36 -0400)]
Fixed check_in_params().

14 years agoAdded test case for inparams.
Justin Seyster [Thu, 23 Sep 2010 00:24:27 +0000 (20:24 -0400)]
Added test case for inparams.

14 years agoFixed uninitialized variable warning.
Justin Seyster [Thu, 23 Sep 2010 00:24:08 +0000 (20:24 -0400)]
Fixed uninitialized variable warning.

14 years agoGeneric param capture for pointcut
Ketan Dixit [Thu, 16 Sep 2010 00:06:29 +0000 (20:06 -0400)]
Generic param capture for pointcut

14 years agoDistributor prototypes now appear in header files. (With test case.)
Justin Seyster [Thu, 9 Sep 2010 00:45:18 +0000 (20:45 -0400)]
Distributor prototypes now appear in header files. (With test case.)

14 years agoAdded duplication test case.
Justin Seyster [Thu, 9 Sep 2010 00:34:13 +0000 (20:34 -0400)]
Added duplication test case.

14 years agoAdded noinstrument attribute (with test case).
Justin Seyster [Thu, 9 Sep 2010 00:18:56 +0000 (20:18 -0400)]
Added noinstrument attribute (with test case).

14 years agoAssign join points also do not instrument advice calls.
Justin Seyster [Wed, 8 Sep 2010 02:49:49 +0000 (22:49 -0400)]
Assign join points also do not instrument advice calls.

The only time an advice call would appear in an assignment is when
it's a distributor function.  A modification to
duplicate_function_body() was also necessary so that the inserted
distributor call is in the advice table.

14 years agoMake sure not to instrument calls to advice functions.
Justin Seyster [Wed, 8 Sep 2010 02:17:20 +0000 (22:17 -0400)]
Make sure not to instrument calls to advice functions.

Along with relevant test cases.

14 years agoFixed aop_register_pass() order.
Justin Seyster [Wed, 8 Sep 2010 02:04:16 +0000 (22:04 -0400)]
Fixed aop_register_pass() order.

We now insert BEFORE "veclower" instead of AFTER "cfg."  The result is
the same when inserting just one pass, but when inserting multiple
passes, the order is preserved (i.e., passes occur in the same order
as they were inserted).

14 years agoAdded a new initialization pass.
Justin Seyster [Wed, 8 Sep 2010 01:50:05 +0000 (21:50 -0400)]
Added a new initialization pass.

14 years agoMerge branch 'autoheaders'
Justin Seyster [Wed, 8 Sep 2010 00:47:18 +0000 (20:47 -0400)]
Merge branch 'autoheaders'

14 years agoCheck prototypes for struct/union/enum types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:25:21 +0000 (18:25 -0400)]
Check prototypes for struct/union/enum types testcase.

14 years agoCheck prototypes for pointer types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:24:45 +0000 (18:24 -0400)]
Check prototypes for pointer types testcase.

14 years agoCheck prototypes for float types testcase.
Justin Seyster [Tue, 7 Sep 2010 22:24:22 +0000 (18:24 -0400)]
Check prototypes for float types testcase.

14 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.

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

14 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.

14 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.

14 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.

14 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.

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

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

14 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.

14 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.

14 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.

14 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.

14 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

14 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.

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

14 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.

14 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.

14 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.

14 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!

14 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.

14 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.

14 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.

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

14 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.

14 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.

14 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.

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

14 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.

14 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.

14 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.

14 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().

14 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.

14 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().

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

14 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.

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

14 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.

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

14 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.

14 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.

14 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.

14 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.