Adam Thompson <[email protected]> writes:

> In addition I think we need to change the establish_property_* functions to 
> take
> JS::Handle and js::MutableHandle arguments.

Yes, I think so, but this is going to cause problems, since other
functions in html.c call establish_property_*, and those don't know
about C++ types.

But you're on to something...
The rooting guide [1] says that we should basically never use raw pointers.
Why?  Because Spidermonkey doesn't know about them, and it will happily
invalidate them during a garbage collection.
But we're using them a lot.  Here's a stretch of code that could crash
the program.  It starts at line 544 of html.c and ends at line 564.
e is a raw pointer to something in the JS heap, and each one of those
establish_property_* calls could move it.

So I think it might be time to make html.c compilable with g++ and move
over to the appropriate SpiderMonkey types.  I'm
willing to do this work if you need a break.

-- Chris
_______________________________________________
Edbrowse-dev mailing list
[email protected]
http://lists.the-brannons.com/mailman/listinfo/edbrowse-dev

Reply via email to