mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Merge
This commit is contained in:
commit
cc9eacee25
@ -251,7 +251,7 @@ MapAlignedPages(size_t size, size_t alignment)
|
||||
*/
|
||||
// TODO: this is totally a hack for now; need to replace
|
||||
void *p = mmap((caddr_t) alignment, size, PROT_READ | PROT_WRITE,
|
||||
MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON | MAP_32BIT, -1, 0);
|
||||
MAP_PRIVATE | MAP_NOSYNC | MAP_ALIGN | MAP_ANON, -1, 0);
|
||||
if (p == MAP_FAILED)
|
||||
return NULL;
|
||||
return p;
|
||||
@ -314,7 +314,7 @@ MapPages(void *addr, size_t size)
|
||||
* of existing mappings, and we only want to create new mappings.
|
||||
*/
|
||||
// TODO: this is totally a hack for now; need to replace
|
||||
void *p = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON | MAP_32BIT,
|
||||
void *p = mmap(addr, size, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON,
|
||||
-1, 0);
|
||||
if (p == MAP_FAILED)
|
||||
return NULL;
|
||||
|
@ -168,14 +168,14 @@ typedef enum JSValueMask16
|
||||
: uint16
|
||||
# endif
|
||||
{
|
||||
JSVAL_MASK16_NULL = (uint16)0x0001,
|
||||
JSVAL_MASK16_INT32 = (uint16)0x0001,
|
||||
JSVAL_MASK16_UNDEFINED = (uint16)0x0002,
|
||||
JSVAL_MASK16_INT32 = (uint16)0x0004,
|
||||
JSVAL_MASK16_STRING = (uint16)0x0008,
|
||||
JSVAL_MASK16_NONFUNOBJ = (uint16)0x0010,
|
||||
JSVAL_MASK16_FUNOBJ = (uint16)0x0020,
|
||||
JSVAL_MASK16_BOOLEAN = (uint16)0x0040,
|
||||
JSVAL_MASK16_MAGIC = (uint16)0x0080,
|
||||
JSVAL_MASK16_STRING = (uint16)0x0004,
|
||||
JSVAL_MASK16_BOOLEAN = (uint16)0x0008,
|
||||
JSVAL_MASK16_MAGIC = (uint16)0x0010,
|
||||
JSVAL_MASK16_NULL = (uint16)0x2000,
|
||||
JSVAL_MASK16_NONFUNOBJ = (uint16)0x4000,
|
||||
JSVAL_MASK16_FUNOBJ = (uint16)0x8000,
|
||||
|
||||
JSVAL_MASK16_SINGLETON = JSVAL_MASK16_NULL | JSVAL_MASK16_UNDEFINED,
|
||||
JSVAL_MASK16_OBJECT = JSVAL_MASK16_NONFUNOBJ | JSVAL_MASK16_FUNOBJ,
|
||||
@ -203,14 +203,14 @@ JSValueMask16;
|
||||
|
||||
typedef uint16 JSValueMask16;
|
||||
|
||||
#define JSVAL_MASK16_NULL ((uint16)0x0001)
|
||||
#define JSVAL_MASK16_INT32 ((uint16)0x0001)
|
||||
#define JSVAL_MASK16_UNDEFINED ((uint16)0x0002)
|
||||
#define JSVAL_MASK16_INT32 ((uint16)0x0004)
|
||||
#define JSVAL_MASK16_STRING ((uint16)0x0008)
|
||||
#define JSVAL_MASK16_NONFUNOBJ ((uint16)0x0010)
|
||||
#define JSVAL_MASK16_FUNOBJ ((uint16)0x0020)
|
||||
#define JSVAL_MASK16_BOOLEAN ((uint16)0x0040)
|
||||
#define JSVAL_MASK16_MAGIC ((uint16)0x0080)
|
||||
#define JSVAL_MASK16_STRING ((uint16)0x0004)
|
||||
#define JSVAL_MASK16_BOOLEAN ((uint16)0x0008)
|
||||
#define JSVAL_MASK16_MAGIC ((uint16)0x0010)
|
||||
#define JSVAL_MASK16_NULL ((uint16)0x2000)
|
||||
#define JSVAL_MASK16_NONFUNOBJ ((uint16)0x4000)
|
||||
#define JSVAL_MASK16_FUNOBJ ((uint16)0x8000)
|
||||
#define JSVAL_MASK16_SINGLETON (JSVAL_MASK16_NULL | JSVAL_MASK16_UNDEFINED)
|
||||
#define JSVAL_MASK16_OBJECT (JSVAL_MASK16_NONFUNOBJ | JSVAL_MASK16_FUNOBJ)
|
||||
#define JSVAL_MASK16_OBJORNULL (JSVAL_MASK16_OBJECT | JSVAL_MASK16_NULL)
|
||||
@ -221,14 +221,14 @@ typedef uint16 JSValueMask16;
|
||||
|
||||
#define JSVAL_MASK32_CLEAR ((uint32)0xFFFF0000)
|
||||
|
||||
#define JSVAL_MASK32_NULL ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_NULL))
|
||||
#define JSVAL_MASK32_UNDEFINED ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_UNDEFINED))
|
||||
#define JSVAL_MASK32_INT32 ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_INT32))
|
||||
#define JSVAL_MASK32_UNDEFINED ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_UNDEFINED))
|
||||
#define JSVAL_MASK32_STRING ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_STRING))
|
||||
#define JSVAL_MASK32_NONFUNOBJ ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_NONFUNOBJ))
|
||||
#define JSVAL_MASK32_FUNOBJ ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_FUNOBJ))
|
||||
#define JSVAL_MASK32_BOOLEAN ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_BOOLEAN))
|
||||
#define JSVAL_MASK32_MAGIC ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_MAGIC))
|
||||
#define JSVAL_MASK32_NULL ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_NULL))
|
||||
#define JSVAL_MASK32_NONFUNOBJ ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_NONFUNOBJ))
|
||||
#define JSVAL_MASK32_FUNOBJ ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_FUNOBJ))
|
||||
|
||||
#define JSVAL_MASK32_SINGLETON ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_SINGLETON))
|
||||
#define JSVAL_MASK32_OBJECT ((uint32)(JSVAL_MASK32_CLEAR | JSVAL_MASK16_OBJECT))
|
||||
@ -590,25 +590,29 @@ static JS_ALWAYS_INLINE JSBool
|
||||
JSVAL_IS_NUMBER_IMPL(jsval_layout l)
|
||||
{
|
||||
JSValueMask32 mask = l.s.u.mask32;
|
||||
return mask < JSVAL_MASK32_CLEAR || mask == JSVAL_MASK32_INT32;
|
||||
JS_ASSERT(mask != JSVAL_MASK32_CLEAR);
|
||||
return mask <= JSVAL_MASK32_INT32;
|
||||
}
|
||||
|
||||
static JS_ALWAYS_INLINE JSBool
|
||||
JSVAL_IS_OBJECT_IMPL(jsval_layout l)
|
||||
{
|
||||
return (l.s.u.mask32 & JSVAL_MASK32_OBJECT) > JSVAL_MASK32_CLEAR;
|
||||
JSValueMask32 mask = l.s.u.mask32;
|
||||
return mask >= JSVAL_MASK32_NONFUNOBJ;
|
||||
}
|
||||
|
||||
static JS_ALWAYS_INLINE JSBool
|
||||
JSVAL_IS_OBJECT_OR_NULL_IMPL(jsval_layout l)
|
||||
{
|
||||
return (l.s.u.mask32 & JSVAL_MASK32_OBJORNULL) > JSVAL_MASK32_CLEAR;
|
||||
JSValueMask32 mask = l.s.u.mask32;
|
||||
return mask >= JSVAL_MASK32_NULL;
|
||||
}
|
||||
|
||||
static JS_ALWAYS_INLINE JSBool
|
||||
JSVAL_IS_PRIMITIVE_IMPL(jsval_layout l)
|
||||
{
|
||||
return (l.s.u.mask32 & JSVAL_MASK32_OBJECT) <= JSVAL_MASK32_CLEAR;
|
||||
JSValueMask32 mask = l.s.u.mask32;
|
||||
return mask < JSVAL_MASK32_NONFUNOBJ;
|
||||
}
|
||||
|
||||
static JS_ALWAYS_INLINE JSBool
|
||||
|
@ -86,7 +86,8 @@ XPCTraceableVariant::~XPCTraceableVariant()
|
||||
if(!JSVAL_IS_STRING(mJSVal))
|
||||
nsVariant::Cleanup(&mData);
|
||||
|
||||
RemoveFromRootSet(nsXPConnect::GetRuntimeInstance()->GetJSRuntime());
|
||||
if (!JSVAL_IS_NULL(mJSVal))
|
||||
RemoveFromRootSet(nsXPConnect::GetRuntimeInstance()->GetJSRuntime());
|
||||
}
|
||||
|
||||
void XPCTraceableVariant::TraceJS(JSTracer* trc)
|
||||
|
Loading…
Reference in New Issue
Block a user