Ok the code output is ok and better than email but I have everytime to
upload the file(s) on each change because I've no possibility to checkin
my code.

I think I will create a thread. Can you tell me if and where I can
create one without disturbing someone?

---

I've also found the problem with the comparism failure of proxies in a
global var....I must implement the same trap for the
CrossCompartmentWrapper I think (because I've created the function and
run into with the debugger)...but at the moment I've the following error
with my code:

Assertion failure: cx->compartment() == lazy->function()->compartment(),
at
/home/fedora/workspace/mozilla/mozilla-central/js/src/frontend/BytecodeCompiler.cpp:408


Code:
bool
CrossCompartmentWrapper::isTransparent(JSContext *cx, HandleObject
wrapper, bool *bp)
{
    // step 1
    RootedObject handler(cx,
GetDirectProxyHandlerObject(wrappedObject(wrapper)));

    // step 2
    JSString* propStr = JS_InternString(cx, "isTransparent");
    JSAtom& atom = propStr->asAtom();
    RootedValue trap(cx);
    if (!JSObject::getProperty(cx, handler, handler,
atom.asPropertyName(), &trap))
        return false;

    // step 3
    if (trap.isUndefined())
    {
        *bp = false;
        return true;
    }

    // step 4
    Value argv[] = {
    //    ObjectOrNullValue(target),
    //    value
    };
    RootedValue trapResult(cx);
    if (!Invoke(cx, ObjectValue(*handler), trap, 0, argv, &trapResult))
        return false;

    // step 5
    bool success = ToBoolean(trapResult);

    // step 6
    *bp = success;
    return true;
}
The error occurs during the call of Invoke. How can I solve this?

Thanks a lot


Am 14.01.2014 20:27, schrieb Till Schneidereit:
> On Tue, Jan 14, 2014 at 8:17 PM, Andreas Schlegel
> <[email protected] <mailto:[email protected]>> wrote:
>
>     It would be nice to attach the code but I'm not sure if bugzilla
>     is a good place, because I've got a lot of discussion about "why
>     would I do this thematic?" and I don't think that anybody want
>     that I make a thread which could be handled as a bug :-)
>     For me it's a little bit difficult to survey this amount of code
>     of spidermonkey and where should I place the code or which
>     handler/wrapper can/have I to change that my changes work.
>
>     Which advantage has bugzilla?
>
>
> The advantage of having built-in tools to look at your patches. (Those
> tools aren't fantastic, but certainly good enough for getting specific
> feedback on your changes.) If you explicitly state that this is an
> experiment, I don't expect much negative feedback there. Most people
> who watch js-engine bugs also read this mailing list.
>  
>
>
>     I was in the IRC channel but at most I get no answer, therefore I
>     leave the channel.
>
>
> Yeah, that happens sometimes. :( Try pinging individual people who
> might be able to help you. Who that might be for a specific area can
> be found out by looking at who's made changes to the code you're
> touching, too.
>  
>
>
>     Am 14.01.2014 19:59, schrieb Till Schneidereit:
>>     I would at this point very much recommend putting your patches
>>     somewhere they can be looked at by others (ideally attached to a
>>     bugzilla.mozilla.org <http://bugzilla.mozilla.org> bug), and then
>>     joining the #jsapi channel on IRC. It's much, much easier and
>>     quicker that way.
>>
>>
>>     On Tue, Jan 14, 2014 at 7:56 PM, Andreas Schlegel
>>     <[email protected] <mailto:[email protected]>>
>>     wrote:
>>
>>         I see the wrapper class is a child of the DirectProxyHandler,
>>         which I haven't changed until now. Should I change only this
>>         class or the underlying wrapper?
>>
>>         Am 14.01.2014 19:52, schrieb Andreas Schlegel:
>>>         Hello Till,
>>>
>>>         I think the first answer of my question could be in an other
>>>         direction.
>>>         I found the CrossCompartmentWrapper, you're speaking from.
>>>         I think I must insert the code there also.
>>>         There are also other wrapper child classes and the wrapper
>>>         class must I insert the method there if I change the
>>>         CrossCompartmentWrapper?
>>>
>>>         Am 14.01.2014 19:46, schrieb Till Schneidereit:
>>>>         On Tue, Jan 14, 2014 at 7:35 PM, Andreas Schlegel
>>>>         <[email protected]
>>>>         <mailto:[email protected]>> wrote:
>>>>
>>>>             My Questions are:
>>>>
>>>>             Why is the proxy within the global not handled by a
>>>>             ScriptedDirectProxyHandler and which handler is used for?
>>>>             Why are the JSContext and JSRuntime identical, although
>>>>             the two objects should use two different Runtimes?
>>>>
>>>>
>>>>         I don't know the answer to the first question, sorry.
>>>>
>>>>         As for the second: you can have arbitrarily many global
>>>>         objects in the same runtime. To have two different
>>>>         runtimes, you'd have to create them specifically. I don't
>>>>         know if that's even possible in the shell.
>>>>
>>>>         The thing that's different for the two globals is the
>>>>         JSCompartment, which every global has its own of.
>>>
>>
>>
>
>

_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to