A different kind of Walter? :-)

Sean Kelly sean at f4.ca
Fri Apr 20 11:25:47 PDT 2007


Lionello Lunesu wrote:
> "Sean Kelly" <sean at f4.ca> wrote in message 
> news:f09ouq$2ium$1 at digitalmars.com...
>> Lionello Lunesu wrote:
>>> Walter Bright wrote:
>>>> David B. Held wrote:
>>>>> That being said, I think it would be *particularly* clever of you to 
>>>>> use your start-from-scratch kernel to explore new ideas in 
>>>>> multi-processing and massive multithreading, but this would imply 
>>>>> having decent multi-CPU hardware to play with.
>>>> I'd also like to see better operating system support for garbage 
>>>> collection - either making gc an operating system service, or providing 
>>>> hooks to the virtual memory subsystem so the gc can tell when pages are 
>>>> dirty.
>>> I wish there were a function like VirtualRealloc that would grow a memory 
>>> block without EVER having to physically move the data.
>>>
>>> (That doesn't exist in Win32, does it?)
>> I don't think so.  If you have some data whose logical address range is 
>> bounded by other data, I don't think it would be possible for it to grow 
>> without being moved.
> 
> I don't care if there address changes, just as long as there's no data being 
> copied physically. I mean, a block of continuous memory might already be 
> all-over-the-place in physical memory. That's what I want: a VirtualRealloc 
> that returns the address of a new virtual memory block, but which is using 
> the same physical memory.. 'Free' array resizes, surely this is worth 
> something!

Hm, assuming there is nothing else of the page(s) but the data to move, 
it should be possible to do so without explicit copying.  I have no idea 
is VirtualAlloc can do this, but it's definitely possible.


Sean



More information about the Digitalmars-d mailing list