Re: [JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Игорь Пашев
I'm a dabbler, but I've noticed that on solaris/amd64 first 17 (high) bits of a stack pointer are 1's. Always. So we can use them as on linux (instead of 0's). Does it make sense? 2013/10/9 Andy Wingo : > On Wed 09 Oct 2013 17:28, Sean Stangl writes: > >> Is there anything that can be done on the

Re: [JS-internals] how to get page url

2013-10-09 Thread Jason Orendorff
On 10/8/13 8:35 PM, johnhypo wrote: As we know,in firefox when we request one url,firefox would call spidermonkey to interpret javascript.Now I want to get the url in function JS_NewExternalString().How can I get it?Is the url stored in the JSContext? You can use this function, declared in js

Re: [JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Andy Wingo
On Wed 09 Oct 2013 17:28, Sean Stangl writes: > Is there anything that can be done on the Solaris side to restrict > the available memory to only the lower 47 bits of the address space? https://bugzilla.mozilla.org/show_bug.cgi?id=577056 Andy ___ dev-

Re: [JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Sean Stangl
Rob Sayre has posted a good explanation of the Value representation for 32-bit, titled "Mozilla's New JavaScript Value Representation", available at: http://evilpie.github.io/sayrer-fatval-backup/cache.aspx.htm Since Values are encoded in the NaN-space of doubles, the value boxing scheme does n

[JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Игорь Пашев
Hi, all. // Please CC me I'm building Firefox for a solaris-based system on amd64 processor, e. i. Firefox is to be an 64-bit application. I've found that during the build xpcshell crashes [1]: js::ObjectImpl::setFlag (this=0x7d7ffbf06040, cx=0x835600, flag_=8, generateShape=js::ObjectImpl::GEN

Re: [JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Игорь Пашев
Some idea: BUILD_JSVAL(JSValueTag tag, uint64_t payload) { jsval_layout l; +#if SOLARIS_STACK_LAYOUT +payload &= JSVAL_PAYLOAD_MASK; +#endif l.asBits = (((uint64_t)(uint32_t)tag) << JSVAL_TAG_SHIFT) | payload; return l; } @@ -645,7 +656,14 @@ static inline JSString * JSVAL_T

Re: [JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Игорь Пашев
Hm... It looks like JSVAL_PAYLOAD_MASK is to cut off JSValueTag in typedef union jsval_layout from payload. It looks like an optimization on amd64 agains i386, but this does not work on solaris. Someone put JSValueTag into pointer instead of a field of a struct. ___

[JS-internals] JS engine crashes on solaris/amd64

2013-10-09 Thread Игорь Пашев
Hi, all. // Please CC me I'm building Firefox for a solaris-based system on amd64 processor, e. i. Firefox is to be an 64-bit application. I've found that during the build xpcshell crashes [1]: js::ObjectImpl::setFlag (this=0x7d7ffbf06040, cx=0x835600, flag_=8, generateShape=js::ObjectImpl::GEN