|
From: <sv...@va...> - 2012-04-21 00:28:03
|
sewardj 2012-04-21 01:27:56 +0100 (Sat, 21 Apr 2012)
New Revision: 12519
Log:
Update, post-merge.
Modified files:
trunk/docs/internals/t-chaining-notes.txt
Modified: trunk/docs/internals/t-chaining-notes.txt (+24 -5)
===================================================================
--- trunk/docs/internals/t-chaining-notes.txt 2012-04-21 01:03:16 +01:00 (rev 12518)
+++ trunk/docs/internals/t-chaining-notes.txt 2012-04-21 01:27:56 +01:00 (rev 12519)
@@ -1,11 +1,9 @@
-DO NOT MERGE
+Finishing up
~~~~~~~~~~~~
+redo dispatch-x86-darwin.S and dispatch-amd64-darwin.S
-Changes memcheck/tests/Makefile.am w.r.t. -mfloat-abi=softfp
-Ditto none/tests/arm/Makefile.am
-
Verification todo
~~~~~~~~~~~~~~~~~
check that illegal insns on all targets don't cause the _toIR.c's to
@@ -19,14 +17,17 @@
all targets: run some tests using --profile-flags=... to exercise
function patchProfInc_<arch>
+figure out if there is a way to write a test program that checks
+that event checks are actually getting triggered
+
Cleanups
~~~~~~~~
host_arm_isel.c and host_arm_defs.c: get rid of global var arm_hwcaps.
host_x86_defs.c, host_amd64_defs.c: return proper VexInvalRange
records from the patchers, instead of {0,0}, so that transparent
-self hosting works properly.
+self hosting works properly. Ditto for s390 ?
host_ppc_defs.h: is RdWrLR still needed? If not delete.
@@ -37,7 +38,22 @@
all backends: iselStmt(Ist_Exit) vs iselNext: make sure that the same
JKs are handled, else it's not safe against branch sense switching
+Comments that used to be in m_scheduler.c:
+ tchaining tests:
+ - extensive spinrounds
+ - with sched quantum = 1 -- check that handle_noredir_jump
+ doesn't return with INNER_COUNTERZERO
+ other:
+ - out of date comment w.r.t. bit 0 set in libvex_trc_values.h
+ - can VG_TRC_BORING still happen? if not, rm
+ - memory leaks in m_transtab (InEdgeArr/OutEdgeArr leaking?)
+ - move do_cacheflush out of m_transtab
+ - more economical unchaining when nuking an entire sector
+ - ditto w.r.t. cache flushes
+ - verify case of 2 paths from A to B
+ - check -- is IP_AT_SYSCALL still right?
+
Optimisations
~~~~~~~~~~~~~
all targets: change VG_(stats__n_xindirs) to a 32 bit counter, and
@@ -49,6 +65,9 @@
arm: chain_XDirect: generate short form jumps when possible
ppc: chain_XDirect: generate short form jumps when possible
+ppc64: immediate generation is terrible .. should be able
+ to do better
+
arm codegen: Generate ORRS for CmpwNEZ32(Or32(x,y))
all targets: when nuking an entire sector, don't bother to undo the
|