Merge mozilla-central to tracemonkey.

This commit is contained in:
Robert Sayre 2009-03-15 12:23:57 -04:00
Родитель c2e43f0669 c81bc9bd99
Коммит 5d7a279f0a
29 изменённых файлов: 927 добавлений и 1291 удалений

Просмотреть файл

@ -653,7 +653,7 @@ JS_TypeOfValue(JSContext *cx, jsval v)
ops = obj->map->ops;
#if JS_HAS_XML_SUPPORT
if (ops == &js_XMLObjectOps.base) {
if (ops == &js_XMLObjectOps) {
type = JSTYPE_XML;
} else
#endif
@ -3611,22 +3611,10 @@ JS_GetMethodById(JSContext *cx, JSObject *obj, jsid id, JSObject **objp,
JSAutoResolveFlags rf(cx, JSRESOLVE_QUALIFIED);
CHECK_REQUEST(cx);
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;
ops = (JSXMLObjectOps *) obj->map->ops;
obj = ops->getMethod(cx, obj, id, vp);
if (!obj)
return JS_FALSE;
} else
#endif
{
if (!OBJ_GET_PROPERTY(cx, obj, id, vp))
return JS_FALSE;
}
*objp = obj;
if (!js_GetMethod(cx, obj, id, vp, NULL))
return JS_FALSE;
if (objp)
*objp = obj;
return JS_TRUE;
}
@ -5179,27 +5167,14 @@ JS_PUBLIC_API(JSBool)
JS_CallFunctionName(JSContext *cx, JSObject *obj, const char *name, uintN argc,
jsval *argv, jsval *rval)
{
JSBool ok;
jsval fval;
CHECK_REQUEST(cx);
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;
JSAtom *atom;
ops = (JSXMLObjectOps *) obj->map->ops;
atom = js_Atomize(cx, name, strlen(name), 0);
if (!atom)
return JS_FALSE;
obj = ops->getMethod(cx, obj, ATOM_TO_JSID(atom), &fval);
if (!obj)
return JS_FALSE;
} else
#endif
if (!JS_GetProperty(cx, obj, name, &fval))
return JS_FALSE;
ok = js_InternalCall(cx, obj, fval, argc, argv, rval);
JSAutoTempValueRooter tvr(cx);
JSAtom *atom = js_Atomize(cx, name, strlen(name), 0);
JSBool ok = atom &&
JS_GetMethodById(cx, obj, ATOM_TO_JSID(atom), NULL,
tvr.addr()) &&
js_InternalCall(cx, obj, tvr.value(), argc, argv, rval);
LAST_FRAME_CHECKS(cx, ok);
return ok;
}

Просмотреть файл

@ -1430,15 +1430,6 @@ struct JSObjectOps {
JSSetRequiredSlotOp setRequiredSlot;
};
struct JSXMLObjectOps {
JSObjectOps base;
JSGetMethodOp getMethod;
JSSetMethodOp setMethod;
JSEnumerateValuesOp enumerateValues;
JSEqualityOp equality;
JSConcatenateOp concatenate;
};
/*
* Classes that expose JSObjectOps via a non-null getObjectOps class hook may
* derive a property structure from this struct, return a pointer to it from

Просмотреть файл

@ -936,24 +936,9 @@ js_OnUnknownMethod(JSContext *cx, jsval *vp)
MUST_FLOW_THROUGH("out");
id = ATOM_TO_JSID(cx->runtime->atomState.noSuchMethodAtom);
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;
ops = (JSXMLObjectOps *) obj->map->ops;
obj = ops->getMethod(cx, obj, id, &tvr.u.value);
if (!obj) {
ok = JS_FALSE;
goto out;
}
vp[1] = OBJECT_TO_JSVAL(obj);
} else
#endif
{
ok = OBJ_GET_PROPERTY(cx, obj, id, &tvr.u.value);
if (!ok)
goto out;
}
ok = js_GetMethod(cx, obj, id, &tvr.u.value, NULL);
if (!ok)
goto out;
if (JSVAL_IS_PRIMITIVE(tvr.u.value)) {
vp[0] = tvr.u.value;
} else {
@ -3582,12 +3567,9 @@ js_Interpret(JSContext *cx)
(rtmp == JSVAL_OBJECT && \
(obj2 = JSVAL_TO_OBJECT(rval)) && \
OBJECT_IS_XML(cx, obj2))) { \
JSXMLObjectOps *ops; \
\
ops = (JSXMLObjectOps *) obj2->map->ops; \
if (JSVAL_IS_OBJECT(rval) && obj2 == JSVAL_TO_OBJECT(rval)) \
rval = lval; \
if (!ops->equality(cx, obj2, rval, &cond)) \
if (!js_TestXMLEquality(cx, obj2, rval, &cond)) \
goto error; \
cond = cond OP JS_TRUE; \
} else
@ -3761,10 +3743,7 @@ js_Interpret(JSContext *cx)
if (!JSVAL_IS_PRIMITIVE(lval) &&
(obj2 = JSVAL_TO_OBJECT(lval), OBJECT_IS_XML(cx, obj2)) &&
VALUE_IS_XML(cx, rval)) {
JSXMLObjectOps *ops;
ops = (JSXMLObjectOps *) obj2->map->ops;
if (!ops->concatenate(cx, obj2, rval, &rval))
if (!js_ConcatenateXML(cx, obj2, rval, &rval))
goto error;
regs.sp--;
STORE_OPND(-1, rval);
@ -4386,22 +4365,8 @@ js_Interpret(JSContext *cx)
id = ATOM_TO_JSID(atom);
PUSH(JSVAL_NULL);
if (!JSVAL_IS_PRIMITIVE(lval)) {
#if JS_HAS_XML_SUPPORT
/* Special-case XML object method lookup, per ECMA-357. */
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;
ops = (JSXMLObjectOps *) obj->map->ops;
obj = ops->getMethod(cx, obj, id, &rval);
if (!obj)
goto error;
} else
#endif
if (entry
? !js_GetPropertyHelper(cx, obj, id, &rval, &entry)
: !OBJ_GET_PROPERTY(cx, obj, id, &rval)) {
if (!js_GetMethod(cx, obj, id, &rval, entry ? &entry : NULL))
goto error;
}
STORE_OPND(-1, OBJECT_TO_JSVAL(obj));
STORE_OPND(-2, rval);
} else {
@ -4699,11 +4664,7 @@ js_Interpret(JSContext *cx)
END_CASE(JSOP_GETELEM)
BEGIN_CASE(JSOP_CALLELEM)
/*
* FIXME: JSOP_CALLELEM should call getMethod on XML objects as
* CALLPROP does. See bug 362910.
*/
ELEMENT_OP(-1, OBJ_GET_PROPERTY(cx, obj, id, &rval));
ELEMENT_OP(-1, js_GetMethod(cx, obj, id, &rval, NULL));
#if JS_HAS_NO_SUCH_METHOD
if (JS_UNLIKELY(JSVAL_IS_VOID(rval))) {
regs.sp[-2] = regs.sp[-1];

Просмотреть файл

@ -104,9 +104,8 @@ js_CloseNativeIterator(JSContext *cx, JSObject *iterobj)
#if JS_HAS_XML_SUPPORT
uintN flags = JSVAL_TO_INT(STOBJ_GET_SLOT(iterobj, JSSLOT_ITER_FLAGS));
if ((flags & JSITER_FOREACH) && OBJECT_IS_XML(cx, iterable)) {
((JSXMLObjectOps *) iterable->map->ops)->
enumerateValues(cx, iterable, JSENUMERATE_DESTROY, &state,
NULL, NULL);
js_EnumerateXMLValues(cx, iterable, JSENUMERATE_DESTROY, &state,
NULL, NULL);
} else
#endif
OBJ_ENUMERATE(cx, iterable, JSENUMERATE_DESTROY, &state, NULL);
@ -143,8 +142,7 @@ InitNativeIterator(JSContext *cx, JSObject *iterobj, JSObject *obj, uintN flags)
ok =
#if JS_HAS_XML_SUPPORT
((flags & JSITER_FOREACH) && OBJECT_IS_XML(cx, obj))
? ((JSXMLObjectOps *) obj->map->ops)->
enumerateValues(cx, obj, JSENUMERATE_INIT, &state, NULL, NULL)
? js_EnumerateXMLValues(cx, obj, JSENUMERATE_INIT, &state, NULL, NULL)
:
#endif
OBJ_ENUMERATE(cx, obj, JSENUMERATE_INIT, &state, NULL);
@ -233,9 +231,8 @@ IteratorNextImpl(JSContext *cx, JSObject *obj, jsval *rval)
ok =
#if JS_HAS_XML_SUPPORT
(foreach && OBJECT_IS_XML(cx, iterable))
? ((JSXMLObjectOps *) iterable->map->ops)->
enumerateValues(cx, iterable, JSENUMERATE_NEXT, &state,
&id, rval)
? js_EnumerateXMLValues(cx, iterable, JSENUMERATE_NEXT, &state,
&id, rval)
:
#endif
OBJ_ENUMERATE(cx, iterable, JSENUMERATE_NEXT, &state, &id);
@ -377,17 +374,8 @@ js_ValueToIterator(JSContext *cx, uintN flags, jsval *vp)
*vp = OBJECT_TO_JSVAL(iterobj);
} else {
atom = cx->runtime->atomState.iteratorAtom;
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
if (!js_GetXMLFunction(cx, obj, ATOM_TO_JSID(atom), vp))
goto bad;
} else
#endif
{
if (!OBJ_GET_PROPERTY(cx, obj, ATOM_TO_JSID(atom), vp))
goto bad;
}
if (!js_GetMethod(cx, obj, ATOM_TO_JSID(atom), vp, NULL))
goto bad;
if (JSVAL_IS_VOID(*vp)) {
default_iter:
/*
@ -486,10 +474,8 @@ CallEnumeratorNext(JSContext *cx, JSObject *iterobj, uintN flags, jsval *rval)
*/
if (obj == origobj && OBJECT_IS_XML(cx, obj)) {
if (foreach) {
JSXMLObjectOps *xmlops = (JSXMLObjectOps *) obj->map->ops;
if (!xmlops->enumerateValues(cx, obj, JSENUMERATE_NEXT, &state,
&id, rval)) {
if (!js_EnumerateXMLValues(cx, obj, JSENUMERATE_NEXT, &state,
&id, rval)) {
return JS_FALSE;
}
} else {

Просмотреть файл

@ -4326,6 +4326,22 @@ js_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
return js_GetPropertyHelper(cx, obj, id, vp, NULL);
}
JSBool
js_GetMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
JSPropCacheEntry **entryp)
{
if (obj->map->ops == &js_ObjectOps ||
obj->map->ops->getProperty == js_GetProperty) {
return js_GetPropertyHelper(cx, obj, id, vp, entryp);
}
JS_ASSERT_IF(entryp, OBJ_IS_DENSE_ARRAY(cx, obj));
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj))
return js_GetXMLMethod(cx, obj, id, vp);
#endif
return OBJ_GET_PROPERTY(cx, obj, id, vp);
}
JSBool
js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
JSPropCacheEntry **entryp)
@ -5442,18 +5458,7 @@ js_TryMethod(JSContext *cx, JSObject *obj, JSAtom *atom,
older = JS_SetErrorReporter(cx, NULL);
id = ATOM_TO_JSID(atom);
fval = JSVAL_VOID;
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;
ops = (JSXMLObjectOps *) obj->map->ops;
obj = ops->getMethod(cx, obj, id, &fval);
ok = (obj != NULL);
} else
#endif
{
ok = OBJ_GET_PROPERTY(cx, obj, id, &fval);
}
ok = js_GetMethod(cx, obj, id, &fval, NULL);
if (!ok)
JS_ClearPendingException(cx);
JS_SetErrorReporter(cx, older);

Просмотреть файл

@ -674,6 +674,10 @@ js_GetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
extern JSBool
js_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
extern JSBool
js_GetMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
JSPropCacheEntry **entryp);
extern JSBool
js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, jsval *vp,
JSPropCacheEntry **entryp);

Просмотреть файл

@ -145,7 +145,6 @@ typedef struct JSPropertySpec JSPropertySpec;
typedef struct JSObject JSObject;
typedef struct JSObjectMap JSObjectMap;
typedef struct JSObjectOps JSObjectOps;
typedef struct JSXMLObjectOps JSXMLObjectOps;
typedef struct JSRuntime JSRuntime;
typedef struct JSRuntime JSTaskState; /* XXX deprecated name */
typedef struct JSScript JSScript;
@ -296,10 +295,6 @@ typedef void
* a JSClass *clasp parameter to JS_NewObject, etc. Most host objects do not
* need to implement the larger JSObjectOps, and can share the common JSScope
* code and data used by the native (js_ObjectOps, see jsobj.c) ops.
*
* Further extension to preserve API compatibility: if this function returns
* a pointer to JSXMLObjectOps.base, not to JSObjectOps, then the engine calls
* extended hooks needed for E4X.
*/
typedef JSObjectOps *
(* JSGetObjectOps)(JSContext *cx, JSClass *clasp);

Просмотреть файл

@ -132,6 +132,9 @@ const uint32 JSSLOT_LOCAL_NAME = JSSLOT_PRIVATE + 2;
const uint32 NAMESPACE_RESERVED_SLOTS = 3;
const uint32 QNAME_RESERVED_SLOTS = 3;
static JSBool
GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
static JSBool
IsQNameClass(JSClass *clasp)
{
@ -3496,9 +3499,6 @@ Descendants(JSContext *cx, JSXML *xml, jsval id)
return list;
}
static JSBool
xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp);
/* Recursive (JSXML *) parameterized version of Equals. */
static JSBool
XMLEquals(JSContext *cx, JSXML *xml, JSXML *vxml, JSBool *bp)
@ -3556,7 +3556,7 @@ retry:
xobj = js_GetXMLObject(cx, kid);
vobj = js_GetXMLObject(cx, vkid);
ok = xobj && vobj &&
xml_equality(cx, xobj, OBJECT_TO_JSVAL(vobj), bp);
js_TestXMLEquality(cx, xobj, OBJECT_TO_JSVAL(vobj), bp);
if (!ok || !*bp)
break;
}
@ -3606,7 +3606,7 @@ Equals(JSContext *cx, JSXML *xml, jsval v, JSBool *bp)
vobj = js_GetXMLObject(cx, vxml);
if (!vobj)
return JS_FALSE;
return js_XMLObjectOps.equality(cx, vobj, v, bp);
return js_TestXMLEquality(cx, vobj, v, bp);
}
if (JSVAL_IS_VOID(v) && xml->xml_kids.length == 0)
*bp = JS_TRUE;
@ -3991,7 +3991,7 @@ GetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
if (!nameqn)
return JS_FALSE;
if (funid)
return js_GetXMLFunction(cx, obj, funid, vp);
return GetXMLFunction(cx, obj, funid, vp);
roots[0] = OBJECT_TO_JSVAL(nameqn);
JS_PUSH_TEMP_ROOT(cx, 1, roots, &tvr);
@ -4837,7 +4837,7 @@ HasFunctionProperty(JSContext *cx, JSObject *obj, jsid funid, JSBool *found)
if (HasSimpleContent(xml)) {
/*
* Search in String.prototype to set found whenever
* js_GetXMLFunction returns existing function.
* GetXMLFunction returns existing function.
*/
JS_PUSH_TEMP_ROOT_OBJECT(cx, NULL, &tvr);
ok = js_GetClassPrototype(cx, NULL, INT_TO_JSID(JSProto_String),
@ -4927,7 +4927,7 @@ xml_trace_vector(JSTracer *trc, JSXML **vec, uint32 len)
* FIXME This clashes with the function namespace implementation which also
* uses native properties. Effectively after xml_lookupProperty any property
* stored previously using assignments to xml.function::name will be removed.
* We partially workaround the problem in js_GetXMLFunction. There we take
* We partially workaround the problem in GetXMLFunction. There we take
* advantage of the fact that typically function:: is used to access the
* functions from XML.prototype. So when js_GetProperty returns a non-function
* property, we assume that it represents the result of GetProperty setter
@ -5222,40 +5222,40 @@ again:
/*
* 11.2.2.1 Step 3(d) onward.
*/
static JSObject *
xml_getMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool
js_GetXMLMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
{
JSTempValueRooter tvr;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
if (JSID_IS_OBJECT(id)) {
jsid funid;
if (!js_IsFunctionQName(cx, JSID_TO_OBJECT(id), &funid))
return JS_FALSE;
if (funid != 0)
id = funid;
}
/*
* As our callers have a bad habit of passing a pointer to an unrooted
* local value as vp, we use a proper root here.
*/
JS_PUSH_SINGLE_TEMP_ROOT(cx, JSVAL_NULL, &tvr);
if (!js_GetXMLFunction(cx, obj, id, &tvr.u.value))
obj = NULL;
*vp = tvr.u.value;
JS_POP_TEMP_ROOT(cx, &tvr);
return obj;
JSAutoTempValueRooter tvr(cx);
JSBool ok = GetXMLFunction(cx, obj, id, tvr.addr());
*vp = tvr.value();
return ok;
}
static JSBool
xml_setMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
{
return js_SetProperty(cx, obj, id, vp);
}
static JSBool
xml_enumerateValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
jsval *statep, jsid *idp, jsval *vp)
JSBool
js_EnumerateXMLValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
jsval *statep, jsid *idp, jsval *vp)
{
JSXML *xml, *kid;
uint32 length, index;
JSXMLArrayCursor *cursor;
JSObject *kidobj;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
xml = (JSXML *) JS_GetPrivate(cx, obj);
length = JSXML_LENGTH(xml);
JS_ASSERT(INT_FITS_IN_JSVAL(length));
@ -5308,8 +5308,8 @@ xml_enumerateValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
return JS_TRUE;
}
static JSBool
xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
JSBool
js_TestXMLEquality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
{
JSXML *xml, *vxml;
JSObject *vobj;
@ -5317,6 +5317,7 @@ xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
JSString *str, *vstr;
jsdouble d, d2;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
xml = (JSXML *) JS_GetPrivate(cx, obj);
vxml = NULL;
if (!JSVAL_IS_PRIMITIVE(v)) {
@ -5382,13 +5383,14 @@ xml_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
return ok;
}
static JSBool
xml_concatenate(JSContext *cx, JSObject *obj, jsval v, jsval *vp)
JSBool
js_ConcatenateXML(JSContext *cx, JSObject *obj, jsval v, jsval *vp)
{
JSBool ok;
JSObject *listobj, *robj;
JSXML *list, *lxml, *rxml;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
ok = js_EnterLocalRootScope(cx);
if (!ok)
return JS_FALSE;
@ -5426,8 +5428,8 @@ out:
}
/* Use js_NewObjectMap so XML objects satisfy OBJ_IS_NATIVE tests. */
JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps = {
{ js_NewObjectMap, js_DestroyObjectMap,
JS_FRIEND_DATA(JSObjectOps) js_XMLObjectOps = {
js_NewObjectMap, js_DestroyObjectMap,
xml_lookupProperty, xml_defineProperty,
xml_getProperty, xml_setProperty,
xml_getAttributes, xml_setAttributes,
@ -5438,16 +5440,13 @@ JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps = {
NULL, xml_hasInstance,
js_SetProtoOrParent, js_SetProtoOrParent,
js_TraceObject, xml_clear,
NULL, NULL },
xml_getMethod, xml_setMethod,
xml_enumerateValues, xml_equality,
xml_concatenate
NULL, NULL
};
static JSObjectOps *
xml_getObjectOps(JSContext *cx, JSClass *clasp)
{
return &js_XMLObjectOps.base;
return &js_XMLObjectOps;
}
JS_FRIEND_DATA(JSClass) js_XMLClass = {
@ -5812,7 +5811,7 @@ xml_contains(JSContext *cx, uintN argc, jsval *vp)
XMLArrayCursorInit(&cursor, &xml->xml_kids);
while ((kid = (JSXML *) XMLArrayCursorNext(&cursor)) != NULL) {
kidobj = js_GetXMLObject(cx, kid);
if (!kidobj || !xml_equality(cx, kidobj, value, &eq))
if (!kidobj || !js_TestXMLEquality(cx, kidobj, value, &eq))
break;
if (eq)
break;
@ -5821,7 +5820,7 @@ xml_contains(JSContext *cx, uintN argc, jsval *vp)
if (kid && !eq)
return JS_FALSE;
} else {
if (!xml_equality(cx, obj, value, &eq))
if (!js_TestXMLEquality(cx, obj, value, &eq))
return JS_FALSE;
}
*vp = BOOLEAN_TO_JSVAL(eq);
@ -7995,8 +7994,8 @@ js_FindXMLProperty(JSContext *cx, jsval nameval, JSObject **objp, jsid *idp)
return JS_FALSE;
}
JSBool
js_GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
static JSBool
GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
{
JSObject *target;
JSXML *xml;

Просмотреть файл

@ -168,7 +168,7 @@ js_NewXMLObject(JSContext *cx, JSXMLClass xml_class);
extern JSObject *
js_GetXMLObject(JSContext *cx, JSXML *xml);
extern JS_FRIEND_DATA(JSXMLObjectOps) js_XMLObjectOps;
extern JS_FRIEND_DATA(JSObjectOps) js_XMLObjectOps;
extern JS_FRIEND_DATA(JSClass) js_XMLClass;
extern JS_FRIEND_DATA(JSExtendedClass) js_NamespaceClass;
extern JS_FRIEND_DATA(JSExtendedClass) js_QNameClass;
@ -181,7 +181,7 @@ extern JSClass js_XMLFilterClass;
* NB: jsobj.h must be included before any call to OBJECT_IS_XML, and jsapi.h
* and jsobj.h must be included before any call to VALUE_IS_XML.
*/
#define OBJECT_IS_XML(cx,obj) ((obj)->map->ops == &js_XMLObjectOps.base)
#define OBJECT_IS_XML(cx,obj) ((obj)->map->ops == &js_XMLObjectOps)
#define VALUE_IS_XML(cx,v) (!JSVAL_IS_PRIMITIVE(v) && \
OBJECT_IS_XML(cx, JSVAL_TO_OBJECT(v)))
@ -256,7 +256,7 @@ extern JSBool
js_FindXMLProperty(JSContext *cx, jsval nameval, JSObject **objp, jsid *idp);
extern JSBool
js_GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
js_GetXMLMethod(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
extern JSBool
js_GetXMLDescendants(JSContext *cx, JSObject *obj, jsval id, jsval *vp);
@ -292,6 +292,16 @@ js_MakeXMLCommentString(JSContext *cx, JSString *str);
extern JSString *
js_MakeXMLPIString(JSContext *cx, JSString *name, JSString *str);
extern JSBool
js_EnumerateXMLValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
jsval *statep, jsid *idp, jsval *vp);
extern JSBool
js_TestXMLEquality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp);
extern JSBool
js_ConcatenateXML(JSContext *cx, JSObject *obj, jsval v, jsval *vp);
JS_END_EXTERN_C
#endif /* jsxml_h___ */

Просмотреть файл

@ -21,14 +21,24 @@ menu-list.txt:
.PHONY: patterns
patterns:
touch confidential-failures.txt
public-failures.txt:
touch $@
confidential-failures.txt:
touch $@
universe.data:
touch $@
confidential-universe.data:
touch $@
patterns: confidential-failures.txt confidential-universe.data public-failures.txt universe.data
if [[ -e confidential-failures.txt.expanded ]]; then \
cp confidential-failures.txt confidential-failures.txt.save; \
export TEST_UNIVERSE=$(CURRDIR)/confidential-universe.data && \
./pattern-extracter.pl confidential-failures.txt.expanded > confidential-failures.txt; \
fi
touch public-failures.txt
if [[ -e public-failures.txt.expanded ]]; then \
cp public-failures.txt public-failures.txt.save; \
./pattern-extracter.pl public-failures.txt.expanded > public-failures.txt; \

Просмотреть файл

@ -0,0 +1,94 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Jesse Ruderman
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-466747.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 466747;
var summary = 'TM: Do not assert: fp->slots + fp->script->nfixed + ' +
'js_ReconstructStackDepth(cx, fp->script, fp->regs->pc) == fp->regs->sp';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
if (typeof window == 'undefined')
{
expect = actual = 'Test skipped: browser only';
reportCompare(expect, actual, summary);
}
else
{
gDelayTestDriverEnd = true;
jit(true);
function newScriptWithLoop(m)
{
var ns = document.createElement("script");
var nt = document.createTextNode("for (var q = 0; q < " + m + "; ++q) { }");
ns.appendChild(nt);
return ns;
}
function boom()
{
var div = document.createElement("div");
div.appendChild(newScriptWithLoop(7));
div.appendChild(newScriptWithLoop(1));
document.body.appendChild(div);
jit(false);
reportCompare(expect, actual, summary);
gDelayTestDriverEnd = false;
jsTestDriverEnd();
}
window.addEventListener('load', boom, false);
}
exitFunc ('test');
}

Просмотреть файл

@ -0,0 +1,74 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Carsten Book
* Jesse Ruderman
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-476192.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 476192;
var summary = 'TM: Do not assert: Assertion failure: JSVAL_TAG(v) == JSVAL_STRING';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
var global;
(function(){
var ad = {present: ""};
var params = ['present', 'a', 'present', 'a', 'present', 'a', 'present'];
for (var j = 0; j < params.length; j++) {
global = ad[params[j]];
}
})();
jit(false);
reportCompare(expect, actual, summary);
exitFunc ('test');
}

Просмотреть файл

@ -0,0 +1,68 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Carsten Book
* Jesse Ruderman
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-480147.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 480147;
var summary = 'TM: Do not assert: cx->bailExit';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
var w = [/a/, /b/, /c/, {}];
for (var i = 0; i < w.length; ++i)
"".replace(w[i], "");
jit(false);
reportCompare(expect, actual, summary);
exitFunc ('test');
}

Просмотреть файл

@ -0,0 +1,61 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-482421.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 482421;
var summary = 'TM: Do not assert: vp >= StackBase(fp)';
var actual = '';
var expect = '';
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
function f()
{
var x;
var foo = "for (var z = 0; z < 2; ++z) { new Object(new String(this), x)}";
foo.replace(/\n/g, " ");
eval(foo);
}
f();
jit(false);
reportCompare(expect, actual, summary);

Просмотреть файл

@ -0,0 +1,63 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Jesse Ruderman
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-460504.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 460504;
var summary = 'Decompilation of genexp in for-loop condition';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
expect = 'function () { for(; x, (1 for each (y in [])); ) { } }';
f = (function () { for(; x, (1 for each (y in [])); ) { } });
actual = f + '';
compareSource(expect, actual, summary);
exitFunc ('test');
}

Просмотреть файл

@ -0,0 +1,51 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-452913.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 452913;
var summary = 'Do not crash with defined getter and for (let)';
var actual = '';
var expect = '';
printBugNumber(BUGNUMBER);
printStatus (summary);
(this.__defineGetter__("x", function (x)'foo'.replace(/o/g, [1].push)));
for(let y in [,,,]) for(let y in [,,,]) x = x;
reportCompare(expect, actual, summary);

Просмотреть файл

@ -0,0 +1,54 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-481989.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 481989;
var summary = 'TM: Do not assert: SPROP_HAS_STUB_SETTER(sprop)';
var actual = '';
var expect = '';
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
y = this.watch("x", function(){}); for each (let y in ['', '']) x = y;
jit(true);
reportCompare(expect, actual, summary);

Просмотреть файл

@ -0,0 +1,57 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-482263.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 482263;
var summary = 'TM: Do not assert: x->oprnd2() == lirbuf->sp || x->oprnd2() == gp_ins';
var actual = '';
var expect = '';
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
__proto__.x getter= function () { return <y/>.([]) };
for each (let x in []) { for each (let x in ['', '']) { } }
jit(true);
reportCompare(expect, actual, summary);
delete __proto__.x;

Просмотреть файл

@ -0,0 +1,71 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-479740.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 479740;
var summary = 'TM: Do not crash @ TraceRecorder::test_property_cache';
var actual = '';
var expect = '';
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
try
{
eval(
' function f() {' +
' for ( foobar in (function() {' +
' for (var x = 0; x < 2; ++x) {' +
' if (x % 2 == 1) { yield (this.z.z) = function(){} }' +
' eval("this", false);' +
' }' +
' })());' +
' function(){}' +
' }' +
' f();'
);
}
catch(ex)
{
}
jit(false);
reportCompare(expect, actual, summary);

Просмотреть файл

@ -0,0 +1,65 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is JavaScript Engine testing utilities.
*
* The Initial Developer of the Original Code is
* Mozilla Foundation.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s): Gary Kwong
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
var gTestfile = 'regress-481800.js';
//-----------------------------------------------------------------------------
var BUGNUMBER = 481800;
var summary = 'TM: Do not assert: (!lhs->isQuad() && !rhs->isQuad()) || (lhs->isQuad() && rhs->isQuad())';
var actual = '';
var expect = '';
//-----------------------------------------------------------------------------
test();
//-----------------------------------------------------------------------------
function test()
{
enterFunc ('test');
printBugNumber(BUGNUMBER);
printStatus (summary);
jit(true);
for each (let x in ['', 0, 0, eval]) { y = x } ( function(){} );
jit(false);
reportCompare(expect, actual, summary);
exitFunc ('test');
}

Просмотреть файл

@ -234,7 +234,7 @@ function check(desc, actual, expected, oldJITstats, expectedJITstats)
}
});
}
print(desc, ": FAILED: expected", typeof(expected),
print("TEST-UNEXPECTED-FAIL | trace-test.js |", desc, ": expected", typeof(expected),
"(", uneval(expected), ")",
(expectedStats ? " [" + expectedStats + "] " : ""),
"!= actual",
@ -1731,8 +1731,8 @@ function testNestedExitStackOuter() {
testNestedExitStackOuter.expected = 81;
testNestedExitStackOuter.jitstats = {
recorderStarted: 5,
recorderAborted: 2,
traceTriggered: 11
recorderAborted: 1,
traceTriggered: 10
};
test(testNestedExitStackOuter);
@ -2637,9 +2637,9 @@ function testWeirdDateParse() {
}
testWeirdDateParse.expected = "11,17,2008,11,17,2008,11,17,2008,11,17,2008,11,17,2008";
testWeirdDateParse.jitstats = {
recorderStarted: 7,
recorderStarted: 8,
recorderAborted: 1,
traceCompleted: 6,
traceCompleted: 7,
traceTriggered: 14,
unstableLoopVariable: 3,
noCompatInnerTrees: 1
@ -4525,6 +4525,86 @@ function testLambdaCtor() {
testLambdaCtor.expected = true;
test(testLambdaCtor);
function testNonStubGetter() {
let ([] = false) { (this.watch("x", /a/g)); };
(function () { (eval("(function(){for each (x in [1, 2, 2]);});"))(); })();
this.unwatch("x");
return "ok";
}
testNonStubGetter.expected = "ok";
test(testNonStubGetter);
function testString() {
var q;
for (var i = 0; i <= RUNLOOP; ++i) {
q = [];
q.push(String(void 0));
q.push(String(true));
q.push(String(5));
q.push(String(5.5));
q.push(String("5"));
q.push(String([5]));
}
return q.join(",");
}
testString.expected = "undefined,true,5,5.5,5,5";
testString.jitstats = {
recorderStarted: 1,
sideExitIntoInterpreter: 1
};
test(testString);
function testToStringBeforeValueOf()
{
var o = {toString: function() { return "s"; }, valueOf: function() { return "v"; } };
var a = [];
for (var i = 0; i < 10; i++)
a.push(String(o));
return a.join(",");
}
testToStringBeforeValueOf.expected = "s,s,s,s,s,s,s,s,s,s";
testToStringBeforeValueOf.jitstats = {
recorderStarted: 1,
sideExitIntoInterpreter: 1
};
test(testToStringBeforeValueOf);
function testNullToString()
{
var a = [];
for (var i = 0; i < 10; i++)
a.push(String(null));
for (i = 0; i < 10; i++) {
var t = typeof a[i];
if (t != "string")
a.push(t);
}
return a.join(",");
}
testNullToString.expected = "null,null,null,null,null,null,null,null,null,null";
testNullToString.jitstats = {
recorderStarted: 2,
sideExitIntoInterpreter: 2,
recorderAborted: 0
};
test(testNullToString);
function testAddNull()
{
var rv;
for (var x = 0; x < HOTLOOP + 1; ++x)
rv = null + [,,];
return rv;
}
testAddNull.expected = "null,";
testAddNull.jitstats = {
recorderStarted: 1,
sideExitIntoInterpreter: 1,
recorderAborted: 0
};
test(testAddNull);
/*****************************************************************************
* *
* _____ _ _ _____ ______ _____ _______ *

Различия файлов скрыты, потому что одна или несколько строк слишком длинны

Просмотреть файл

@ -142,6 +142,6 @@ js1_7/extensions/regress-353249.js
js1_7/regress/regress-420399.js
#
js1_7/decompilation/regress-371802.js
bug 446026
# bug 446026
js1_8/regress/regress-442333-01.js
js1_6/Array/regress-320887.js

Просмотреть файл

@ -401,25 +401,45 @@ case $testtype in
if ! grep -q $jsfile $excludetestsfile; then
version=`shellfileversion $jsfile`
subsuitetestdir=`dirname $jsfile`
suitetestdir=`dirname $subsuitetestdir`
echo "JavaScriptTest: Begin Test $jsfile"
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
$EXECUTABLE_DRIVER \
$executable -v $version \
-S 524288 \
$gczealshell \
$splitobjects \
$jitshell \
-f ./shell.js \
-f $suitetestdir/shell.js \
-f $subsuitetestdir/shell.js \
-f ./$jsfile \
-f ./js-test-driver-end.js; then
true
if [[ -z "$NARCISSUS" ]]; then
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
$EXECUTABLE_DRIVER \
$executable -v $version \
-S 524288 \
$gczealshell \
$splitobjects \
$jitshell \
-f ./shell.js \
-f $suitetestdir/shell.js \
-f $subsuitetestdir/shell.js \
-f ./$jsfile \
-f ./js-test-driver-end.js; then
true
else
rc=$?
fi
else
rc=$?
if eval $TIMECOMMAND timed_run.py $TEST_JSEACH_TIMEOUT \"$jsfile\" \
$EXECUTABLE_DRIVER \
$executable -v $version \
-S 524288 \
$gczealshell \
$splitobjects \
$jitshell \
-f $NARCISSUS \
-e "evaluate\(\'load\(\\\"./shell.js\\\"\)\'\)" \
-e "evaluate\(\'load\(\\\"$suitetestdir/shell.js\\\"\)\'\)" \
-e "evaluate\(\'load\(\\\"$subsuitetestdir/shell.js\\\"\)\'\)" \
-e "evaluate\(\'load\(\\\"./$jsfile\\\"\)\'\)" \
-e "evaluate\(\'load\(\\\"./js-test-driver-end.js\\\"\)\'\)"; then
true
else
rc=$?
fi
fi
if [[ $rc == 99 ]]; then
# note that this loop is executing in a sub-process

Просмотреть файл

@ -1,124 +0,0 @@
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.0, TEST_PROCESSORTYPE=powerpc32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=darwin, TEST_KERNEL=8.11.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=4, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=linux, TEST_KERNEL=2.6.18, TEST_PROCESSORTYPE=intel64, TEST_MEMORY=8, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.8.1, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=amd32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=-j, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.0, TEST_REPO=CVS, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=mozilla-1.9.1, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.1, TEST_REPO=tracemonkey, TEST_BUILDTYPE=opt, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=debug, TEST_TYPE=shell
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=browser
TEST_OS=nt, TEST_KERNEL=5.1, TEST_PROCESSORTYPE=intel32, TEST_MEMORY=2, TEST_TIMEZONE=-0800, TEST_OPTIONS=none, TEST_BRANCH=1.9.2, TEST_REPO=mozilla-central, TEST_BUILDTYPE=opt, TEST_TYPE=shell

Просмотреть файл

@ -73,6 +73,10 @@ if [[ -n "$TEST_MOZILLA_HG" ]]; then
cd $TEST_MOZILLA_HG_LOCAL
hg pull
if [[ "$OSID" == "nt" ]]; then
# remove spurious lock file
rm -f $TEST_MOZILLA_HG_LOCAL/.hg/wlock.lnk
fi
hg update -C
echo "`hg root` id `hg id`"
fi
@ -89,6 +93,10 @@ if [[ -n "$TEST_MOZILLA_HG" ]]; then
cd mozilla
hg pull
if [[ "$OSID" == "nt" ]]; then
# remove spurious lock file
rm -f $TEST_MOZILLA_HG/.hg/wlock.lnk
fi
hg update -C
hg update -r $TEST_MOZILLA_HG_REV
@ -182,7 +190,7 @@ case $product in
case $branch in
1.9.1|1.9.2)
# XXX need to generalize the mobile-browser repository
if [[ ! -d mobile/.hg ]]; then
if ! hg clone http://hg.mozilla.org/mobile-browser $BUILDTREE/mozilla/mobile; then
@ -192,13 +200,17 @@ case $product in
cd mobile
hg pull
if [[ "$OSID" == "nt" ]]; then
# remove spurious lock file
rm -f .hg/wlock.lnk
fi
hg update -C
# XXX need to deal with mobile revisions from different repositories
cd ../
# do not use mozilla-build on windows systems as we
# do not use mozilla-build on windows systems as we
# must use the cygwin python with the cygwin mercurial.
if ! python client.py checkout; then

Просмотреть файл

@ -272,6 +272,11 @@ for step in step1; do # dummy loop for handling exits
;;
-jprof)
;;
-narcissus)
export XCFLAGS="-DNARCISSUS=1"
export CFLAGS="-DNARCISSUS=1"
export CXXFLAGS="-DNARCISSUS=1"
;;
esac
if [[ ! -d $BUILDTREE ]]; then

Просмотреть файл

@ -0,0 +1,7 @@
product=${product:-js}
branch=${branch:-1.9.2}
buildtype=${buildtype:-debug}
jsshellsourcepath=${jsshellsourcepath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/src}
TEST_MOZILLA_HG=${TEST_MOZILLA_HG:-http://hg.mozilla.org/mozilla-central}
TEST_MOZILLA_HG_REV=${TEST_MOZILLA_HG_REV:-tip}
NARCISSUS=${narcissuspath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/narcissus/js.js}

Просмотреть файл

@ -0,0 +1,7 @@
product=${product:-js}
branch=${branch:-1.9.2}
buildtype=${buildtype:-opt}
jsshellsourcepath=${jsshellsourcepath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/src}
TEST_MOZILLA_HG=${TEST_MOZILLA_HG:-http://hg.mozilla.org/mozilla-central}
TEST_MOZILLA_HG_REV=${TEST_MOZILLA_HG_REV:-tip}
NARCISSUS=${narcissuspath:-/work/mozilla/builds/1.9.2-narcissus/mozilla/js/narcissus/js.js}