Hi Clemens,

thanks a lot for your help. You are brilliant! Your solution works out of 
the box ;)

[image: wasm_memory.png]
Now I can finally tackle those bugs in the Wasm code.

Kind regards,
Immanuel

Am Dienstag, 22. September 2020 12:30:43 UTC+2 schrieb Clemens Backes:
>
> Hi Immanuel,
>
> the problem is probably related to your manipulation of the raw memory 
> pointer <https://groups.google.com/g/v8-dev/c/jQMLH3EkCoM/m/gHw9elpKDwAJ>. 
> For debugging, we are not using this pointer, but the WasmMemoryObject 
> <https://source.chromium.org/chromium/chromium/src/+/master:v8/src/wasm/wasm-objects.h;l=289;drc=69ca751bc8aace8c15a6a2d2e22d1658914e4145>
>  
> which is attached to the WasmInstanceObject 
> <https://source.chromium.org/chromium/chromium/src/+/master:v8/src/wasm/wasm-objects.h;l=370;drc=ee9e7e404e5a3f75a3ca0489aaf80490f625ca27>.
>  
> This one is still pointing to the original memory, not the one you set via 
> your added "SetWasmInstanceRawMemory" function.
>
> The WasmMemoryObject has an attached JSArrayBuffer. Maybe you can set the 
> backing store of that array buffer to point to your external memory?
> It should be clear that this is totally unsupported territory, so you will 
> have to try if that hack works.
>
> I am thinking something along the lines of (extending 
> your SetWasmInstanceRawMemory function):
> void SetWasmInstanceRawMemory(Local<Object> wasmInstance, uint8_t* 
> mem_start,
>                               size_t mem_size) {
>   auto instance =
>       
> i::Handle<i::WasmInstanceObject>::cast(Utils::OpenHandle(*wasmInstance));
>   auto* i_isolate = 
> reinterpret_cast<i::Isolate*>(wasmInstance->GetIsolate());
>   instance->SetRawMemory(mem_start, mem_size);
>   std::unique_ptr<i::BackingStore> backing_store =
>       i::BackingStore::WrapAllocation(i_isolate, mem_start, mem_size,
>                                       i::SharedFlag::kNotShared, false);
>   
> instance->memory_object().array_buffer().Attach(std::move(backing_store));
> }
>
> This code comes without any guarantees, it might or might not work, but 
> maybe it helps you understand the problem and develop a working solution 
> from there.
>
> Cheers,
> Clemens
>
>
> On Tue, Sep 22, 2020 at 11:46 AM Immanuel Haffner <haffner...@gmail.com 
> <javascript:>> wrote:
>
>> I upgraded V8 to v8.6.405 and Chromium to 85.  Still the problem persists 
>> that the Wasm linear memory appears "all zeroes" although the Wasm code 
>> reads the correct data.  Could anybody please provide some help?
>>
>> Immanuel Haffner schrieb am Montag, 14. September 2020 um 14:21:28 UTC+2:
>>
>>> Hi all,
>>>
>>> I am trying to debug Wasm code that manipulates its linear memory.  I am 
>>> running the code in embedded V8 and I am using the V8 inspector API to 
>>> connect with CDT. Although I can verify on the embedder's side that the 
>>> linear memory was manipulated, all I see in CDT is zeroes.  The attached 
>>> image shows what I mean.
>>>
>>> [image: Screenshot_20200914_141705.png]
>>> The memory of the Wasm instance is "all zeroes". What am I doing wrong? 
>>> Using the V8 API from the embedder I can verify that the linear memory was 
>>> written and contains some data I'd expect to see in CDT.
>>>
>>> Do you have any ideas what I am doing wrong?
>>>
>>> Thanks & regards,
>>> Immanuel
>>>
>> -- 
>> -- 
>> v8-users mailing list
>> v8-u...@googlegroups.com <javascript:>
>> http://groups.google.com/group/v8-users
>> --- 
>> You received this message because you are subscribed to the Google Groups 
>> "v8-users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to v8-u...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/v8-users/13c9e3ab-3cfc-46be-b485-69f8292a73c9n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/v8-users/13c9e3ab-3cfc-46be-b485-69f8292a73c9n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
>
> Clemens Backes
>
> Software Engineer
>
> clem...@google.com <javascript:>
>
> Google Germany GmbH
>
> Erika-Mann-Straße 33
>
> 80636 München
>
> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>
> Registergericht und -nummer: Hamburg, HRB 86891
>
> Sitz der Gesellschaft: Hamburg
>
> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten 
> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, 
> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, 
> dass die E-Mail an die falsche Person gesendet wurde.
>
>
> This e-mail is confidential. If you received this communication by 
> mistake, please don't forward it to anyone else, please erase all copies 
> and attachments, and please let me know that it has gone to the wrong 
> person.
>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/v8-users/d15d517b-22b2-42fd-b499-f55fa6cf4c2eo%40googlegroups.com.

Reply via email to