Avoid dead conditional decodes in instr_is_cti and instr_is_exit_cti

These predicates call down to many other predicates which each call
instr_get_opcode() individually.  Each instr_get_opcode() does an opcode
check and generates dead code to decode the opcode.  Worse, because the
decode could modify the instr flags, this confuses alias analysis, so
further flags checks must reload and retest flags.

By using opcode predicates, which get inlined into each instr predicate,
we get a ~2% improvement on DumpRenderTree.

Review URL: https://codereview.appspot.com/7198046

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1848 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fixes issue 1055

More complete fix for original r1841: handle meta instrs in
drutil_expand_rep_string_ex() as they're added by drwrap_replace_native()
and other app2app xforms.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1849 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Add links to event registration routines to the event list in the
documentation

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1850 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Add a hashtable instantiation with strings as the key.
This is needed for more efficient loader redirection for replacing more and
more of kernel32.dll.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1851 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Part of i#1063: system library replacement: refactor redirection.

Refactor Windows system library redirection out of loader.c and into
separate files per module in new core/win32/drwinapi/ directory.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1852 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Part of i#1063: system library replacement: use hashtables.

Switch to using hashtables to look up redirection routines, rather than a
linear walk.  Hundreds of new routines will be added, necessitating a more
efficient lookup.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1853 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
i#1063: system library replacement: kernel32 decls.

Add declarations and skeleton support for the 200+ kernel32 routines we
want to intercept: the union of C++, msvcrt, and dbghelp imports.
There is no implementation for any of the new ones, but with the headers
there it makes it easy to start incrementally implementing them.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1854 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Remove WINAPI from nt_raw routines, to match the conventions of DR-internal routines.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1855 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
fix VS2008 build failures from r1854

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1856 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6