fixes issue 1118

Addes entries for OP_bsr with 0x66 or 0xf2.
Adds a test of such encodings.

Adds DR_DISASM_STRICT_INVALID, part of disassemble_set_syntax(), which I'm
expanding to cover decoding options as well.  This flag sets the new option
-decode_strict.  By default, DR now treats all invalid prefix extensions as
valid variants of the base, which is the conservative approach DR wants (as
it knows the length); plus, it matches gdb and windbg.  But the option/flag
will cause DR to treat these as invalid.
Added a test of the flag.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1991 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Fix OP_popcnt decoding entry: it's only valid with 0xf3 prefix.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1992 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Fixes regression from r1978 where drmarker windbg cmds were set up
before the full private library list was initialized.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1993 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
- force bbcov to create new log file only

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

Adds option -fast_client_decode which we're not yet ready to recommend as
it has some issues.  To use it, we disallow:

+ modifying app code: client must observe only
+ DR_EMIT_STORE_TRANSLATIONS
+ cannot use libs/extensions that need all instructions:
  so no drutil rep expansion, no drwrap

The option disables full decode, resulting in level 0 bundles.  But, DR's
own analysis (e.g., find_syscall_num()) sometimes expands those bundles.
For that, I added a query expand_should_set_translation() which if true
during expansion leads to the translation field being set to the raw bytes
pointer.

For a better fix, we may want to implement i#805's "Idea 1" and have
instr_get_next() auto-expand.  (Note that we don't want "Idea 2" == bb
filters, nor -null_instrument_list, as our target here does want to see all
bbs.)  Then we'd add instr_get_next_noexpand() or sthg.  Then, something
like the bbcov client can remain fast, but if it accidentally or
unknowningly pulls in a library that walks the instrlist and assumes Level
3+, it works and is just slower, instead of breaking.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1995 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Register for nudge and syscall filter events.

This fixes a hang in browser_tests and properly generates data for all
chrome sub-processes.

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1996 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Use READ_TLS_SLOT_IMM in get_thread_private_dcontext()

By using %P[0-9] we can get gcc to emit inline asm without a leading $
on the immediate operand.

This fixes a FIXME and gives a minor boost to native_exec where
get_thread_private_dcontext is hot.

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

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