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