CC-ing some SpiderMonkey GC people.

Terrence, I know that you did some Rust stuff recently, so maybe you have
the required bits of information to comment on this?

On Wed, Sep 23, 2015 at 7:15 PM, Josh Matthews <j...@joshmatthews.net>
wrote:

> I have a branch of rust-mozjs where I attempted to implement a Rust
> version of CustomAutoRooter/AutoGCRooter from SpiderMonkey:
> https://github.com/jdm/rust-mozjs/commit/ff89d9609e17e7727c038c8ea8deab88bae4333e
>
> This compiles fine, but I hit problems when I attempted to integrate it
> with my previous work for a safe Rust interface to SM's typed arrays:
> https://github.com/servo/servo/pull/6779
>
> Specifically, my problems stem from this - given that creating a typed
> array is fallible, as is wrapping an existing typed array reflector, we
> decided to make the constructors for the typed array APIs return Result
> values. Unfortunately this interacts poorly with AutoGCRooter, since it
> stores pointers to Rust objects that end up moving when unwrapping the
> Result (
> https://github.com/jdm/rust-mozjs/commit/ff89d9609e17e7727c038c8ea8deab88bae4333e#diff-5f5de62bd671c7658b23fd6be60ce6bfR41
> ).
>
> Can anybody think of a useful way around this problem, or are we doomed to
> non-idiomatic APIs when we're trying to directly integrate with SM's lists
> of rooted values?
> _______________________________________________
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
>
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to