public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
* [Fwd: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...]
@ 2007-04-16  0:00 Andrew Cagney
  2007-04-16 17:40 ` Phil Muldoon
  0 siblings, 1 reply; 3+ messages in thread
From: Andrew Cagney @ 2007-04-16  0:00 UTC (permalink / raw)
  To: frysk

[-- Attachment #1: Type: text/plain, Size: 358 bytes --]

FYI,

This patch tests the ByteBuffer.slice methods of AddressSpaceByteBuffer, 
and RegisterSetByteBuffer.  Using slice lets us avoid copying around 
memory and register values.  For instance, given a large array variable, 
instead of copying its value into an ArrayByteBuffer, a slice of memory, 
containing just the array variable can be created.

Andrew


[-- Attachment #2: frysk-core/frysk/proc/ptrace AddressSpaceByteB ... --]
[-- Type: message/rfc822, Size: 2807 bytes --]

From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...
Date: 15 Apr 2007 23:54:24 -0000
Message-ID: <20070415235424.20889.qmail@sourceware.org>

CVSROOT:	/cvs/frysk
Module name:	frysk-core
Changes by:	cagney@sourceware.org	2007-04-16 00:54:24

Modified files:
	frysk/proc/ptrace: AddressSpaceByteBuffer.java ChangeLog 
	                   RegisterSetByteBuffer.java 
Added files:
	frysk/proc/ptrace: TestByteBuffer.java 

Log message:
	Index: frysk-core/frysk/proc/ptrace/ChangeLog
	2007-04-15  Andrew Cagney  <cagney@redhat.com>
	
	* TestByteBuffer.java: New file.
	* RegisterSetByteBuffer.java (subBuffer): Add.
	* AddressSpaceByteBuffer.java (subBuffer): Ditto.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ptrace/TestByteBuffer.java.diff?cvsroot=frysk&r1=NONE&r2=1.1
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ptrace/AddressSpaceByteBuffer.java.diff?cvsroot=frysk&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ptrace/ChangeLog.diff?cvsroot=frysk&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/frysk-core/frysk/proc/ptrace/RegisterSetByteBuffer.java.diff?cvsroot=frysk&r1=1.1&r2=1.2


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Fwd: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...]
  2007-04-16  0:00 [Fwd: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...] Andrew Cagney
@ 2007-04-16 17:40 ` Phil Muldoon
  2007-04-16 19:16   ` Andrew Cagney
  0 siblings, 1 reply; 3+ messages in thread
From: Phil Muldoon @ 2007-04-16 17:40 UTC (permalink / raw)
  To: Andrew Cagney; +Cc: frysk

Andrew Cagney wrote:
> FYI,
>
> This patch tests the ByteBuffer.slice methods of 
> AddressSpaceByteBuffer, and RegisterSetByteBuffer.  Using slice lets 
> us avoid copying around memory and register values.  For instance, 
> given a large array variable, instead of copying its value into an 
> ArrayByteBuffer, a slice of memory, containing just the array variable 
> can be created.


Great, I'll start altering fcore to stream data from a slice() to disk 
directly instead of  trying to load it up in ElfSections first. I'll 
probably want to stream 4k chunks from the slice'd buffer to disk at a 
time Will the underlying bulk get() mechanism compensate by using 
/proc/$$/mem over ptrace.peek eventually? Or is that something I should 
do when the frysk and ptrace threads are merged?

Regards

Phil

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [Fwd: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...]
  2007-04-16 17:40 ` Phil Muldoon
@ 2007-04-16 19:16   ` Andrew Cagney
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Cagney @ 2007-04-16 19:16 UTC (permalink / raw)
  To: Phil Muldoon; +Cc: frysk

Phil Muldoon wrote:
> Andrew Cagney wrote:
>> FYI,
>>
>> This patch tests the ByteBuffer.slice methods of 
>> AddressSpaceByteBuffer, and RegisterSetByteBuffer.  Using slice lets 
>> us avoid copying around memory and register values.  For instance, 
>> given a large array variable, instead of copying its value into an 
>> ArrayByteBuffer, a slice of memory, containing just the array 
>> variable can be created.
>
>
> Great, I'll start altering fcore to stream data from a slice() to disk 
> directly instead of  trying to load it up in ElfSections first. I'll 
> probably want to stream 4k chunks from the slice'd buffer to disk at a 
> time Will the underlying bulk get() mechanism compensate by using 
> /proc/$$/mem over ptrace.peek eventually? Or is that something I 
> should do when the frysk and ptrace threads are merged?

Right.  The underlying mechanism will eventually start compensating by 
using /proc/$$/mem when available (possibly with a customized 
frysk.proc.ptrace.MemoryByteBuffer).  It has messy details, such as 
/proc/$$/mem only sometimes working so not the sort of thing the 
high-level core file code should be involved in.

Andrew

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-04-16 19:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-04-16  0:00 [Fwd: frysk-core/frysk/proc/ptrace AddressSpaceByteB ...] Andrew Cagney
2007-04-16 17:40 ` Phil Muldoon
2007-04-16 19:16   ` Andrew Cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).