Add 4-byte-check only mode in pattern mode
- Add pattern_max_2byte_fault option
- Add 4-byte-check-only instrumentation
- Add 4-byte-check-only field in bb_info and bb_save_info for translation
- Add code cache flush for switching from 2-byte check to 4-byte check only
- Add flush_lock for code flush without flush storm.

git-svn-id: https://drmemory.googlecode.com/svn/trunk@864 5b54908e-ead4-fc18-b48a-0285e6dbc711
i#893: Rtl Heap API replacement, part 6:
+ add Rtl routine handlers for core routines
+ add NYI stubs for some non-core Rtl routines
+ add arena iteration via list of arenas per Heap
+ fix bugs in handling external queries vs pre-us allocs

git-svn-id: https://drmemory.googlecode.com/svn/trunk@865 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixed issue 892
- rename test register-pattern to register.pattern
- adjust pad size without header size

git-svn-id: https://drmemory.googlecode.com/svn/trunk@866 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixes issue 856
+ add -callstack_dump_stack option, DEBUG-only, for logging the
  app's stack "dds"-style to make it easier to diagnose callstack
  problems

git-svn-id: https://drmemory.googlecode.com/svn/trunk@867 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixes issue 870
+ add option -zero_retaddr, on by default in all modes (b/c perf
  hit is quite small) to eliminate stale retaddrs and
  thus improve callstacks, in particular for -light
+ relies on DRi#782 dr_clobber_retaddr_after_read()

git-svn-id: https://drmemory.googlecode.com/svn/trunk@868 5b54908e-ead4-fc18-b48a-0285e6dbc711
update to r1379 for DRi#782 dr_clobber_retaddr_after_read

git-svn-id: https://drmemory.googlecode.com/svn/trunk@869 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixes issue 899
+ relax GDI check for deleting an object that is selected into a DC
  to only report when a "drawing object" is deleted

git-svn-id: https://drmemory.googlecode.com/svn/trunk@870 5b54908e-ead4-fc18-b48a-0285e6dbc711
Enable 64-bit build in Linux and Windows
- Update CMakeLists.txt to allow 64-bit building
- Add lib64 option for running 64-bit Dr.Memory
- Add many type cast
- Disable some syscall handling
- Config only two tests for 64-bit pattern mode.
- Replace regs in _CONTEXT
- add ASSERT_TRUNCATE

git-svn-id: https://drmemory.googlecode.com/svn/trunk@871 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixed issue 902
- set only one byte on the unaddressable memory address

git-svn-id: https://drmemory.googlecode.com/svn/trunk@872 5b54908e-ead4-fc18-b48a-0285e6dbc711
replace dr_mutex_trylock(&flush_lock) with dr_mutex_trylock(flush_lock)

git-svn-id: https://drmemory.googlecode.com/svn/trunk@873 5b54908e-ead4-fc18-b48a-0285e6dbc711
aflags save/restore optimization
- keep aflags in eax if eax is not used by app.
- add field in bb_info_t and bb_saved_info_t to indicate where aflags is saved

git-svn-id: https://drmemory.googlecode.com/svn/trunk@874 5b54908e-ead4-fc18-b48a-0285e6dbc711
update DynamoRIO to r1381 for fixed clean call

git-svn-id: https://drmemory.googlecode.com/svn/trunk@875 5b54908e-ead4-fc18-b48a-0285e6dbc711
add optimization for rep string ops
- add runtime option to control this optimization
- instrument rep string ops in instru2instru pass
- make an inner loop for repeated string ops execution
- move aflags save/restore out of loop

git-svn-id: https://drmemory.googlecode.com/svn/trunk@876 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixed bug in pattern-opt-repstr
- when pattern-opt-repstr is off, the aflags should be saved before jecxz
  for the loop expanded from rep string

git-svn-id: https://drmemory.googlecode.com/svn/trunk@877 5b54908e-ead4-fc18-b48a-0285e6dbc711
fixed a pattern mode bug
- avoid code for shadow mode executed in pattern mode

git-svn-id: https://drmemory.googlecode.com/svn/trunk@878 5b54908e-ead4-fc18-b48a-0285e6dbc711
Port pattern mode to 64-bit Linux
- change calls in replaced realloc to indirect jumps via stub in x64
- adjust raw syscall calling code in 64-bit Linux
- replace int 0x80 with syscall
- set pattern mode as the default -light mode in 64-bit
- replace SEG_FS with seg_tls for 64-bit TLS segment support

git-svn-id: https://drmemory.googlecode.com/svn/trunk@879 5b54908e-ead4-fc18-b48a-0285e6dbc711
add pattern_opt_elide_overlap optimiation:
- This optimization removes the instrumented check if it overlaps existing checks

git-svn-id: https://drmemory.googlecode.com/svn/trunk@880 5b54908e-ead4-fc18-b48a-0285e6dbc711