From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19062 invoked by alias); 17 Jun 2008 07:35:15 -0000 Received: (qmail 19044 invoked by uid 9514); 17 Jun 2008 07:35:14 -0000 Date: Tue, 17 Jun 2008 07:35:00 -0000 Message-ID: <20080617073514.19021.qmail@sourceware.org> From: pmuldoon@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Process watchpoint events as a whole rather than iterating over the whole physical range. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 8168d6edcf7a58fc490b9a4d37647b3576345334 X-Git-Newrev: 9cdb46341ee8c766593debd5b3a43f2715b41bc6 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q2/txt/msg00377.txt.bz2 The branch, master has been updated via 9cdb46341ee8c766593debd5b3a43f2715b41bc6 (commit) from 8168d6edcf7a58fc490b9a4d37647b3576345334 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 9cdb46341ee8c766593debd5b3a43f2715b41bc6 Author: Phil Muldoon Date: Tue Jun 17 08:34:59 2008 +0100 Process watchpoint events as a whole rather than iterating over the whole physical range. Lay the foundation for better information from the watchpoint hardware abstraction to the higher levels. (Ie why watchpoints triggered). 2008-06-16 Phil Muldoon * WatchpointFunctions.java (getTriggeredWatchpoints): New. 2008-06-16 Phil Muldoon * LinuxPtraceTaskState.java (Running.checkWatchpoint): Rewrite to use WatchpointFunctions.getTriggeredWatchpoints(). ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/isa/watchpoints/ChangeLog | 4 ++ .../frysk/isa/watchpoints/WatchpointFunctions.java | 19 ++++++++++- frysk-core/frysk/proc/live/ChangeLog | 5 +++ .../frysk/proc/live/LinuxPtraceTaskState.java | 34 ++++++++++--------- 4 files changed, 44 insertions(+), 18 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/isa/watchpoints/ChangeLog b/frysk-core/frysk/isa/watchpoints/ChangeLog index 0dd75aa..74e9127 100644 --- a/frysk-core/frysk/isa/watchpoints/ChangeLog +++ b/frysk-core/frysk/isa/watchpoints/ChangeLog @@ -1,3 +1,7 @@ +2008-06-16 Phil Muldoon + + * WatchpointFunctions.java (getTriggeredWatchpoints): New. + 2008-06-05 Phil Muldoon * WatchpointFunctions.java (getWatchpointMinLength): New. diff --git a/frysk-core/frysk/isa/watchpoints/WatchpointFunctions.java b/frysk-core/frysk/isa/watchpoints/WatchpointFunctions.java index 994d0cb..2196016 100644 --- a/frysk-core/frysk/isa/watchpoints/WatchpointFunctions.java +++ b/frysk-core/frysk/isa/watchpoints/WatchpointFunctions.java @@ -42,6 +42,7 @@ package frysk.isa.watchpoints; import java.util.ArrayList; import java.util.List; + import frysk.proc.Task; public abstract class WatchpointFunctions { @@ -107,13 +108,27 @@ public abstract class WatchpointFunctions { **/ public List getAllWatchpoints(Task task) { List listOfWP = new ArrayList(); - for (int i=0; i + + * LinuxPtraceTaskState.java (Running.checkWatchpoint): Rewrite to use + WatchpointFunctions.getTriggeredWatchpoints(). + 2008-06-12 Andrew Cagney * LinuxPtraceProc.java (getExe()): Delete. diff --git a/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java b/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java index a819b9a..88286dc 100644 --- a/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java +++ b/frysk-core/frysk/proc/live/LinuxPtraceTaskState.java @@ -39,18 +39,20 @@ package frysk.proc.live; -import frysk.sys.SignalSet; -import frysk.sys.proc.Status; +import java.util.Collection; +import java.util.Iterator; +import java.util.List; + import frysk.isa.watchpoints.WatchpointFunctionFactory; import frysk.isa.watchpoints.WatchpointFunctions; -import frysk.proc.TaskObserver; -import frysk.proc.Observer; import frysk.proc.Observable; -import java.util.Collection; -import java.util.Iterator; -import frysk.sys.Signal; +import frysk.proc.Observer; +import frysk.proc.TaskObserver; import frysk.rsl.Log; import frysk.rsl.LogFactory; +import frysk.sys.Signal; +import frysk.sys.SignalSet; +import frysk.sys.proc.Status; /** * A Linux Task's State tracked using PTRACE. @@ -938,15 +940,15 @@ abstract class LinuxPtraceTaskState extends State { if (watchpointFunction == null) { return blockers; } - for (int i=0; i