Date: | Thu, 27 Aug 2015 15:35:49 -0500 |
---|---|
From: | Xiaozhu Meng <xmeng@xxxxxxxxxxx> |
Subject: | Re: [DynInst_API:] Slice on base + displacement? |
Hi Mohamed, If you only want to include instructions that affect the address calculation and ignore the instructions that change the memory contents, you can extend the Slicer::Predicate class to achieve the purpose. Basically, a predicate tells the slicer when to stop slicing and what to ignore during the slicing. You can then use a predicate to tell the slicer to ignore instructions that change memory contents. Specifically, you can have code like: class MyPredicate: public Slicer::Predicate {  Âvirtual bool endAtPoint(AssignmentPtr assign) {     /* Tell the slicer to stop when the instruction       writes memory */     return assign->insn()->writesMemory();    Â} }; By using a customized predicate, you can better control your slice. Thanks --Xiaozhu On Thu, Aug 27, 2015 at 2:51 PM, Mohamed Elsabagh <melsabag@xxxxxxx> wrote:
|
[← Prev in Thread] | Current Thread | [Next in Thread→] |
---|---|---|
|
Previous by Date: | [DynInst_API:] Slice on base + displacement?, Mohamed Elsabagh |
---|---|
Next by Date: | Re: [DynInst_API:] Slice on base + displacement?, Mohamed Elsabagh |
Previous by Thread: | [DynInst_API:] Slice on base + displacement?, Mohamed Elsabagh |
Next by Thread: | Re: [DynInst_API:] Slice on base + displacement?, Mohamed Elsabagh |
Indexes: | [Date] [Thread] |