Thank you for the advice Camillo, the test you referred me to is very
helpful. I will prepare a good code sample and come back to this
conversation.

Regards,
Ben


On Tue, 17 Nov 2020 at 19:54, Camillo Bruni <cbr...@chromium.org> wrote:

> Hi,
>
> The ModuleNamespace
> <https://source.chromium.org/chromium/chromium/src/+/master:v8/include/v8.h;drc=5d658083d506ff1bf14abdd2221d94cbcf4fae96;bpv=1;bpt=1;l=1591?q=v8::Module>
> object is the proper choice, you can have a look at the existing tests
> <https://source.chromium.org/chromium/chromium/src/+/master:v8/test/cctest/test-api.cc;l=26235;drc=5d658083d506ff1bf14abdd2221d94cbcf4fae96;bpv=1;bpt=1?q=v8::Module>
> .
> For future reference, you will usually find (a bit hidden and obscure, I
> agree) existing tests in V8's test-api.cc
> <https://source.chromium.org/chromium/chromium/src/+/master:v8/test/cctest/test-api.cc>
> .
>
> Could you provide some more example code for the error you get
> with persistent handles?
>
> cheers,
> Camillo
>
> On Tue, 17 Nov 2020 at 01:11, Ben Ernst <boi...@gmail.com> wrote:
>
>> I am migrating my V8 code from using "plain scripts" to using "ES6
>> Modules". There are a few concepts that I am struggling with.
>>
>> First, how might I retrieve a class definition defined in a module?
>> Previously I would have used the "global" object on the "context" (i.e.
>> context->Global()), and found the class definition there. I can't find a
>> good example on how to do that in a module. I am experimenting with
>> Module::GetModuleNamespace(), but I'm not sure that I'm on the right track.
>>
>> Second, am I allowed to take a persistent handle to a module? I am
>> finding that after restoring a module from a persistent handle, I encounter
>> the failure below.
>>
>> #
>> # Fatal error in C:\621300de\v8\src/api/api-inl.h, line 128
>> # Debug check failed: allow_empty_handle || that != nullptr.
>> #
>> #
>> #
>> #FailureMessage Object: 0000006114FBC2E0
>> ==== C stack trace ===============================
>>
>>         v8::base::debug::StackTrace::StackTrace
>> [0x0,000,7FF,60D,F82,80B+27]
>>         v8::platform::DefaultPlatform::PostJob
>> [0x0,000,7FF,60D,F7F,1E1+401]
>>         V8_Fatal [0x0,000,7FF,60C,251,B87+167]
>>         v8::base::PrintCheckOperand<unsigned __int64>
>> [0x0,000,7FF,60C,251,683+627]
>>         v8::Module::GetStatus [0x0,000,7FF,60C,1E0,3FD+141]
>>         v8::Module::GetModuleNamespace [0x0,000,7FF,60C,1D1,243+19]
>>
>> --
>> --
>> 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/6e1f91bb-9d1b-4e3e-b772-c1cdf71afb06n%40googlegroups.com
>> <https://groups.google.com/d/msgid/v8-users/6e1f91bb-9d1b-4e3e-b772-c1cdf71afb06n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
> Camillo Bruni |  Software Engineer, V8 |  Google Germany GmbH |  Erika-Mann
> Str. 33, 80636 München
>
> Registergericht und -nummer: Hamburg, HRB 86891 | Sitz der Gesellschaft:
> Hamburg | Geschäftsführer: Paul Manicle, Halimah DeLaine Prado
>
> Diese E-Mail ist vertraulich. Falls Ssie 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/CAOeS1i9mEbcpxGQr1uNk%3DfAMPDi%2Bz%2Bzkun0eiopfphqErJJLAQ%40mail.gmail.com
> <https://groups.google.com/d/msgid/v8-users/CAOeS1i9mEbcpxGQr1uNk%3DfAMPDi%2Bz%2Bzkun0eiopfphqErJJLAQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
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/CABexdQ72DiZqEmCwo-48QL095%3Dgbw5FZ%2BJcvjfy%3D0GvTwZuBPA%40mail.gmail.com.

Reply via email to