Bug 730511: remove obsolete typedefs intN, uintN, r=luke
authorDavid Mandelin <dmandelin@mozilla.com>
Tue, 28 Feb 2012 15:11:11 -0800
changeset 87967 9dde6af30ab201c2fdb0084e298182533eac48ff
parent 87966 20db0f825b05015847ba3acc2f08126406839d5f
child 87968 9b7d19dbb281aa8d6ebde4ee0e7ee1af2b8adbf0
push idunknown
push userunknown
push dateunknown
reviewersluke
bugs730511
milestone13.0a1
Bug 730511: remove obsolete typedefs intN, uintN, r=luke
caps/src/nsSecurityManagerFactory.cpp
content/canvas/src/CustomQS_Canvas2D.h
content/canvas/src/CustomQS_WebGL.h
content/xbl/src/nsXBLBinding.cpp
content/xbl/src/nsXBLProtoImplField.h
content/xbl/src/nsXBLProtoImplProperty.h
dom/base/nsDOMClassInfo.cpp
dom/base/nsDOMClassInfo.h
dom/base/nsGlobalWindow.h
dom/base/nsJSEnvironment.cpp
dom/indexedDB/IDBKeyRange.cpp
dom/plugins/base/nsJSNPRuntime.cpp
dom/system/b2g/SystemWorkerManager.cpp
dom/workers/EventTarget.cpp
dom/workers/EventTarget.h
dom/workers/Events.cpp
dom/workers/Exceptions.cpp
dom/workers/Exceptions.h
dom/workers/File.cpp
dom/workers/FileReaderSync.cpp
dom/workers/Location.cpp
dom/workers/Navigator.cpp
dom/workers/RuntimeService.cpp
dom/workers/ScriptLoader.cpp
dom/workers/ScriptLoader.h
dom/workers/Worker.cpp
dom/workers/WorkerPrivate.cpp
dom/workers/WorkerPrivate.h
dom/workers/WorkerScope.cpp
dom/workers/Workers.h
dom/workers/XMLHttpRequest.cpp
dom/workers/XMLHttpRequestPrivate.cpp
gfx/skia/src/xml/SkJS.cpp
gfx/skia/src/xml/SkJSDisplayable.cpp
ipc/testshell/TestShellParent.cpp
ipc/testshell/XPCShellEnvironment.cpp
js/ipc/ObjectWrapperParent.cpp
js/ipc/ObjectWrapperParent.h
js/jsd/jsd.h
js/jsd/jsd_atom.c
js/jsd/jsd_hook.c
js/jsd/jsd_obj.c
js/jsd/jsd_scpt.c
js/jsd/jsd_stak.c
js/jsd/jsd_step.c
js/jsd/jsd_text.c
js/jsd/jsd_val.c
js/jsd/jsd_xpc.cpp
js/jsd/jsdebug.c
js/jsd/jsdebug.h
js/src/assembler/jit/ExecutableAllocatorWin.cpp
js/src/builtin/MapObject.cpp
js/src/builtin/MapObject.h
js/src/builtin/RegExp.cpp
js/src/builtin/RegExp.h
js/src/ctypes/CTypes.cpp
js/src/ctypes/CTypes.h
js/src/ctypes/Library.cpp
js/src/ctypes/Library.h
js/src/frontend/BytecodeCompiler.cpp
js/src/frontend/BytecodeCompiler.h
js/src/frontend/BytecodeEmitter.cpp
js/src/frontend/BytecodeEmitter.h
js/src/frontend/ParseNode.h
js/src/frontend/Parser.cpp
js/src/frontend/Parser.h
js/src/frontend/SemanticAnalysis.cpp
js/src/frontend/TokenStream.cpp
js/src/frontend/TokenStream.h
js/src/jsanalyze.cpp
js/src/jsapi-tests/testBug604087.cpp
js/src/jsapi-tests/testChromeBuffer.cpp
js/src/jsapi-tests/testClassGetter.cpp
js/src/jsapi-tests/testContexts.cpp
js/src/jsapi-tests/testCustomIterator.cpp
js/src/jsapi-tests/testDebugger.cpp
js/src/jsapi-tests/testDefineGetterSetterNonEnumerable.cpp
js/src/jsapi-tests/testLookup.cpp
js/src/jsapi-tests/testNewObject.cpp
js/src/jsapi-tests/testOps.cpp
js/src/jsapi-tests/testParseJSON.cpp
js/src/jsapi-tests/testResolveRecursion.cpp
js/src/jsapi-tests/testScriptInfo.cpp
js/src/jsapi-tests/testVersion.cpp
js/src/jsapi-tests/testXDR.cpp
js/src/jsapi-tests/tests.h
js/src/jsapi.cpp
js/src/jsapi.h
js/src/jsarray.cpp
js/src/jsarray.h
js/src/jsarrayinlines.h
js/src/jsbool.cpp
js/src/jsclass.h
js/src/jscntxt.cpp
js/src/jscntxt.h
js/src/jscntxtinlines.h
js/src/jscompartment.cpp
js/src/jscompartment.h
js/src/jscompat.h
js/src/jsdate.cpp
js/src/jsdate.h
js/src/jsdbgapi.cpp
js/src/jsdbgapi.h
js/src/jsexn.cpp
js/src/jsexn.h
js/src/jsfriendapi.cpp
js/src/jsfriendapi.h
js/src/jsfun.cpp
js/src/jsfun.h
js/src/jsfuninlines.h
js/src/jsgc.cpp
js/src/jshash.cpp
js/src/jshash.h
js/src/jsinfer.cpp
js/src/jsinterp.cpp
js/src/jsinterp.h
js/src/jsinterpinlines.h
js/src/jsiter.cpp
js/src/jsiter.h
js/src/jsmath.cpp
js/src/jsmath.h
js/src/jsnum.cpp
js/src/jsnum.h
js/src/jsobj.cpp
js/src/jsobj.h
js/src/jsobjinlines.h
js/src/json.cpp
js/src/jsopcode.cpp
js/src/jsopcode.h
js/src/jspropertycache.cpp
js/src/jspropertycache.h
js/src/jsproxy.cpp
js/src/jsproxy.h
js/src/jsprvtd.h
js/src/jsreflect.cpp
js/src/jsscope.cpp
js/src/jsscope.h
js/src/jsscopeinlines.h
js/src/jsscript.cpp
js/src/jsscript.h
js/src/jsscriptinlines.h
js/src/jsstr.cpp
js/src/jsstr.h
js/src/jsstrinlines.h
js/src/jstypedarray.cpp
js/src/jstypedarray.h
js/src/jsutil.cpp
js/src/jsweakmap.cpp
js/src/jswrapper.cpp
js/src/jswrapper.h
js/src/jsxml.cpp
js/src/jsxml.h
js/src/methodjit/Compiler.cpp
js/src/methodjit/Compiler.h
js/src/methodjit/MonoIC.cpp
js/src/methodjit/PolyIC.cpp
js/src/methodjit/StubCalls.cpp
js/src/perf/jsperf.cpp
js/src/shell/js.cpp
js/src/shell/jsheaptools.cpp
js/src/shell/jsheaptools.h
js/src/shell/jsoptparse.cpp
js/src/shell/jsworkers.cpp
js/src/vm/BooleanObject.h
js/src/vm/Debugger.cpp
js/src/vm/Debugger.h
js/src/vm/GlobalObject.cpp
js/src/vm/GlobalObject.h
js/src/vm/NumberObject.h
js/src/vm/RegExpObject.cpp
js/src/vm/RegExpObject.h
js/src/vm/ScopeObject-inl.h
js/src/vm/ScopeObject.cpp
js/src/vm/ScopeObject.h
js/src/vm/Stack-inl.h
js/src/vm/Stack.cpp
js/src/vm/Stack.h
js/src/vm/StringObject.h
js/xpconnect/loader/mozJSComponentLoader.cpp
js/xpconnect/shell/xpcshell.cpp
js/xpconnect/src/XPCCallContext.cpp
js/xpconnect/src/XPCComponents.cpp
js/xpconnect/src/XPCConvert.cpp
js/xpconnect/src/XPCInlines.h
js/xpconnect/src/XPCJSRuntime.cpp
js/xpconnect/src/XPCLocale.cpp
js/xpconnect/src/XPCQuickStubs.cpp
js/xpconnect/src/XPCQuickStubs.h
js/xpconnect/src/XPCThrower.cpp
js/xpconnect/src/XPCWrappedNative.cpp
js/xpconnect/src/XPCWrappedNativeInfo.cpp
js/xpconnect/src/XPCWrappedNativeJSOps.cpp
js/xpconnect/src/XPCWrapper.cpp
js/xpconnect/src/codegen.py
js/xpconnect/src/dom_quickstubs.qsconf
js/xpconnect/src/dombindings.cpp
js/xpconnect/src/dombindings.h
js/xpconnect/src/nsXPConnect.cpp
js/xpconnect/src/qsgen.py
js/xpconnect/src/xpcprivate.h
js/xpconnect/wrappers/AccessCheck.cpp
js/xpconnect/wrappers/CrossOriginWrapper.cpp
js/xpconnect/wrappers/CrossOriginWrapper.h
js/xpconnect/wrappers/FilteringWrapper.cpp
js/xpconnect/wrappers/FilteringWrapper.h
js/xpconnect/wrappers/WrapperFactory.cpp
js/xpconnect/wrappers/WrapperFactory.h
js/xpconnect/wrappers/XrayWrapper.cpp
js/xpconnect/wrappers/XrayWrapper.h
toolkit/components/telemetry/Telemetry.cpp
--- a/caps/src/nsSecurityManagerFactory.cpp
+++ b/caps/src/nsSecurityManagerFactory.cpp
@@ -68,41 +68,41 @@ nsSecurityNameSet::nsSecurityNameSet()
 
 nsSecurityNameSet::~nsSecurityNameSet()
 {
 }
 
 NS_IMPL_ISUPPORTS1(nsSecurityNameSet, nsIScriptExternalNameSet)
 
 static JSString *
-getStringArgument(JSContext *cx, JSObject *obj, PRUint16 argNum, uintN argc, jsval *argv)
+getStringArgument(JSContext *cx, JSObject *obj, PRUint16 argNum, unsigned argc, jsval *argv)
 {
     if (argc <= argNum || !JSVAL_IS_STRING(argv[argNum])) {
         JS_ReportError(cx, "String argument expected");
         return nsnull;
     }
 
     /*
      * We don't want to use JS_ValueToString because we want to be able
      * to have an object to represent a target in subsequent versions.
      */
     return JSVAL_TO_STRING(argv[argNum]);
 }
 
 static bool
-getBytesArgument(JSContext *cx, JSObject *obj, PRUint16 argNum, uintN argc, jsval *argv,
+getBytesArgument(JSContext *cx, JSObject *obj, PRUint16 argNum, unsigned argc, jsval *argv,
                  JSAutoByteString *bytes)
 {
     JSString *str = getStringArgument(cx, obj, argNum, argc, argv);
     return str && bytes->encode(cx, str);
 }
 
 static void
 getUTF8StringArgument(JSContext *cx, JSObject *obj, PRUint16 argNum,
-                      uintN argc, jsval *argv, nsCString& aRetval)
+                      unsigned argc, jsval *argv, nsCString& aRetval)
 {
     aRetval.Truncate();
 
     if (argc <= argNum || !JSVAL_IS_STRING(argv[argNum])) {
         JS_ReportError(cx, "String argument expected");
         return;
     }
 
@@ -117,17 +117,17 @@ getUTF8StringArgument(JSContext *cx, JSO
     const PRUnichar *data = JS_GetStringCharsZ(cx, str);
     if (!data)
         return;
 
     CopyUTF16toUTF8(data, aRetval);
 }
 
 static JSBool
-netscape_security_isPrivilegeEnabled(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_isPrivilegeEnabled(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     bool result = false;
     if (JSString *str = getStringArgument(cx, obj, 0, argc, JS_ARGV(cx, vp))) {
         JSAutoByteString cap(cx, str);
@@ -148,17 +148,17 @@ netscape_security_isPrivilegeEnabled(JSC
         return JS_FALSE;
     }
     JS_SET_RVAL(cx, vp, BOOLEAN_TO_JSVAL(result));
     return JS_TRUE;
 }
 
 
 static JSBool
-netscape_security_enablePrivilege(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_enablePrivilege(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     JSAutoByteString cap;
     if (!getBytesArgument(cx, obj, 0, argc, JS_ARGV(cx, vp), &cap))
         return JS_FALSE;
@@ -191,17 +191,17 @@ netscape_security_enablePrivilege(JSCont
     rv = securityManager->EnableCapability(cap.ptr());
     if (NS_FAILED(rv))
         return JS_FALSE;
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-netscape_security_disablePrivilege(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_disablePrivilege(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     JSAutoByteString cap;
     if (!getBytesArgument(cx, obj, 0, argc, JS_ARGV(cx, vp), &cap))
         return JS_FALSE;
@@ -217,17 +217,17 @@ netscape_security_disablePrivilege(JSCon
     rv = securityManager->DisableCapability(cap.ptr());
     if (NS_FAILED(rv))
         return JS_FALSE;
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-netscape_security_revertPrivilege(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_revertPrivilege(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     JSAutoByteString cap;
     if (!getBytesArgument(cx, obj, 0, argc, JS_ARGV(cx, vp), &cap))
         return JS_FALSE;
@@ -243,17 +243,17 @@ netscape_security_revertPrivilege(JSCont
     rv = securityManager->RevertCapability(cap.ptr());
     if (NS_FAILED(rv))
         return JS_FALSE;
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-netscape_security_setCanEnablePrivilege(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_setCanEnablePrivilege(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     if (argc < 2) return JS_FALSE;
     nsCAutoString principalFingerprint;
     getUTF8StringArgument(cx, obj, 0, argc, JS_ARGV(cx, vp), principalFingerprint);
@@ -275,17 +275,17 @@ netscape_security_setCanEnablePrivilege(
                                                  nsIPrincipal::ENABLE_GRANTED);
     if (NS_FAILED(rv))
         return JS_FALSE;
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-netscape_security_invalidate(JSContext *cx, uintN argc, jsval *vp)
+netscape_security_invalidate(JSContext *cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsCAutoString principalFingerprint;
     getUTF8StringArgument(cx, obj, 0, argc, JS_ARGV(cx, vp), principalFingerprint);
     if (principalFingerprint.IsEmpty())
--- a/content/canvas/src/CustomQS_Canvas2D.h
+++ b/content/canvas/src/CustomQS_Canvas2D.h
@@ -241,17 +241,17 @@ GetImageDataDimensions(JSContext *cx, JS
         return xpc_qsThrow(cx, NS_ERROR_DOM_INDEX_SIZE_ERR);
 
     *width = uint32_t(wi);
     *height = uint32_t(hi);
     return true;
 }
 
 static JSBool
-nsIDOMCanvasRenderingContext2D_CreateImageData(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMCanvasRenderingContext2D_CreateImageData(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
 
     /* Note: this doesn't need JS_THIS_OBJECT */
 
     if (argc < 1)
         return xpc_qsThrow(cx, NS_ERROR_XPC_NOT_ENOUGH_ARGS);
 
@@ -287,17 +287,17 @@ nsIDOMCanvasRenderingContext2D_CreateIma
     int32_t hi = JS_DoubleToInt32(height);
 
     uint32_t w = NS_ABS(wi);
     uint32_t h = NS_ABS(hi);
     return CreateImageData(cx, w, h, NULL, 0, 0, vp);
 }
 
 static JSBool
-nsIDOMCanvasRenderingContext2D_GetImageData(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMCanvasRenderingContext2D_GetImageData(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
 
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsIDOMCanvasRenderingContext2D *self;
@@ -344,17 +344,17 @@ nsIDOMCanvasRenderingContext2D_GetImageD
         y -= h;
     } else {
         h = hi;
     }
     return CreateImageData(cx, w, h, self, x, y, vp);
 }
 
 static JSBool
-nsIDOMCanvasRenderingContext2D_PutImageData(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMCanvasRenderingContext2D_PutImageData(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
 
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
--- a/content/canvas/src/CustomQS_WebGL.h
+++ b/content/canvas/src/CustomQS_WebGL.h
@@ -78,17 +78,17 @@ helper_isFloat32Array(JSObject *obj) {
 
 /*
  * BufferData takes:
  *    BufferData (int, int, int)
  *    BufferData_buf (int, js::ArrayBuffer *, int)
  *    BufferData_array (int, js::TypedArray *, int)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_BufferData(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_BufferData(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsIDOMWebGLRenderingContext *self;
     xpc_qsSelfRef selfref;
@@ -151,17 +151,17 @@ nsIDOMWebGLRenderingContext_BufferData(J
 }
 
 /*
  * BufferSubData takes:
  *    BufferSubData (int, int, js::ArrayBuffer *)
  *    BufferSubData_array (int, int, js::TypedArray *)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_BufferSubData(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_BufferSubData(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsIDOMWebGLRenderingContext *self;
     xpc_qsSelfRef selfref;
@@ -223,17 +223,17 @@ nsIDOMWebGLRenderingContext_BufferSubDat
     return JS_TRUE;
 }
 
 /*
  * CompressedTexImage2D takes:
  *    CompressedTexImage2D(uint, int, uint, int, int, int, ArrayBufferView)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_CompressedTexImage2D(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_CompressedTexImage2D(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -273,17 +273,17 @@ nsIDOMWebGLRenderingContext_CompressedTe
     return JS_TRUE;
 }
 
 /*
  * CompressedTexSubImage2D takes:
  *    CompressedTexSubImage2D(uint, int, int, int, int, int, uint, ArrayBufferView)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_CompressedTexSubImage2D(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_CompressedTexSubImage2D(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -324,17 +324,17 @@ nsIDOMWebGLRenderingContext_CompressedTe
     return JS_TRUE;
 }
 
 /*
  * ReadPixels takes:
  *    ReadPixels(int, int, int, int, uint, uint, ArrayBufferView)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_ReadPixels(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_ReadPixels(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -384,17 +384,17 @@ nsIDOMWebGLRenderingContext_ReadPixels(J
 
 /*
  * TexImage2D takes:
  *    TexImage2D(uint, int, uint, int, int, int, uint, uint, ArrayBufferView)
  *    TexImage2D(uint, int, uint, uint, uint, nsIDOMElement)
  *    TexImage2D(uint, int, uint, uint, uint, ImageData)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_TexImage2D(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_TexImage2D(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -505,17 +505,17 @@ nsIDOMWebGLRenderingContext_TexImage2D(J
 }
 
 /* TexSubImage2D takes:
  *    TexSubImage2D(uint, int, int, int, int, int, uint, uint, ArrayBufferView)
  *    TexSubImage2D(uint, int, int, int, uint, uint, nsIDOMElement)
  *    TexSubImage2D(uint, int, int, int, uint, uint, ImageData)
  */
 static JSBool
-nsIDOMWebGLRenderingContext_TexSubImage2D(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_TexSubImage2D(JSContext *cx, unsigned argc, jsval *vp)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -616,17 +616,17 @@ nsIDOMWebGLRenderingContext_TexSubImage2
         return xpc_qsThrowMethodFailed(cx, rv, vp);
 
     *vp = JSVAL_VOID;
     return JS_TRUE;
 }
 
 /* NOTE: There is a TN version of this below, update it as well */
 static inline JSBool
-helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(JSContext *cx, uintN argc, jsval *vp, int nElements)
+helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(JSContext *cx, unsigned argc, jsval *vp, int nElements)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -690,17 +690,17 @@ helper_nsIDOMWebGLRenderingContext_Unifo
         return xpc_qsThrowMethodFailed(cx, rv, vp);
 
     *vp = JSVAL_VOID;
     return JS_TRUE;
 }
 
 /* NOTE: There is a TN version of this below, update it as well */
 static inline JSBool
-helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(JSContext *cx, uintN argc, jsval *vp, int nElements)
+helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(JSContext *cx, unsigned argc, jsval *vp, int nElements)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsresult rv;
 
@@ -764,17 +764,17 @@ helper_nsIDOMWebGLRenderingContext_Unifo
         return xpc_qsThrowMethodFailed(cx, rv, vp);
 
     *vp = JSVAL_VOID;
     return JS_TRUE;
 }
 
 /* NOTE: There is a TN version of this below, update it as well */
 static inline JSBool
-helper_nsIDOMWebGLRenderingContext_UniformMatrix_x_fv(JSContext *cx, uintN argc, jsval *vp, int nElements)
+helper_nsIDOMWebGLRenderingContext_UniformMatrix_x_fv(JSContext *cx, unsigned argc, jsval *vp, int nElements)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsIDOMWebGLRenderingContext *self;
     xpc_qsSelfRef selfref;
@@ -837,17 +837,17 @@ helper_nsIDOMWebGLRenderingContext_Unifo
     if (NS_FAILED(rv))
         return xpc_qsThrowMethodFailed(cx, rv, vp);
 
     *vp = JSVAL_VOID;
     return JS_TRUE;
 }
 
 static inline JSBool
-helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(JSContext *cx, uintN argc, jsval *vp, int nElements)
+helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(JSContext *cx, unsigned argc, jsval *vp, int nElements)
 {
     XPC_QS_ASSERT_CONTEXT_OK(cx);
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
 
     nsIDOMWebGLRenderingContext *self;
     xpc_qsSelfRef selfref;
@@ -905,96 +905,96 @@ helper_nsIDOMWebGLRenderingContext_Verte
     if (NS_FAILED(rv))
         return xpc_qsThrowMethodFailed(cx, rv, vp);
 
     *vp = JSVAL_VOID;
     return JS_TRUE;
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform1iv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform1iv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(cx, argc, vp, 1);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform2iv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform2iv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(cx, argc, vp, 2);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform3iv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform3iv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(cx, argc, vp, 3);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform4iv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform4iv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_iv(cx, argc, vp, 4);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform1fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform1fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(cx, argc, vp, 1);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform2fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform2fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(cx, argc, vp, 2);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform3fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform3fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(cx, argc, vp, 3);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_Uniform4fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_Uniform4fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_Uniform_x_fv(cx, argc, vp, 4);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_UniformMatrix2fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_UniformMatrix2fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_UniformMatrix_x_fv(cx, argc, vp, 2);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_UniformMatrix3fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_UniformMatrix3fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_UniformMatrix_x_fv(cx, argc, vp, 3);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_UniformMatrix4fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_UniformMatrix4fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_UniformMatrix_x_fv(cx, argc, vp, 4);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_VertexAttrib1fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_VertexAttrib1fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(cx, argc, vp, 1);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_VertexAttrib2fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_VertexAttrib2fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(cx, argc, vp, 2);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_VertexAttrib3fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_VertexAttrib3fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(cx, argc, vp, 3);
 }
 
 static JSBool
-nsIDOMWebGLRenderingContext_VertexAttrib4fv(JSContext *cx, uintN argc, jsval *vp)
+nsIDOMWebGLRenderingContext_VertexAttrib4fv(JSContext *cx, unsigned argc, jsval *vp)
 {
     return helper_nsIDOMWebGLRenderingContext_VertexAttrib_x_fv(cx, argc, vp, 4);
 }
--- a/content/xbl/src/nsXBLBinding.cpp
+++ b/content/xbl/src/nsXBLBinding.cpp
@@ -111,17 +111,17 @@ XBLFinalize(JSContext *cx, JSObject *obj
     static_cast<nsXBLDocumentInfo*>(::JS_GetPrivate(obj));
   NS_RELEASE(docInfo);
   
   nsXBLJSClass* c = static_cast<nsXBLJSClass*>(::JS_GetClass(obj));
   c->Drop();
 }
 
 static JSBool
-XBLResolve(JSContext *cx, JSObject *obj, jsid id, uintN flags,
+XBLResolve(JSContext *cx, JSObject *obj, jsid id, unsigned flags,
            JSObject **objp)
 {
   // Note: if we get here, that means that the implementation for some binding
   // was installed, which means that AllowScripts() tested true.  Hence no need
   // to do checks like that here.
   
   // Default to not resolving things.
   NS_ASSERTION(*objp, "Must have starting object");
--- a/content/xbl/src/nsXBLProtoImplField.h
+++ b/content/xbl/src/nsXBLProtoImplField.h
@@ -75,12 +75,12 @@ public:
   const PRUnichar* GetName() const { return mName; }
 
 protected:
   nsXBLProtoImplField* mNext;
   PRUnichar* mName;
   PRUnichar* mFieldText;
   PRUint32 mFieldTextLength;
   PRUint32 mLineNumber;
-  uintN mJSAttributes;
+  unsigned mJSAttributes;
 };
 
 #endif // nsXBLProtoImplField_h__
--- a/content/xbl/src/nsXBLProtoImplProperty.h
+++ b/content/xbl/src/nsXBLProtoImplProperty.h
@@ -92,16 +92,16 @@ protected:
 
   union {
     // The raw text for the setter (prior to compilation).
     nsXBLTextWithLineNumber* mSetterText;
     // The JS object for the setter (after compilation)
     JSObject *               mJSSetterObject;
   };
   
-  uintN mJSAttributes;          // A flag for all our JS properties (getter/setter/readonly/shared/enum)
+  unsigned mJSAttributes;          // A flag for all our JS properties (getter/setter/readonly/shared/enum)
 
 #ifdef DEBUG
   bool mIsCompiled;
 #endif
 };
 
 #endif // nsXBLProtoImplProperty_h__
--- a/dom/base/nsDOMClassInfo.cpp
+++ b/dom/base/nsDOMClassInfo.cpp
@@ -5230,17 +5230,17 @@ GetDocument(JSObject *obj)
 {
   return static_cast<nsHTMLDocument*>(
     static_cast<nsIHTMLDocument*>(::JS_GetPrivate(obj)));
 }
 
 // static
 JSBool
 nsWindowSH::GlobalScopePolluterNewResolve(JSContext *cx, JSObject *obj,
-                                          jsid id, uintN flags,
+                                          jsid id, unsigned flags,
                                           JSObject **objp)
 {
   if (flags & (JSRESOLVE_ASSIGNING | JSRESOLVE_DECLARING |
                JSRESOLVE_CLASSNAME | JSRESOLVE_QUALIFIED) ||
       !JSID_IS_STRING(id)) {
     // Nothing to do here if we're either assigning or declaring,
     // resolving a class name, doing a qualified resolve, or
     // resolving a number.
@@ -5536,17 +5536,17 @@ FindConstructorFunc(const nsDOMClassInfo
     }
   }
   return nsnull;
 }
 
 static nsresult
 BaseStubConstructor(nsIWeakReference* aWeakOwner,
                     const nsGlobalNameStruct *name_struct, JSContext *cx,
-                    JSObject *obj, uintN argc, jsval *argv, jsval *rval)
+                    JSObject *obj, unsigned argc, jsval *argv, jsval *rval)
 {
   nsresult rv;
   nsCOMPtr<nsISupports> native;
   if (name_struct->mType == nsGlobalNameStruct::eTypeClassConstructor) {
     const nsDOMClassInfoData* ci_data =
       &sClassInfoData[name_struct->mDOMClassInfoID];
     const char *contractid = FindConstructorContractID(ci_data);
     if (contractid) {
@@ -6630,17 +6630,17 @@ nsWindowSH::GlobalResolve(nsGlobalWindow
   }
 
   return rv;
 }
 
 // Native code for window._content getter, this simply maps
 // window._content to window.content for backwards compatibility only.
 static JSBool
-ContentWindowGetter(JSContext *cx, uintN argc, jsval *vp)
+ContentWindowGetter(JSContext *cx, unsigned argc, jsval *vp)
 {
   JSObject *obj = JS_THIS_OBJECT(cx, vp);
   if (!obj)
     return JS_FALSE;
 
   return ::JS_GetProperty(cx, obj, "content", vp);
 }
 
@@ -8872,17 +8872,17 @@ nsHTMLDocumentSH::DocumentAllGetProperty
     *vp = JSVAL_VOID;
   }
 
   return JS_TRUE;
 }
 
 JSBool
 nsHTMLDocumentSH::DocumentAllNewResolve(JSContext *cx, JSObject *obj, jsid id,
-                                        uintN flags, JSObject **objp)
+                                        unsigned flags, JSObject **objp)
 {
   if (flags & JSRESOLVE_ASSIGNING) {
     // Nothing to do here if we're assigning
 
     return JS_TRUE;
   }
 
   jsval v = JSVAL_VOID;
@@ -8942,17 +8942,17 @@ void
 nsHTMLDocumentSH::ReleaseDocument(JSContext *cx, JSObject *obj)
 {
   nsIHTMLDocument *doc = (nsIHTMLDocument *)::JS_GetPrivate(obj);
 
   NS_IF_RELEASE(doc);
 }
 
 JSBool
-nsHTMLDocumentSH::CallToGetPropMapper(JSContext *cx, uintN argc, jsval *vp)
+nsHTMLDocumentSH::CallToGetPropMapper(JSContext *cx, unsigned argc, jsval *vp)
 {
   // Handle document.all("foo") style access to document.all.
 
   if (argc != 1) {
     // XXX: Should throw NS_ERROR_XPC_NOT_ENOUGH_ARGS for argc < 1,
     // and create a new NS_ERROR_XPC_TOO_MANY_ARGS for argc > 1? IE
     // accepts nothing other than one arg.
     nsDOMClassInfo::ThrowJSException(cx, NS_ERROR_INVALID_ARG);
@@ -9068,17 +9068,17 @@ nsHTMLDocumentSH::DocumentAllHelperGetPr
     }
   }
 
   return JS_TRUE;
 }
 
 JSBool
 nsHTMLDocumentSH::DocumentAllHelperNewResolve(JSContext *cx, JSObject *obj,
-                                              jsid id, uintN flags,
+                                              jsid id, unsigned flags,
                                               JSObject **objp)
 {
   if (id == nsDOMClassInfo::sAll_id) {
     // document.all is resolved for the first time. Define it.
     JSObject *helper = GetDocumentAllHelper(obj);
 
     if (helper) {
       if (!::JS_DefineProperty(cx, helper, "all", JSVAL_VOID, nsnull, nsnull,
@@ -9091,17 +9091,17 @@ nsHTMLDocumentSH::DocumentAllHelperNewRe
   }
 
   return JS_TRUE;
 }
 
 
 JSBool
 nsHTMLDocumentSH::DocumentAllTagsNewResolve(JSContext *cx, JSObject *obj,
-                                            jsid id, uintN flags,
+                                            jsid id, unsigned flags,
                                             JSObject **objp)
 {
   if (JSID_IS_STRING(id)) {
     nsDocument *doc = GetDocument(obj);
 
     JSObject *proto = ::JS_GetPrototype(obj);
     if (NS_UNLIKELY(!proto)) {
       return JS_TRUE;
--- a/dom/base/nsDOMClassInfo.h
+++ b/dom/base/nsDOMClassInfo.h
@@ -420,17 +420,17 @@ public:
                         JSObject *obj, jsid id, PRUint32 flags,
                         JSObject **objp, bool *_retval);
   NS_IMETHOD Finalize(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
                       JSObject *obj);
   NS_IMETHOD OuterObject(nsIXPConnectWrappedNative *wrapper, JSContext * cx,
                          JSObject * obj, JSObject * *_retval);
 
   static JSBool GlobalScopePolluterNewResolve(JSContext *cx, JSObject *obj,
-                                              jsid id, uintN flags,
+                                              jsid id, unsigned flags,
                                               JSObject **objp);
   static JSBool GlobalScopePolluterGetProperty(JSContext *cx, JSObject *obj,
                                                jsid id, jsval *vp);
   static JSBool SecurityCheckOnAddDelProp(JSContext *cx, JSObject *obj, jsid id,
                                           jsval *vp);
   static JSBool SecurityCheckOnSetProp(JSContext *cx, JSObject *obj, jsid id,
                                        JSBool strict, jsval *vp);
   static void InvalidateGlobalScopePolluter(JSContext *cx, JSObject *obj);
@@ -858,26 +858,26 @@ protected:
   static JSBool GetDocumentAllNodeList(JSContext *cx, JSObject *obj,
                                        nsDocument *doc,
                                        nsContentList **nodeList);
 
 public:
   static JSBool DocumentAllGetProperty(JSContext *cx, JSObject *obj, jsid id,
                                        jsval *vp);
   static JSBool DocumentAllNewResolve(JSContext *cx, JSObject *obj, jsid id,
-                                      uintN flags, JSObject **objp);
+                                      unsigned flags, JSObject **objp);
   static void ReleaseDocument(JSContext *cx, JSObject *obj);
-  static JSBool CallToGetPropMapper(JSContext *cx, uintN argc, jsval *vp);
+  static JSBool CallToGetPropMapper(JSContext *cx, unsigned argc, jsval *vp);
   static JSBool DocumentAllHelperGetProperty(JSContext *cx, JSObject *obj,
                                              jsid id, jsval *vp);
   static JSBool DocumentAllHelperNewResolve(JSContext *cx, JSObject *obj,
-                                            jsid id, uintN flags,
+                                            jsid id, unsigned flags,
                                             JSObject **objp);
   static JSBool DocumentAllTagsNewResolve(JSContext *cx, JSObject *obj,
-                                          jsid id, uintN flags,
+                                          jsid id, unsigned flags,
                                           JSObject **objp);
 
   NS_IMETHOD NewResolve(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
                         JSObject *obj, jsid id, PRUint32 flags,
                         JSObject **objp, bool *_retval);
   NS_IMETHOD GetProperty(nsIXPConnectWrappedNative *wrapper, JSContext *cx,
                          JSObject *obj, jsid id, jsval *vp, bool *_retval);
 
--- a/dom/base/nsGlobalWindow.h
+++ b/dom/base/nsGlobalWindow.h
@@ -231,17 +231,17 @@ private:
 
 //*****************************************************************************
 // nsOuterWindow: Outer Window Proxy
 //*****************************************************************************
 
 class nsOuterWindowProxy : public js::Wrapper
 {
 public:
-  nsOuterWindowProxy() : js::Wrapper((uintN)0) {}
+  nsOuterWindowProxy() : js::Wrapper((unsigned)0) {}
 
   virtual bool isOuterWindow() {
     return true;
   }
   JSString *obj_toString(JSContext *cx, JSObject *wrapper);
   void finalize(JSContext *cx, JSObject *proxy);
 
   static nsOuterWindowProxy singleton;
--- a/dom/base/nsJSEnvironment.cpp
+++ b/dom/base/nsJSEnvironment.cpp
@@ -2717,39 +2717,39 @@ CheckUniversalXPConnectForTraceMalloc(JS
                     IsCapabilityEnabled("UniversalXPConnect", &hasCap);
     if (NS_SUCCEEDED(rv) && hasCap)
         return JS_TRUE;
     JS_ReportError(cx, "trace-malloc functions require UniversalXPConnect");
     return JS_FALSE;
 }
 
 static JSBool
-TraceMallocDisable(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocDisable(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     NS_TraceMallocDisable();
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocEnable(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocEnable(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     NS_TraceMallocEnable();
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocOpenLogFile(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocOpenLogFile(JSContext *cx, unsigned argc, jsval *vp)
 {
     int fd;
     JSString *str;
 
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     if (argc == 0) {
@@ -2767,17 +2767,17 @@ TraceMallocOpenLogFile(JSContext *cx, ui
             return JS_FALSE;
         }
     }
     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(fd));
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocChangeLogFD(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocChangeLogFD(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     int32_t fd, oldfd;
     if (argc == 0) {
         oldfd = -1;
     } else {
@@ -2789,50 +2789,50 @@ TraceMallocChangeLogFD(JSContext *cx, ui
             return JS_FALSE;
         }
     }
     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(oldfd));
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocCloseLogFD(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocCloseLogFD(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     int32_t fd;
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     if (argc == 0)
         return JS_TRUE;
     if (!JS_ValueToECMAInt32(cx, JS_ARGV(cx, vp)[0], &fd))
         return JS_FALSE;
     NS_TraceMallocCloseLogFD((int) fd);
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocLogTimestamp(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocLogTimestamp(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     JSString *str = JS_ValueToString(cx, argc ? JS_ARGV(cx, vp)[0] : JSVAL_VOID);
     if (!str)
         return JS_FALSE;
     JSAutoByteString caption(cx, str);
     if (!caption)
         return JS_FALSE;
     NS_TraceMallocLogTimestamp(caption.ptr());
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
-TraceMallocDumpAllocations(JSContext *cx, uintN argc, jsval *vp)
+TraceMallocDumpAllocations(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!CheckUniversalXPConnectForTraceMalloc(cx))
         return JS_FALSE;
 
     JSString *str = JS_ValueToString(cx, argc ? JS_ARGV(cx, vp)[0] : JSVAL_VOID);
     if (!str)
         return JS_FALSE;
     JSAutoByteString pathname(cx, str);
@@ -2870,17 +2870,17 @@ IsJProfAction(struct sigaction *action)
             (action->sa_flags & (SA_RESTART | SA_SIGINFO)) == (SA_RESTART | SA_SIGINFO));
 }
 
 void NS_JProfStartProfiling();
 void NS_JProfStopProfiling();
 void NS_JProfClearCircular();
 
 static JSBool
-JProfStartProfilingJS(JSContext *cx, uintN argc, jsval *vp)
+JProfStartProfilingJS(JSContext *cx, unsigned argc, jsval *vp)
 {
   NS_JProfStartProfiling();
   return JS_TRUE;
 }
 
 void NS_JProfStartProfiling()
 {
     // Figure out whether we're dealing with SIGPROF, SIGALRM, or
@@ -2912,45 +2912,45 @@ void NS_JProfStartProfiling()
         raise(SIGPOLL);
         return;
     }
 
     printf("Could not start jprof-profiling since JPROF_FLAGS was not set.\n");
 }
 
 static JSBool
-JProfStopProfilingJS(JSContext *cx, uintN argc, jsval *vp)
+JProfStopProfilingJS(JSContext *cx, unsigned argc, jsval *vp)
 {
   NS_JProfStopProfiling();
   return JS_TRUE;
 }
 
 void
 NS_JProfStopProfiling()
 {
     raise(SIGUSR1);
     //printf("Stopped jprof profiling.\n");
 }
 
 static JSBool
-JProfClearCircularJS(JSContext *cx, uintN argc, jsval *vp)
+JProfClearCircularJS(JSContext *cx, unsigned argc, jsval *vp)
 {
   NS_JProfClearCircular();
   return JS_TRUE;
 }
 
 void
 NS_JProfClearCircular()
 {
     raise(SIGUSR2);
     //printf("cleared jprof buffer\n");
 }
 
 static JSBool
-JProfSaveCircularJS(JSContext *cx, uintN argc, jsval *vp)
+JProfSaveCircularJS(JSContext *cx, unsigned argc, jsval *vp)
 {
   // Not ideal...
   NS_JProfStopProfiling();
   NS_JProfStartProfiling();
   return JS_TRUE;
 }
 
 static JSFunctionSpec JProfFunctions[] = {
@@ -2964,17 +2964,17 @@ static JSFunctionSpec JProfFunctions[] =
 #endif /* defined(MOZ_JPROF) */
 
 #ifdef MOZ_DMD
 
 // See https://wiki.mozilla.org/Performance/MemShrink/DMD for instructions on
 // how to use DMD.
 
 static JSBool
-DMDCheckJS(JSContext *cx, uintN argc, jsval *vp)
+DMDCheckJS(JSContext *cx, unsigned argc, jsval *vp)
 {
   mozilla::DMDCheckAndDump();
   return JS_TRUE;
 }
 
 static JSFunctionSpec DMDFunctions[] = {
     {"DMD",                        DMDCheckJS,                 0, 0},
     {nsnull,                       nsnull,                     0, 0}
--- a/dom/indexedDB/IDBKeyRange.cpp
+++ b/dom/indexedDB/IDBKeyRange.cpp
@@ -133,17 +133,17 @@ GetKeyFromJSValOrThrow(JSContext* aCx,
     ThrowException(aCx, rv);
     return false;
   }
   return true;
 }
 
 JSBool
 MakeOnlyKeyRange(JSContext* aCx,
-                 uintN aArgc,
+                 unsigned aArgc,
                  jsval* aVp)
 {
   NS_ASSERTION(NS_IsMainThread(), "Wrong thread!");
 
   jsval val;
   if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "v", &val)) {
     return false;
   }
@@ -154,17 +154,17 @@ MakeOnlyKeyRange(JSContext* aCx,
     return false;
   }
 
   return ReturnKeyRange(aCx, aVp, keyRange);
 }
 
 JSBool
 MakeLowerBoundKeyRange(JSContext* aCx,
-                       uintN aArgc,
+                       unsigned aArgc,
                        jsval* aVp)
 {
   NS_ASSERTION(NS_IsMainThread(), "Wrong thread!");
 
   jsval val;
   JSBool open = false;
   if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "v/b", &val, &open)) {
     return false;
@@ -176,17 +176,17 @@ MakeLowerBoundKeyRange(JSContext* aCx,
     return false;
   }
 
   return ReturnKeyRange(aCx, aVp, keyRange);
 }
 
 JSBool
 MakeUpperBoundKeyRange(JSContext* aCx,
-                       uintN aArgc,
+                       unsigned aArgc,
                        jsval* aVp)
 {
   NS_ASSERTION(NS_IsMainThread(), "Wrong thread!");
 
   jsval val;
   JSBool open = false;
   if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "v/b", &val, &open)) {
     return false;
@@ -198,17 +198,17 @@ MakeUpperBoundKeyRange(JSContext* aCx,
     return false;
   }
 
   return ReturnKeyRange(aCx, aVp, keyRange);
 }
 
 JSBool
 MakeBoundKeyRange(JSContext* aCx,
-                  uintN aArgc,
+                  unsigned aArgc,
                   jsval* aVp)
 {
   NS_ASSERTION(NS_IsMainThread(), "Wrong thread!");
 
   jsval lowerVal, upperVal;
   JSBool lowerOpen = false, upperOpen = false;
   if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "vv/bb", &lowerVal,
                            &upperVal, &lowerOpen, &upperOpen)) {
--- a/dom/plugins/base/nsJSNPRuntime.cpp
+++ b/dom/plugins/base/nsJSNPRuntime.cpp
@@ -152,30 +152,30 @@ NPObjWrapper_SetProperty(JSContext *cx, 
 static JSBool
 NPObjWrapper_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp);
 
 static JSBool
 NPObjWrapper_newEnumerate(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
                           jsval *statep, jsid *idp);
 
 static JSBool
-NPObjWrapper_NewResolve(JSContext *cx, JSObject *obj, jsid id, uintN flags,
+NPObjWrapper_NewResolve(JSContext *cx, JSObject *obj, jsid id, unsigned flags,
                         JSObject **objp);
 
 static JSBool
 NPObjWrapper_Convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp);
 
 static void
 NPObjWrapper_Finalize(JSContext *cx, JSObject *obj);
 
 static JSBool
-NPObjWrapper_Call(JSContext *cx, uintN argc, jsval *vp);
+NPObjWrapper_Call(JSContext *cx, unsigned argc, jsval *vp);
 
 static JSBool
-NPObjWrapper_Construct(JSContext *cx, uintN argc, jsval *vp);
+NPObjWrapper_Construct(JSContext *cx, unsigned argc, jsval *vp);
 
 static JSBool
 CreateNPObjectMember(NPP npp, JSContext *cx, JSObject *obj, NPObject *npobj,
                      jsid id, NPVariant* getPropertyResult, jsval *vp);
 
 static JSClass sNPObjectJSWrapperClass =
   {
     NPRUNTIME_JSCLASS_NAME,
@@ -197,17 +197,17 @@ typedef struct NPObjectMemberPrivate {
 
 static JSBool
 NPObjectMember_Convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp);
 
 static void
 NPObjectMember_Finalize(JSContext *cx, JSObject *obj);
 
 static JSBool
-NPObjectMember_Call(JSContext *cx, uintN argc, jsval *vp);
+NPObjectMember_Call(JSContext *cx, unsigned argc, jsval *vp);
 
 static void
 NPObjectMember_Trace(JSTracer *trc, JSObject *obj);
 
 static JSClass sNPObjectMemberClass =
   {
     "NPObject Ambiguous Member class", JSCLASS_HAS_PRIVATE | JSCLASS_IMPLEMENTS_BARRIERS,
     JS_PropertyStub, JS_PropertyStub,
@@ -1384,17 +1384,17 @@ NPObjWrapper_GetProperty(JSContext *cx, 
     if (!ReportExceptionIfPending(cx))
       return JS_FALSE;
   }
 
   return JS_TRUE;
 }
 
 static JSBool
-CallNPMethodInternal(JSContext *cx, JSObject *obj, uintN argc, jsval *argv,
+CallNPMethodInternal(JSContext *cx, JSObject *obj, unsigned argc, jsval *argv,
                      jsval *rval, bool ctorCall)
 {
   while (obj && JS_GetClass(obj) != &sNPObjectJSWrapperClass) {
     obj = ::JS_GetPrototype(obj);
   }
 
   if (!obj) {
     ThrowJSException(cx, "NPMethod called on non-NPObject wrapped JSObject!");
@@ -1521,17 +1521,17 @@ CallNPMethodInternal(JSContext *cx, JSOb
 
   // *rval now owns the value, release our reference.
   _releasevariantvalue(&v);
 
   return ReportExceptionIfPending(cx);
 }
 
 static JSBool
-CallNPMethod(JSContext *cx, uintN argc, jsval *vp)
+CallNPMethod(JSContext *cx, unsigned argc, jsval *vp)
 {
   JSObject *obj = JS_THIS_OBJECT(cx, vp);
   if (!obj)
       return JS_FALSE;
 
   return CallNPMethodInternal(cx, obj, argc, JS_ARGV(cx, vp), vp, false);
 }
 
@@ -1617,17 +1617,17 @@ NPObjWrapper_newEnumerate(JSContext *cx,
 
     break;
   }
 
   return JS_TRUE;
 }
 
 static JSBool
-NPObjWrapper_NewResolve(JSContext *cx, JSObject *obj, jsid id, uintN flags,
+NPObjWrapper_NewResolve(JSContext *cx, JSObject *obj, jsid id, unsigned flags,
                         JSObject **objp)
 {
   NPObject *npobj = GetNPObject(obj);
 
   if (!npobj || !npobj->_class || !npobj->_class->hasProperty ||
       !npobj->_class->hasMethod) {
     ThrowJSException(cx, "Bad NPObject as private data!");
 
@@ -1722,24 +1722,24 @@ NPObjWrapper_Finalize(JSContext *cx, JSO
   }
 
   if (!sDelayedReleases)
     sDelayedReleases = new nsTArray<NPObject*>;
   sDelayedReleases->AppendElement(npobj);
 }
 
 static JSBool
-NPObjWrapper_Call(JSContext *cx, uintN argc, jsval *vp)
+NPObjWrapper_Call(JSContext *cx, unsigned argc, jsval *vp)
 {
   return CallNPMethodInternal(cx, JSVAL_TO_OBJECT(JS_CALLEE(cx, vp)), argc,
                               JS_ARGV(cx, vp), vp, false);
 }
 
 static JSBool
-NPObjWrapper_Construct(JSContext *cx, uintN argc, jsval *vp)
+NPObjWrapper_Construct(JSContext *cx, unsigned argc, jsval *vp)
 {
   return CallNPMethodInternal(cx, JSVAL_TO_OBJECT(JS_CALLEE(cx, vp)), argc,
                               JS_ARGV(cx, vp), vp, true);
 }
 
 class NPObjWrapperHashEntry : public PLDHashEntryHdr
 {
 public:
@@ -2221,17 +2221,17 @@ NPObjectMember_Finalize(JSContext *cx, J
   memberPrivate = (NPObjectMemberPrivate *)::JS_GetPrivate(obj);
   if (!memberPrivate)
     return;
 
   PR_Free(memberPrivate);
 }
 
 static JSBool
-NPObjectMember_Call(JSContext *cx, uintN argc, jsval *vp)
+NPObjectMember_Call(JSContext *cx, unsigned argc, jsval *vp)
 {
   JSObject *memobj = JSVAL_TO_OBJECT(JS_CALLEE(cx, vp));
   NS_ENSURE_TRUE(memobj, JS_FALSE);
 
   NPObjectMemberPrivate *memberPrivate =
     (NPObjectMemberPrivate *)::JS_GetInstancePrivate(cx, memobj,
                                                      &sNPObjectMemberClass,
                                                      JS_ARGV(cx, vp));
--- a/dom/system/b2g/SystemWorkerManager.cpp
+++ b/dom/system/b2g/SystemWorkerManager.cpp
@@ -69,17 +69,17 @@ SystemWorkerManager *gInstance = nsnull;
 
 class ConnectWorkerToRIL : public WorkerTask
 {
 public:
   virtual bool RunTask(JSContext *aCx);
 };
 
 JSBool
-PostToRIL(JSContext *cx, uintN argc, jsval *vp)
+PostToRIL(JSContext *cx, unsigned argc, jsval *vp)
 {
   NS_ASSERTION(!NS_IsMainThread(), "Expecting to be on the worker thread");
 
   if (argc != 1) {
     JS_ReportError(cx, "Expecting a single argument with the RIL message");
     return false;
   }
 
--- a/dom/workers/EventTarget.cpp
+++ b/dom/workers/EventTarget.cpp
@@ -86,17 +86,17 @@ EnsureObjectIsEventTarget(JSContext* aCx
 inline
 EventTarget*
 GetPrivate(JSObject* aObj)
 {
   return GetJSPrivateSafeish<EventTarget>(aObj);
 }
 
 JSBool
-Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
 {
   JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                        gClass.name);
   return false;
 }
 
 JSFunctionSpec gFunctions[] = {
   JS_FN("addEventListener", EventTarget::AddEventListener, 3, JSPROP_ENUMERATE),
@@ -151,17 +151,17 @@ EventTarget::SetEventListenerOnEventTarg
 EventTarget*
 EventTarget::FromJSObject(JSObject* aObj)
 {
   return GetPrivate(aObj);
 }
 
 // static
 JSBool
-EventTarget::AddEventListener(JSContext* aCx, uintN aArgc, jsval* aVp)
+EventTarget::AddEventListener(JSContext* aCx, unsigned aArgc, jsval* aVp)
 {
   JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
   if (!obj) {
     return true;
   }
 
   if (!EnsureObjectIsEventTarget(aCx, obj, "AddEventListener")) {
     return false;
@@ -186,17 +186,17 @@ EventTarget::AddEventListener(JSContext*
 
   return self->mListenerManager.AddEventListener(aCx, type,
                                                  JS_ARGV(aCx, aVp)[1],
                                                  capturing, wantsUntrusted);
 }
 
 // static
 JSBool
-EventTarget::RemoveEventListener(JSContext* aCx, uintN aArgc, jsval* aVp)
+EventTarget::RemoveEventListener(JSContext* aCx, unsigned aArgc, jsval* aVp)
 {
   JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
   if (!obj) {
     return true;
   }
 
   if (!EnsureObjectIsEventTarget(aCx, obj, "RemoveEventListener")) {
     return false;
@@ -221,17 +221,17 @@ EventTarget::RemoveEventListener(JSConte
 
   return self->mListenerManager.RemoveEventListener(aCx, type,
                                                     JS_ARGV(aCx, aVp)[1],
                                                     capturing);
 }
 
 // static
 JSBool
-EventTarget::DispatchEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+EventTarget::DispatchEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
 {
   JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
   if (!obj) {
     return true;
   }
 
   if (!EnsureObjectIsEventTarget(aCx, obj, "DispatchEvent")) {
     return false;
--- a/dom/workers/EventTarget.h
+++ b/dom/workers/EventTarget.h
@@ -75,23 +75,23 @@ protected:
   bool
   SetEventListenerOnEventTarget(JSContext* aCx, const char* aType, jsval* aVp);
 
 public:
   static EventTarget*
   FromJSObject(JSObject* aObj);
 
   static JSBool
-  AddEventListener(JSContext* aCx, uintN aArgc, jsval* aVp);
+  AddEventListener(JSContext* aCx, unsigned aArgc, jsval* aVp);
 
   static JSBool
-  RemoveEventListener(JSContext* aCx, uintN aArgc, jsval* aVp);
+  RemoveEventListener(JSContext* aCx, unsigned aArgc, jsval* aVp);
 
   static JSBool
-  DispatchEvent(JSContext* aCx, uintN aArgc, jsval* aVp);
+  DispatchEvent(JSContext* aCx, unsigned aArgc, jsval* aVp);
 
   bool
   HasListeners()
   {
     return mListenerManager.HasListeners();
   }
 
   bool
--- a/dom/workers/Events.cpp
+++ b/dom/workers/Events.cpp
@@ -233,17 +233,17 @@ protected:
     JS_SetReservedSlot(aObj, SLOT_timeStamp, JS::NumberValue(double(JS_Now())));
     JS_SetReservedSlot(aObj, SLOT_defaultPrevented, JSVAL_FALSE);
     JS_SetReservedSlot(aObj, SLOT_isTrusted,
                        aIsTrusted ? JSVAL_TRUE : JSVAL_FALSE);
   }
 
 private:
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -275,17 +275,17 @@ private:
     JS_ASSERT(JSID_TO_INT(idval) >= CAPTURING_PHASE &&
               JSID_TO_INT(idval) <= BUBBLING_PHASE);
 
     *aVp = INT_TO_JSVAL(JSID_TO_INT(idval));
     return true;
   }
 
   static JSBool
-  StopPropagation(JSContext* aCx, uintN aArgc, jsval* aVp)
+  StopPropagation(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     Event* event = GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!event) {
@@ -293,17 +293,17 @@ private:
     }
 
     event->mStopPropagationCalled = true;
 
     return true;
   }
 
   static JSBool
-  StopImmediatePropagation(JSContext* aCx, uintN aArgc, jsval* aVp)
+  StopImmediatePropagation(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     Event* event = GetInstancePrivate(aCx, obj, sFunctions[3].name);
     if (!event) {
@@ -311,17 +311,17 @@ private:
     }
 
     event->mStopImmediatePropagationCalled = true;
 
     return true;
   }
   
   static JSBool
-  PreventDefault(JSContext* aCx, uintN aArgc, jsval* aVp)
+  PreventDefault(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     Event* event = GetInstancePrivate(aCx, obj, sFunctions[1].name);
     if (!event) {
@@ -331,17 +331,17 @@ private:
     jsval cancelableVal = JS_GetReservedSlot(obj, SLOT_cancelable);
 
     if (JSVAL_TO_BOOLEAN(cancelableVal))
       JS_SetReservedSlot(obj, SLOT_defaultPrevented, cancelableVal);
     return true;
   }
 
   static JSBool
-  InitEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+  InitEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     Event* event = GetInstancePrivate(aCx, obj, sFunctions[2].name);
     if (!event) {
@@ -517,17 +517,17 @@ private:
     JS_SetReservedSlot(aObj, SLOT_data,
                        aData ? STRING_TO_JSVAL(aData) : emptyString);
     JS_SetReservedSlot(aObj, SLOT_origin,
                        aOrigin ? STRING_TO_JSVAL(aOrigin) : emptyString);
     JS_SetReservedSlot(aObj, SLOT_source, OBJECT_TO_JSVAL(aSource));
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -582,17 +582,17 @@ private:
       return true;
     }
 
     *aVp = JS_GetReservedSlot(aObj, slot);
     return true;
   }
 
   static JSBool
-  InitMessageEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+  InitMessageEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     MessageEvent* event = GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!event) {
@@ -733,17 +733,17 @@ private:
     Event::InitEventCommon(aObj, aEvent, aType, aBubbles, aCancelable,
                            aIsTrusted);
     JS_SetReservedSlot(aObj, SLOT_message, STRING_TO_JSVAL(aMessage));
     JS_SetReservedSlot(aObj, SLOT_filename, STRING_TO_JSVAL(aFilename));
     JS_SetReservedSlot(aObj, SLOT_lineno, INT_TO_JSVAL(aLineNumber));
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -767,17 +767,17 @@ private:
       return false;
     }
 
     *aVp = JS_GetReservedSlot(aObj, slot);
     return true;
   }
 
   static JSBool
-  InitErrorEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+  InitErrorEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     ErrorEvent* event = GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!event) {
@@ -914,17 +914,17 @@ private:
                            aIsTrusted);
     JS_SetReservedSlot(aObj, SLOT_lengthComputable,
                        aLengthComputable ? JSVAL_TRUE : JSVAL_FALSE);
     JS_SetReservedSlot(aObj, SLOT_loaded, DOUBLE_TO_JSVAL(aLoaded));
     JS_SetReservedSlot(aObj, SLOT_total, DOUBLE_TO_JSVAL(aTotal));
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -948,17 +948,17 @@ private:
       return false;
     }
 
     *aVp = JS_GetReservedSlot(aObj, slot);
     return true;
   }
 
   static JSBool
-  InitProgressEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+  InitProgressEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     ProgressEvent* event = GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!event) {
--- a/dom/workers/Exceptions.cpp
+++ b/dom/workers/Exceptions.cpp
@@ -84,46 +84,46 @@ public:
     if (proto && !JS_DefineProperties(aCx, proto, sStaticProperties)) {
       return NULL;
     }
 
     return proto;
   }
 
   static JSObject*
-  Create(JSContext* aCx, intN aCode);
+  Create(JSContext* aCx, int aCode);
 
 private:
   DOMException()
   {
     MOZ_COUNT_CTOR(mozilla::dom::workers::exceptions::DOMException);
   }
 
   ~DOMException()
   {
     MOZ_COUNT_DTOR(mozilla::dom::workers::exceptions::DOMException);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
   {
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
     delete GetJSPrivateSafeish<DOMException>(aObj);
   }
 
   static JSBool
-  ToString(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ToString(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     JSClass* classPtr = JS_GetClass(obj);
     if (classPtr != &sClass) {
@@ -237,17 +237,17 @@ JSPropertySpec DOMException::sStaticProp
 
 #undef EXCEPTION_ENTRY
 
   { 0, 0, 0, NULL, NULL }
 };
 
 // static
 JSObject*
-DOMException::Create(JSContext* aCx, intN aCode)
+DOMException::Create(JSContext* aCx, int aCode)
 {
   JSObject* obj = JS_NewObject(aCx, &sClass, NULL, NULL);
   if (!obj) {
     return NULL;
   }
 
   size_t foundIndex = size_t(-1);
   for (size_t index = 0; index < ArrayLength(sStaticProperties) - 1; index++) {
@@ -292,31 +292,31 @@ public:
   static JSObject*
   InitClass(JSContext* aCx, JSObject* aObj)
   {
     return JS_InitClass(aCx, aObj, NULL, &sClass, Construct, 0, sProperties,
                         NULL, sStaticProperties, NULL);
   }
 
   static JSObject*
-  Create(JSContext* aCx, intN aCode);
+  Create(JSContext* aCx, int aCode);
 
 private:
   FileException()
   {
     MOZ_COUNT_CTOR(mozilla::dom::workers::exceptions::FileException);
   }
 
   ~FileException()
   {
     MOZ_COUNT_DTOR(mozilla::dom::workers::exceptions::FileException);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -381,17 +381,17 @@ JSPropertySpec FileException::sStaticPro
 
 #undef EXCEPTION_ENTRY
 
   { 0, 0, 0, NULL, NULL }
 };
 
 // static
 JSObject*
-FileException::Create(JSContext* aCx, intN aCode)
+FileException::Create(JSContext* aCx, int aCode)
 {
   JSObject* obj = JS_NewObject(aCx, &sClass, NULL, NULL);
   if (!obj) {
     return NULL;
   }
 
   size_t foundIndex = size_t(-1);
   for (size_t index = 0; index < ArrayLength(sStaticProperties) - 1; index++) {
@@ -426,26 +426,26 @@ namespace exceptions {
 bool
 InitClasses(JSContext* aCx, JSObject* aGlobal)
 {
   return DOMException::InitClass(aCx, aGlobal) &&
          FileException::InitClass(aCx, aGlobal);
 }
 
 void
-ThrowDOMExceptionForCode(JSContext* aCx, intN aCode)
+ThrowDOMExceptionForCode(JSContext* aCx, int aCode)
 {
   JSObject* exception = DOMException::Create(aCx, aCode);
   JS_ASSERT(exception);
 
   JS_SetPendingException(aCx, OBJECT_TO_JSVAL(exception));
 }
 
 void
-ThrowFileExceptionForCode(JSContext* aCx, intN aCode)
+ThrowFileExceptionForCode(JSContext* aCx, int aCode)
 {
   JSObject* exception = FileException::Create(aCx, aCode);
   JS_ASSERT(exception);
 
   JS_SetPendingException(aCx, OBJECT_TO_JSVAL(exception));
 }
 
 } // namespace exceptions
--- a/dom/workers/Exceptions.h
+++ b/dom/workers/Exceptions.h
@@ -84,18 +84,18 @@
 BEGIN_WORKERS_NAMESPACE
 
 namespace exceptions {
 
 bool
 InitClasses(JSContext* aCx, JSObject* aGlobal);
 
 void
-ThrowDOMExceptionForCode(JSContext* aCx, intN aCode);
+ThrowDOMExceptionForCode(JSContext* aCx, int aCode);
 
 void
-ThrowFileExceptionForCode(JSContext* aCx, intN aCode);
+ThrowFileExceptionForCode(JSContext* aCx, int aCode);
 
 } // namespace exceptions
 
 END_WORKERS_NAMESPACE
 
 #endif // mozilla_dom_workers_exceptions_h__
--- a/dom/workers/File.cpp
+++ b/dom/workers/File.cpp
@@ -106,17 +106,17 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          JS_GetClass(aObj)->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -166,17 +166,17 @@ private:
     }
 
     *aVp = STRING_TO_JSVAL(jsType);
 
     return true;
   }
 
   static JSBool
-  Slice(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Slice(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     nsIDOMBlob* blob = GetInstancePrivate(aCx, obj, "slice");
     if (!blob) {
@@ -296,17 +296,17 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          JS_GetClass(aObj)->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
--- a/dom/workers/FileReaderSync.cpp
+++ b/dom/workers/FileReaderSync.cpp
@@ -64,17 +64,17 @@ namespace {
 
 inline bool
 EnsureSucceededOrThrow(JSContext* aCx, nsresult rv)
 {
   if (NS_SUCCEEDED(rv)) {
     return true;
   }
 
-  intN code = rv == NS_ERROR_FILE_NOT_FOUND ?
+  int code = rv == NS_ERROR_FILE_NOT_FOUND ?
               FILE_NOT_FOUND_ERR :
               FILE_NOT_READABLE_ERR;
   ThrowFileExceptionForCode(aCx, code);
   return false;
 }
 
 inline nsIDOMBlob*
 GetDOMBlobFromJSObject(JSContext* aCx, JSObject* aObj) {
@@ -134,17 +134,17 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          JS_GetClass(aObj)->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_NewObject(aCx, &sClass, NULL, NULL);
     if (!obj) {
       return false;
     }
 
     FileReaderSyncPrivate* fileReader = new FileReaderSyncPrivate();
     NS_ADDREF(fileReader);
@@ -160,17 +160,17 @@ private:
   {
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
     FileReaderSyncPrivate* fileReader =
       GetJSPrivateSafeish<FileReaderSyncPrivate>(aObj);
     NS_IF_RELEASE(fileReader);
   }
 
   static JSBool
-  ReadAsArrayBuffer(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ReadAsArrayBuffer(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     FileReaderSyncPrivate* fileReader =
       GetInstancePrivate(aCx, obj, "readAsArrayBuffer");
@@ -207,17 +207,17 @@ private:
       return false;
     }
 
     JS_SET_RVAL(aCx, aVp, OBJECT_TO_JSVAL(jsArrayBuffer));
     return true;
   }
 
   static JSBool
-  ReadAsDataURL(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ReadAsDataURL(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     FileReaderSyncPrivate* fileReader =
       GetInstancePrivate(aCx, obj, "readAsDataURL");
@@ -247,17 +247,17 @@ private:
       return false;
     }
 
     JS_SET_RVAL(aCx, aVp, STRING_TO_JSVAL(jsBlobText));
     return true;
   }
 
   static JSBool
-  ReadAsBinaryString(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ReadAsBinaryString(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     FileReaderSyncPrivate* fileReader =
       GetInstancePrivate(aCx, obj, "readAsBinaryString");
@@ -287,17 +287,17 @@ private:
       return false;
     }
 
     JS_SET_RVAL(aCx, aVp, STRING_TO_JSVAL(jsBlobText));
     return true;
   }
 
   static JSBool
-  ReadAsText(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ReadAsText(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     FileReaderSyncPrivate* fileReader =
       GetInstancePrivate(aCx, obj, "readAsText");
--- a/dom/workers/Location.cpp
+++ b/dom/workers/Location.cpp
@@ -119,32 +119,32 @@ private:
   }
 
   ~Location()
   {
     MOZ_COUNT_DTOR(mozilla::dom::workers::Location);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
   {
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
     delete static_cast<Location*>(JS_GetPrivate(aObj));
   }
 
   static JSBool
-  ToString(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ToString(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     JSClass* classPtr = JS_GetClass(obj);
     if (classPtr != &sClass) {
--- a/dom/workers/Navigator.cpp
+++ b/dom/workers/Navigator.cpp
@@ -130,17 +130,17 @@ private:
   }
 
   ~Navigator()
   {
     MOZ_COUNT_DTOR(mozilla::dom::workers::Navigator);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
--- a/dom/workers/RuntimeService.cpp
+++ b/dom/workers/RuntimeService.cpp
@@ -384,17 +384,17 @@ public:
 };
 
 } /* anonymous namespace */
 
 BEGIN_WORKERS_NAMESPACE
 
 // Entry point for the DOM.
 JSBool
-ResolveWorkerClasses(JSContext* aCx, JSObject* aObj, jsid aId, uintN aFlags,
+ResolveWorkerClasses(JSContext* aCx, JSObject* aObj, jsid aId, unsigned aFlags,
                      JSObject** aObjp)
 {
   AssertIsOnMainThread();
 
   // Don't care about assignments or declarations, bail now.
   if (aFlags & (JSRESOLVE_ASSIGNING | JSRESOLVE_DECLARING)) {
     *aObjp = nsnull;
     return true;
--- a/dom/workers/ScriptLoader.cpp
+++ b/dom/workers/ScriptLoader.cpp
@@ -727,17 +727,17 @@ LoadWorkerScript(JSContext* aCx)
 
   ScriptLoadInfo* info = loadInfos.AppendElement();
   info->mURL = worker->ScriptURL();
 
   return LoadAllScripts(aCx, worker, loadInfos, true);
 }
 
 bool
-Load(JSContext* aCx, uintN aURLCount, jsval* aURLs)
+Load(JSContext* aCx, unsigned aURLCount, jsval* aURLs)
 {
   WorkerPrivate* worker = GetWorkerPrivateFromContext(aCx);
   NS_ASSERTION(worker, "This should never be null!");
 
   if (!aURLCount) {
     return true;
   }
 
@@ -745,17 +745,17 @@ Load(JSContext* aCx, uintN aURLCount, js
     JS_ReportError(aCx, "Cannot load more than %d scripts at one time!",
                    MAX_CONCURRENT_SCRIPTS);
     return false;
   }
 
   nsTArray<ScriptLoadInfo> loadInfos;
   loadInfos.SetLength(PRUint32(aURLCount));
 
-  for (uintN index = 0; index < aURLCount; index++) {
+  for (unsigned index = 0; index < aURLCount; index++) {
     JSString* str = JS_ValueToString(aCx, aURLs[index]);
     if (!str) {
       return false;
     }
 
     size_t length;
     const jschar* buffer = JS_GetStringCharsAndLength(aCx, str, &length);
     if (!buffer) {
--- a/dom/workers/ScriptLoader.h
+++ b/dom/workers/ScriptLoader.h
@@ -44,15 +44,15 @@
 #include "jsapi.h"
 
 BEGIN_WORKERS_NAMESPACE
 
 namespace scriptloader {
 
 bool LoadWorkerScript(JSContext* aCx);
 
-bool Load(JSContext* aCx, uintN aURLCount, jsval* aURLs);
+bool Load(JSContext* aCx, unsigned aURLCount, jsval* aURLs);
 
 } // namespace scriptloader
 
 END_WORKERS_NAMESPACE
 
 #endif /* mozilla_dom_workers_scriptloader_h__ */
--- a/dom/workers/Worker.cpp
+++ b/dom/workers/Worker.cpp
@@ -134,17 +134,17 @@ public:
     SetJSPrivateSafeish(aObj, NULL);
   }
 
   static WorkerPrivate*
   GetInstancePrivate(JSContext* aCx, JSObject* aObj, const char* aFunctionName);
 
 protected:
   static JSBool
-  ConstructInternal(JSContext* aCx, uintN aArgc, jsval* aVp,
+  ConstructInternal(JSContext* aCx, unsigned aArgc, jsval* aVp,
                     bool aIsChromeWorker)
   {
     if (!aArgc) {
       JS_ReportError(aCx, "Constructor requires at least one argument!");
       return false;
     }
 
     JSString* scriptURL = JS_ValueToString(aCx, JS_ARGV(aCx, aVp)[0]);
@@ -228,17 +228,17 @@ private:
     if (!worker) {
       return !JS_IsExceptionPending(aCx);
     }
 
     return worker->SetEventListenerOnEventTarget(aCx, name + 2, aVp);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     return ConstructInternal(aCx, aArgc, aVp, false);
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
   {
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
@@ -254,34 +254,34 @@ private:
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
     WorkerPrivate* worker = GetJSPrivateSafeish<WorkerPrivate>(aObj);
     if (worker) {
       worker->TraceInstance(aTrc);
     }
   }
 
   static JSBool
-  Terminate(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Terminate(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     const char*& name = sFunctions[0].name;
     WorkerPrivate* worker = GetInstancePrivate(aCx, obj, name);
     if (!worker) {
       return !JS_IsExceptionPending(aCx);
     }
 
     return worker->Terminate(aCx);
   }
 
   static JSBool
-  PostMessage(JSContext* aCx, uintN aArgc, jsval* aVp)
+  PostMessage(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     const char*& name = sFunctions[1].name;
     WorkerPrivate* worker = GetInstancePrivate(aCx, obj, name);
@@ -382,17 +382,17 @@ private:
         return GetJSPrivateSafeish<WorkerPrivate>(aObj);
       }
     }
 
     return Worker::GetInstancePrivate(aCx, aObj, aFunctionName);
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     return ConstructInternal(aCx, aArgc, aVp, true);
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
   {
     JS_ASSERT(JS_GetClass(aObj) == &sClass);
--- a/dom/workers/WorkerPrivate.cpp
+++ b/dom/workers/WorkerPrivate.cpp
@@ -3474,17 +3474,17 @@ WorkerPrivate::ReportError(JSContext* aC
                                         columnNumber, flags, errorNumber, 0)) {
     JS_ReportPendingException(aCx);
   }
 
   mErrorHandlerRecursionCount--;
 }
 
 bool
-WorkerPrivate::SetTimeout(JSContext* aCx, uintN aArgc, jsval* aVp,
+WorkerPrivate::SetTimeout(JSContext* aCx, unsigned aArgc, jsval* aVp,
                           bool aIsInterval)
 {
   AssertIsOnWorkerThread();
   NS_ASSERTION(aArgc, "Huh?!");
 
   const PRUint32 timerId = mNextTimeoutId++;
 
   Status currentStatus;
@@ -3536,17 +3536,17 @@ WorkerPrivate::SetTimeout(JSContext* aCx
     double intervalMS = 0;
     if (!JS_ValueToNumber(aCx, argv[1], &intervalMS)) {
       return false;
     }
     newInfo->mInterval = TimeDuration::FromMilliseconds(intervalMS);
 
     if (aArgc > 2 && JSVAL_IS_OBJECT(newInfo->mTimeoutVal)) {
       nsTArray<jsval> extraArgVals(aArgc - 2);
-      for (uintN index = 2; index < aArgc; index++) {
+      for (unsigned index = 2; index < aArgc; index++) {
         extraArgVals.AppendElement(argv[index]);
       }
       newInfo->mExtraArgVals.SwapElements(extraArgVals);
     }
   }
 
   newInfo->mTargetTime = TimeStamp::Now() + newInfo->mInterval;
 
--- a/dom/workers/WorkerPrivate.h
+++ b/dom/workers/WorkerPrivate.h
@@ -650,17 +650,17 @@ public:
 
   bool
   NotifyInternal(JSContext* aCx, Status aStatus);
 
   void
   ReportError(JSContext* aCx, const char* aMessage, JSErrorReport* aReport);
 
   bool
-  SetTimeout(JSContext* aCx, uintN aArgc, jsval* aVp, bool aIsInterval);
+  SetTimeout(JSContext* aCx, unsigned aArgc, jsval* aVp, bool aIsInterval);
 
   bool
   ClearTimeout(JSContext* aCx, uint32 aId);
 
   bool
   RunExpiredTimeouts(JSContext* aCx);
 
   bool
--- a/dom/workers/WorkerScope.cpp
+++ b/dom/workers/WorkerScope.cpp
@@ -190,17 +190,17 @@ private:
 
     return scope->SetEventListenerOnEventTarget(aCx, name + 2, aVp);
   }
 
   static WorkerGlobalScope*
   GetInstancePrivate(JSContext* aCx, JSObject* aObj, const char* aFunctionName);
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static JSBool
   GetSelf(JSContext* aCx, JSObject* aObj, jsid aIdval, jsval* aVp)
@@ -260,17 +260,17 @@ private:
       scope->mSlots[SLOT_location] = OBJECT_TO_JSVAL(location);
     }
 
     *aVp = scope->mSlots[SLOT_location];
     return true;
   }
 
   static JSBool
-  UnwrapErrorEvent(JSContext* aCx, uintN aArgc, jsval* aVp)
+  UnwrapErrorEvent(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ASSERT(JSVAL_IS_OBJECT(JS_CALLEE(aCx, aVp)));
     JS_ASSERT(aArgc == 1);
     JS_ASSERT(JSVAL_IS_OBJECT(JS_ARGV(aCx, aVp)[0]));
 
     JSObject* wrapper = JSVAL_TO_OBJECT(JS_CALLEE(aCx, aVp));
     JS_ASSERT(JS_ObjectIsFunction(aCx, wrapper));
 
@@ -378,33 +378,33 @@ private:
       scope->mSlots[SLOT_navigator] = OBJECT_TO_JSVAL(navigator);
     }
 
     *aVp = scope->mSlots[SLOT_navigator];
     return true;
   }
 
   static JSBool
-  Close(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Close(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!scope) {
       return false;
     }
 
     return scope->mWorker->CloseInternal(aCx);
   }
 
   static JSBool
-  ImportScripts(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ImportScripts(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[1].name);
     if (!scope) {
@@ -414,17 +414,17 @@ private:
     if (aArgc && !scriptloader::Load(aCx, aArgc, JS_ARGV(aCx, aVp))) {
       return false;
     }
 
     return true;
   }
 
   static JSBool
-  SetTimeout(JSContext* aCx, uintN aArgc, jsval* aVp)
+  SetTimeout(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[2].name);
     if (!scope) {
@@ -435,17 +435,17 @@ private:
     if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "v", &dummy)) {
       return false;
     }
 
     return scope->mWorker->SetTimeout(aCx, aArgc, aVp, false);
   }
 
   static JSBool
-  ClearTimeout(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ClearTimeout(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[3].name);
     if (!scope) {
@@ -456,17 +456,17 @@ private:
     if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "u", &id)) {
       return false;
     }
 
     return scope->mWorker->ClearTimeout(aCx, id);
   }
 
   static JSBool
-  SetInterval(JSContext* aCx, uintN aArgc, jsval* aVp)
+  SetInterval(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[4].name);
     if (!scope) {
@@ -477,17 +477,17 @@ private:
     if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "v", &dummy)) {
       return false;
     }
 
     return scope->mWorker->SetTimeout(aCx, aArgc, aVp, true);
   }
 
   static JSBool
-  ClearInterval(JSContext* aCx, uintN aArgc, jsval* aVp)
+  ClearInterval(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     WorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, sFunctions[5].name);
     if (!scope) {
@@ -498,17 +498,17 @@ private:
     if (!JS_ConvertArguments(aCx, aArgc, JS_ARGV(aCx, aVp), "u", &id)) {
       return false;
     }
 
     return scope->mWorker->ClearTimeout(aCx, id);
   }
 
   static JSBool
-  Dump(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Dump(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     if (!GetInstancePrivate(aCx, obj, sFunctions[6].name)) {
       return false;
@@ -531,17 +531,17 @@ private:
       fputs(buffer.ptr(), stderr);
       fflush(stderr);
     }
 
     return true;
   }
 
   static JSBool
-  AtoB(JSContext* aCx, uintN aArgc, jsval* aVp)
+  AtoB(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     if (!GetInstancePrivate(aCx, obj, sFunctions[7].name)) {
       return false;
@@ -557,17 +557,17 @@ private:
       return false;
     }
 
     JS_SET_RVAL(aCx, aVp, result);
     return true;
   }
 
   static JSBool
-  BtoA(JSContext* aCx, uintN aArgc, jsval* aVp)
+  BtoA(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     if (!GetInstancePrivate(aCx, obj, sFunctions[8].name)) {
       return false;
@@ -726,25 +726,25 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          classPtr->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static JSBool
-  Resolve(JSContext* aCx, JSObject* aObj, jsid aId, uintN aFlags,
+  Resolve(JSContext* aCx, JSObject* aObj, jsid aId, unsigned aFlags,
           JSObject** aObjp)
   {
     JSBool resolved;
     if (!JS_ResolveStandardClass(aCx, aObj, aId, &resolved)) {
       return false;
     }
 
     *aObjp = resolved ? aObj : NULL;
@@ -770,17 +770,17 @@ private:
     DedicatedWorkerGlobalScope* scope =
       GetJSPrivateSafeish<DedicatedWorkerGlobalScope>(aObj);
     if (scope) {
       scope->TraceInstance(aTrc);
     }
   }
 
   static JSBool
-  PostMessage(JSContext* aCx, uintN aArgc, jsval* aVp)
+  PostMessage(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     const char*& name = sFunctions[0].name;
     DedicatedWorkerGlobalScope* scope = GetInstancePrivate(aCx, obj, name);
--- a/dom/workers/Workers.h
+++ b/dom/workers/Workers.h
@@ -68,17 +68,17 @@ AssertIsOnMainThread();
 #else
 inline void
 AssertIsOnMainThread()
 { }
 #endif
 
 // All of these are implemented in RuntimeService.cpp
 JSBool
-ResolveWorkerClasses(JSContext* aCx, JSObject* aObj, jsid aId, uintN aFlags,
+ResolveWorkerClasses(JSContext* aCx, JSObject* aObj, jsid aId, unsigned aFlags,
                      JSObject** aObjp);
 
 void
 CancelWorkersForWindow(JSContext* aCx, nsPIDOMWindow* aWindow);
 
 void
 SuspendWorkersForWindow(JSContext* aCx, nsPIDOMWindow* aWindow);
 
--- a/dom/workers/XMLHttpRequest.cpp
+++ b/dom/workers/XMLHttpRequest.cpp
@@ -151,17 +151,17 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          JS_GetClass(aObj)->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL, JSMSG_WRONG_CONSTRUCTOR,
                          sClass.name);
     return false;
   }
 
   static void
   Finalize(JSContext* aCx, JSObject* aObj)
@@ -368,17 +368,17 @@ private:
 
     JS_ReportErrorNumber(aCx, js_GetErrorMessage, NULL,
                          JSMSG_INCOMPATIBLE_PROTO, sClass.name, aFunctionName,
                          JS_GetClass(aObj)->name);
     return NULL;
   }
 
   static JSBool
-  Construct(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Construct(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_NewObject(aCx, &sClass, NULL, NULL);
     if (!obj) {
       return false;
     }
 
     JSString* textStr = JS_NewStringCopyN(aCx, "text", 4);
     if (!textStr) {
@@ -560,34 +560,34 @@ private:
     if (!priv) {
       return false;
     }
 
     return priv->SetEventListenerOnEventTarget(aCx, name + 2, aVp);
   }
 
   static JSBool
-  Abort(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Abort(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[0].name);
     if (!priv) {
       return false;
     }
 
     return priv->Abort(aCx);
   }
 
   static JSBool
-  GetAllResponseHeaders(JSContext* aCx, uintN aArgc, jsval* aVp)
+  GetAllResponseHeaders(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[1].name);
@@ -600,17 +600,17 @@ private:
       return false;
     }
 
     JS_SET_RVAL(aCx, aVp, STRING_TO_JSVAL(responseHeaders));
     return true;
   }
 
   static JSBool
-  GetResponseHeader(JSContext* aCx, uintN aArgc, jsval* aVp)
+  GetResponseHeader(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[2].name);
@@ -639,17 +639,17 @@ private:
       return false;
     }
   
     JS_SET_RVAL(aCx, aVp, STRING_TO_JSVAL(value));
     return true;
   }
 
   static JSBool
-  Open(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Open(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[3].name);
@@ -665,17 +665,17 @@ private:
                              &url, &async, &user, &password)) {
       return false;
     }
 
     return priv->Open(aCx, method, url, async, user, password);
   }
 
   static JSBool
-  Send(JSContext* aCx, uintN aArgc, jsval* aVp)
+  Send(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[4].name);
@@ -684,17 +684,17 @@ private:
     }
 
     jsval body = aArgc ? JS_ARGV(aCx, aVp)[0] : JSVAL_VOID;
 
     return priv->Send(aCx, !!aArgc, body);
   }
 
   static JSBool
-  SendAsBinary(JSContext* aCx, uintN aArgc, jsval* aVp)
+  SendAsBinary(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[5].name);
@@ -717,17 +717,17 @@ private:
         return false;
       }
     }
 
     return priv->SendAsBinary(aCx, body);
   }
 
   static JSBool
-  SetRequestHeader(JSContext* aCx, uintN aArgc, jsval* aVp)
+  SetRequestHeader(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[6].name);
@@ -740,17 +740,17 @@ private:
                              &value)) {
       return false;
     }
 
     return priv->SetRequestHeader(aCx, header, value);
   }
 
   static JSBool
-  OverrideMimeType(JSContext* aCx, uintN aArgc, jsval* aVp)
+  OverrideMimeType(JSContext* aCx, unsigned aArgc, jsval* aVp)
   {
     JSObject* obj = JS_THIS_OBJECT(aCx, aVp);
     if (!obj) {
       return false;
     }
 
     XMLHttpRequestPrivate* priv =
       GetInstancePrivate(aCx, obj, sFunctions[7].name);
--- a/dom/workers/XMLHttpRequestPrivate.cpp
+++ b/dom/workers/XMLHttpRequestPrivate.cpp
@@ -188,17 +188,17 @@ END_WORKERS_NAMESPACE
 USING_WORKERS_NAMESPACE
 
 using mozilla::dom::workers::xhr::XMLHttpRequestPrivate;
 using mozilla::dom::workers::xhr::Proxy;
 using mozilla::dom::workers::exceptions::ThrowDOMExceptionForCode;
 
 namespace {
 
-inline intN
+inline int
 GetDOMExceptionCodeFromResult(nsresult aResult)
 {
   if (NS_SUCCEEDED(aResult)) {
     return 0;
   }
 
   if (NS_ERROR_GET_MODULE(aResult) == NS_ERROR_MODULE_DOM) {
     return NS_ERROR_GET_CODE(aResult);
@@ -719,21 +719,21 @@ protected:
   WorkerPrivate* mWorkerPrivate;
   nsRefPtr<Proxy> mProxy;
   PRUint32 mSyncQueueKey;
 
 private:
   class ResponseRunnable : public MainThreadProxyRunnable
   {
     PRUint32 mSyncQueueKey;
-    intN mErrorCode;
+    int mErrorCode;
 
   public:
     ResponseRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
-                     PRUint32 aSyncQueueKey, intN aErrorCode)
+                     PRUint32 aSyncQueueKey, int aErrorCode)
     : MainThreadProxyRunnable(aWorkerPrivate, SkipWhenClearing, aProxy),
       mSyncQueueKey(aSyncQueueKey), mErrorCode(aErrorCode)
     {
       NS_ASSERTION(aProxy, "Don't hand me a null proxy!");
     }
 
     bool
     WorkerRun(JSContext* aCx, WorkerPrivate* aWorkerPrivate)
@@ -778,28 +778,28 @@ public:
 
     if (!mWorkerPrivate->RunSyncLoop(aCx, mSyncQueueKey)) {
       return false;
     }
 
     return true;
   }
 
-  virtual intN
+  virtual int
   MainThreadRun() = 0;
 
   NS_IMETHOD
   Run()
   {
     AssertIsOnMainThread();
 
     PRUint32 oldSyncQueueKey = mProxy->mSyncEventResponseSyncQueueKey;
     mProxy->mSyncEventResponseSyncQueueKey = mSyncQueueKey;
 
-    intN rv = MainThreadRun();
+    int rv = MainThreadRun();
 
     nsRefPtr<ResponseRunnable> response =
       new ResponseRunnable(mWorkerPrivate, mProxy, mSyncQueueKey, rv);
     if (!response->Dispatch(nsnull)) {
       NS_WARNING("Failed to dispatch response!");
     }
 
     mProxy->mSyncEventResponseSyncQueueKey = oldSyncQueueKey;
@@ -813,34 +813,34 @@ class SetMultipartRunnable : public Work
   bool mValue;
 
 public:
   SetMultipartRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                        bool aValue)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mValue(aValue)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     return GetDOMExceptionCodeFromResult(mProxy->mXHR->SetMultipart(mValue));
   }
 };
 
 class SetBackgroundRequestRunnable : public WorkerThreadProxySyncRunnable
 {
   bool mValue;
 
 public:
   SetBackgroundRequestRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                                bool aValue)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mValue(aValue)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->SetMozBackgroundRequest(mValue);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
 class SetWithCredentialsRunnable : public WorkerThreadProxySyncRunnable
@@ -848,17 +848,17 @@ class SetWithCredentialsRunnable : publi
   bool mValue;
 
 public:
   SetWithCredentialsRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                              bool aValue)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mValue(aValue)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->SetWithCredentials(mValue);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
 class SetResponseTypeRunnable : public WorkerThreadProxySyncRunnable
@@ -867,17 +867,17 @@ class SetResponseTypeRunnable : public W
 
 public:
   SetResponseTypeRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                           const nsAString& aResponseType)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy),
     mResponseType(aResponseType)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->SetResponseType(mResponseType);
     mResponseType.Truncate();
     if (NS_SUCCEEDED(rv)) {
       rv = mProxy->mXHR->GetResponseType(mResponseType);
     }
     return GetDOMExceptionCodeFromResult(rv);
@@ -891,17 +891,17 @@ public:
 
 class AbortRunnable : public WorkerThreadProxySyncRunnable
 {
 public:
   AbortRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     mProxy->mInnerChannelId++;
 
     WorkerPrivate* oldWorker = mProxy->mWorkerPrivate;
     mProxy->mWorkerPrivate = mWorkerPrivate;
 
     nsresult rv = mProxy->mXHR->Abort();
@@ -920,17 +920,17 @@ class GetAllResponseHeadersRunnable : pu
 
 public:
   GetAllResponseHeadersRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                                 nsString& aResponseHeaders)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy),
     mResponseHeaders(aResponseHeaders)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv =
       mProxy->mXHR->GetAllResponseHeaders(mResponseHeaders);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
@@ -941,17 +941,17 @@ class GetResponseHeaderRunnable : public
 
 public:
   GetResponseHeaderRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                             const nsCString& aHeader, nsCString& aValue)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mHeader(aHeader),
     mValue(aValue)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->GetResponseHeader(mHeader, mValue);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
 class OpenRunnable : public WorkerThreadProxySyncRunnable
@@ -969,29 +969,29 @@ public:
                const nsCString& aMethod, const nsCString& aURL,
                const nsString& aUser, const nsString& aPassword,
                bool aMultipart, bool aBackgroundRequest, bool aWithCredentials)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mMethod(aMethod),
     mURL(aURL), mUser(aUser), mPassword(aPassword), mMultipart(aMultipart),
     mBackgroundRequest(aBackgroundRequest), mWithCredentials(aWithCredentials)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     WorkerPrivate* oldWorker = mProxy->mWorkerPrivate;
     mProxy->mWorkerPrivate = mWorkerPrivate;
 
-    intN retval = MainThreadRunInternal();
+    int retval = MainThreadRunInternal();
 
     mProxy->mWorkerPrivate = oldWorker;
     return retval;
   }
 
-  intN
+  int
   MainThreadRunInternal()
   {
     if (!mProxy->Init()) {
       return INVALID_STATE_ERR;
     }
 
     nsresult rv;
 
@@ -1038,34 +1038,34 @@ public:
                JSAutoStructuredCloneBuffer& aBody, PRUint32 aSyncQueueKey,
                bool aHasUploadListeners)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy),
     mSyncQueueKey(aSyncQueueKey), mHasUploadListeners(aHasUploadListeners)
   {
     mBody.swap(aBody);
   }
 
-  intN
+  int
   MainThreadRun()
   {
     NS_ASSERTION(!mProxy->mWorkerPrivate, "Should be null!");
 
     mProxy->mWorkerPrivate = mWorkerPrivate;
 
     NS_ASSERTION(mProxy->mSyncQueueKey == PR_UINT32_MAX, "Should be unset!");
     mProxy->mSyncQueueKey = mSyncQueueKey;
 
     nsCOMPtr<nsIVariant> variant;
     if (mBody.data()) {
       nsIXPConnect* xpc = nsContentUtils::XPConnect();
       NS_ASSERTION(xpc, "This should never be null!");
 
       RuntimeService::AutoSafeJSContext cx;
 
-      intN error = 0;
+      int error = 0;
 
       jsval body;
       if (mBody.read(cx, &body)) {
         if (NS_FAILED(xpc->JSValToVariant(cx, &body,
                                           getter_AddRefs(variant)))) {
           error = INVALID_STATE_ERR;
         }
       }
@@ -1109,17 +1109,17 @@ class SendAsBinaryRunnable : public Work
 public:
   SendAsBinaryRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                        const nsString& aBody, PRUint32 aSyncQueueKey,
                        bool aHasUploadListeners)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mBody(aBody),
     mSyncQueueKey(aSyncQueueKey), mHasUploadListeners(aHasUploadListeners)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     NS_ASSERTION(!mProxy->mWorkerPrivate, "Should be null!");
 
     mProxy->mWorkerPrivate = mWorkerPrivate;
 
     NS_ASSERTION(mProxy->mSyncQueueKey == PR_UINT32_MAX, "Should be unset!");
     mProxy->mSyncQueueKey = mSyncQueueKey;
@@ -1151,17 +1151,17 @@ class SetRequestHeaderRunnable : public 
 
 public:
   SetRequestHeaderRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                            const nsCString& aHeader, const nsCString& aValue)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mHeader(aHeader),
     mValue(aValue)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->SetRequestHeader(mHeader, mValue);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
 class OverrideMimeTypeRunnable : public WorkerThreadProxySyncRunnable
@@ -1169,17 +1169,17 @@ class OverrideMimeTypeRunnable : public 
   nsCString mMimeType;
 
 public:
   OverrideMimeTypeRunnable(WorkerPrivate* aWorkerPrivate, Proxy* aProxy,
                            const nsCString& aMimeType)
   : WorkerThreadProxySyncRunnable(aWorkerPrivate, aProxy), mMimeType(aMimeType)
   { }
 
-  intN
+  int
   MainThreadRun()
   {
     nsresult rv = mProxy->mXHR->OverrideMimeType(mMimeType);
     return GetDOMExceptionCodeFromResult(rv);
   }
 };
 
 class AutoUnpinXHR {
--- a/gfx/skia/src/xml/SkJS.cpp
+++ b/gfx/skia/src/xml/SkJS.cpp
@@ -79,17 +79,17 @@ global_enumerate(JSContext *cx, JSObject
 #ifdef LAZY_STANDARD_CLASSES
     return JS_EnumerateStandardClasses(cx, obj);
 #else
     return JS_TRUE;
 #endif
 }
 
 static JSBool
-global_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags, JSObject **objp)
+global_resolve(JSContext *cx, JSObject *obj, jsval id, unsigned flags, JSObject **objp)
 {
 #ifdef LAZY_STANDARD_CLASSES
     if ((flags & JSRESOLVE_ASSIGNING) == 0) {
         JSBool resolved;
 
         if (!JS_ResolveStandardClass(cx, obj, id, &resolved))
             return JS_FALSE;
         if (resolved) {
--- a/gfx/skia/src/xml/SkJSDisplayable.cpp
+++ b/gfx/skia/src/xml/SkJSDisplayable.cpp
@@ -59,24 +59,24 @@ class SkJSDisplayable {
 public:
     SkJSDisplayable() : fDisplayable(NULL) {}
     ~SkJSDisplayable() { delete fDisplayable; }
     static void Destructor(JSContext *cx, JSObject *obj);
     static JSBool GetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp);
     static JSBool SetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp);
     static SkCanvas* gCanvas;
     static SkPaint* gPaint;
-    static JSBool Draw(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval);
+    static JSBool Draw(JSContext *cx, JSObject *obj, unsigned argc, jsval *argv, jsval *rval);
     SkDisplayable* fDisplayable;
 };
 
 SkCanvas* SkJSDisplayable::gCanvas;
 SkPaint* SkJSDisplayable::gPaint;
 
-JSBool SkJSDisplayable::Draw(JSContext *cx, JSObject *obj, uintN argc,
+JSBool SkJSDisplayable::Draw(JSContext *cx, JSObject *obj, unsigned argc,
                                     jsval *argv, jsval *rval)
 {
     SkJSDisplayable *p = (SkJSDisplayable*) JS_GetPrivate(cx, obj);
     SkASSERT(p->fDisplayable->isDrawable());
     SkDrawable* drawable = (SkDrawable*) p->fDisplayable;
     SkAnimateMaker maker(NULL, gCanvas, gPaint);
     drawable->draw(maker);
     return JS_TRUE;
@@ -88,17 +88,17 @@ JSFunctionSpec SkJSDisplayable_methods[]
     { "draw", SkJSDisplayable::Draw, 1, 0, 0 },
     { 0 }
 };
 
 static JSPropertySpec* gDisplayableProperties[kNumberOfTypes];
 static JSClass gDisplayableClasses[kNumberOfTypes];
 
 #define JS_INIT(_prefix, _class) \
-static JSBool _class##Constructor(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) { \
+static JSBool _class##Constructor(JSContext *cx, JSObject *obj, unsigned argc, jsval *argv, jsval *rval) { \
     SkJSDisplayable* jsDisplayable = new SkJSDisplayable(); \
     jsDisplayable->fDisplayable = new _prefix##_class(); \
     JS_SetPrivate(cx, obj, (void*) jsDisplayable); \
     return JS_TRUE; \
 } \
     \
 static JSObject* _class##Init(JSContext *cx, JSObject *obj, JSObject *proto) { \
     JSObject *newProtoObj = JS_InitClass(cx, obj, proto, &gDisplayableClasses[SkType_##_class], \
--- a/ipc/testshell/TestShellParent.cpp
+++ b/ipc/testshell/TestShellParent.cpp
@@ -132,17 +132,17 @@ TestShellCommandParent::RunCallback(cons
     NS_ERROR("Failed to enter compartment!");
     return false;
   }
 
   JSString* str = JS_NewUCStringCopyN(mCx, aResponse.get(), aResponse.Length());
   NS_ENSURE_TRUE(str, JS_FALSE);
 
   jsval argv[] = { STRING_TO_JSVAL(str) };
-  uintN argc = ArrayLength(argv);
+  unsigned argc = ArrayLength(argv);
 
   jsval rval;
   JSBool ok = JS_CallFunctionValue(mCx, global, mCallback, argc, argv, &rval);
   NS_ENSURE_TRUE(ok, JS_FALSE);
 
   return JS_TRUE;
 }
 
--- a/ipc/testshell/XPCShellEnvironment.cpp
+++ b/ipc/testshell/XPCShellEnvironment.cpp
@@ -225,34 +225,34 @@ ScriptErrorReporter(JSContext *cx,
     }
     JS_free(cx, prefix);
 }
 
 JSContextCallback gOldContextCallback = NULL;
 
 static JSBool
 ContextCallback(JSContext *cx,
-                uintN contextOp)
+                unsigned contextOp)
 {
     if (gOldContextCallback && !gOldContextCallback(cx, contextOp))
         return JS_FALSE;
 
     if (contextOp == JSCONTEXT_NEW) {
         JS_SetErrorReporter(cx, ScriptErrorReporter);
         JS_SetVersion(cx, JSVERSION_LATEST);
     }
     return JS_TRUE;
 }
 
 static JSBool
 Print(JSContext *cx,
-      uintN argc,
+      unsigned argc,
       jsval *vp)
 {
-    uintN i, n;
+    unsigned i, n;
     JSString *str;
 
     jsval *argv = JS_ARGV(cx, vp);
     for (i = n = 0; i < argc; i++) {
         str = JS_ValueToString(cx, argv[i]);
         if (!str)
             return JS_FALSE;
         JSAutoByteString bytes(cx, str);
@@ -279,17 +279,17 @@ GetLine(char *bufp,
     if (!fgets(line, sizeof line, file))
         return JS_FALSE;
     strcpy(bufp, line);
     return JS_TRUE;
 }
 
 static JSBool
 Dump(JSContext *cx,
-     uintN argc,
+     unsigned argc,
      jsval *vp)
 {
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
 
     JSString *str;
     if (!argc)
         return JS_TRUE;
 
@@ -302,20 +302,20 @@ Dump(JSContext *cx,
 
     fputs(bytes.ptr(), stdout);
     fflush(stdout);
     return JS_TRUE;
 }
 
 static JSBool
 Load(JSContext *cx,
-     uintN argc,
+     unsigned argc,
      jsval *vp)
 {
-    uintN i;
+    unsigned i;
     JSString *str;
     JSScript *script;
     jsval result;
     FILE *file;
 
     JSObject *obj = JS_THIS_OBJECT(cx, vp);
     if (!obj)
         return JS_FALSE;
@@ -346,52 +346,52 @@ Load(JSContext *cx,
         }
     }
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
 Version(JSContext *cx,
-        uintN argc,
+        unsigned argc,
         jsval *vp)
 {
     jsval *argv = JS_ARGV(cx, vp);
     if (argc > 0 && JSVAL_IS_INT(argv[0]))
         JS_SET_RVAL(cx, vp, INT_TO_JSVAL(JS_SetVersion(cx, JSVersion(JSVAL_TO_INT(argv[0])))));
     else
         JS_SET_RVAL(cx, vp, INT_TO_JSVAL(JS_GetVersion(cx)));
     return JS_TRUE;
 }
 
 static JSBool
-BuildDate(JSContext *cx, uintN argc, jsval *vp)
+BuildDate(JSContext *cx, unsigned argc, jsval *vp)
 {
     fprintf(stdout, "built on %s at %s\n", __DATE__, __TIME__);
     return JS_TRUE;
 }
 
 static JSBool
 Quit(JSContext *cx,
-     uintN argc,
+     unsigned argc,
      jsval *vp)
 {
     int exitCode = 0;
     JS_ConvertArguments(cx, argc, JS_ARGV(cx, vp), "/ i", &exitCode);
 
     XPCShellEnvironment* env = Environment(cx);
     env->SetExitCode(exitCode);
     env->SetIsQuitting();
 
     return JS_FALSE;
 }
 
 static JSBool
 DumpXPC(JSContext *cx,
-        uintN argc,
+        unsigned argc,
         jsval *vp)
 {
     int32_t depth = 2;
 
     if (argc > 0) {
         if (!JS_ValueToInt32(cx, JS_ARGV(cx, vp)[0], &depth))
             return JS_FALSE;
     }
@@ -400,32 +400,32 @@ DumpXPC(JSContext *cx,
     if(xpc)
         xpc->DebugDump(int16_t(depth));
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 static JSBool
 GC(JSContext *cx,
-   uintN argc,
+   unsigned argc,
    jsval *vp)
 {
     JS_GC(cx);
 #ifdef JS_GCMETER
     JSRuntime *rt = JS_GetRuntime(cx);
     js_DumpGCStats(rt, stdout);
 #endif
     JS_SET_RVAL(cx, vp, JSVAL_VOID);
     return JS_TRUE;
 }
 
 #ifdef JS_GC_ZEAL
 static JSBool
 GCZeal(JSContext *cx, 
-       uintN argc,
+       unsigned argc,
        jsval *vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
 
   uint32_t zeal;
   if (!JS_ValueToECMAUint32(cx, argv[0], &zeal))
     return JS_FALSE;
 
@@ -433,17 +433,17 @@ GCZeal(JSContext *cx,
   return JS_TRUE;
 }
 #endif
 
 #ifdef DEBUG
 
 static JSBool
 DumpHeap(JSContext *cx,
-         uintN argc,
+         unsigned argc,
          jsval *vp)
 {
     JSAutoByteString fileName;
     void* startThing = NULL;
     JSGCTraceKind startTraceKind = JSTRACE_OBJECT;
     void *thingToFind = NULL;
     size_t maxDepth = (size_t)-1;
     void *thingToIgnore = NULL;
@@ -519,17 +519,17 @@ DumpHeap(JSContext *cx,
             (unsigned)(vp - argv));
     return JS_FALSE;
 }
 
 #endif /* DEBUG */
 
 static JSBool
 Clear(JSContext *cx,
-      uintN argc,
+      unsigned argc,
       jsval *vp)
 {
     jsval *argv = JS_ARGV(cx, vp);
     if (argc > 0 && !JSVAL_IS_PRIMITIVE(argv[0])) {
         JS_ClearScope(cx, JSVAL_TO_OBJECT(argv[0]));
     } else {
         JS_ReportError(cx, "'clear' requires an object");
         return JS_FALSE;
--- a/js/ipc/ObjectWrapperParent.cpp
+++ b/js/ipc/ObjectWrapperParent.cpp
@@ -48,33 +48,33 @@
 #include "jsfriendapi.h"
 
 using namespace mozilla::jsipc;
 
 namespace {
 
     // Only need one reserved slot because the ObjectWrapperParent* is
     // stored in the private slot.
-    static const uintN sFlagsSlot = 0;
-    static const uintN sNumSlots = 1;
-    static const uintN CPOW_FLAG_RESOLVING = 1 << 0;
+    static const unsigned sFlagsSlot = 0;
+    static const unsigned sNumSlots = 1;
+    static const unsigned CPOW_FLAG_RESOLVING = 1 << 0;
 
     class AutoResolveFlag
     {
         JSObject* mObj;
-        uintN mOldFlags;
+        unsigned mOldFlags;
         JS_DECL_USE_GUARD_OBJECT_NOTIFIER
 
-        static uintN GetFlags(JSObject* obj) {
+        static unsigned GetFlags(JSObject* obj) {
             jsval v = JS_GetReservedSlot(obj, sFlagsSlot);
             return JSVAL_TO_INT(v);
         }
 
-        static uintN SetFlags(JSObject* obj, uintN flags) {
-            uintN oldFlags = GetFlags(obj);
+        static unsigned SetFlags(JSObject* obj, unsigned flags) {
+            unsigned oldFlags = GetFlags(obj);
             if (oldFlags != flags)
                 JS_SetReservedSlot(obj, sFlagsSlot, INT_TO_JSVAL(flags));
             return oldFlags;
         }
 
     public:
 
         AutoResolveFlag(JSObject* obj
@@ -572,17 +572,17 @@ ObjectWrapperParent::CPOW_NewEnumerate(J
     }
 
     NS_NOTREACHED("Unknown enum_op value in CPOW_NewEnumerate");
     return JS_FALSE;
 }
 
 /*static*/ JSBool
 ObjectWrapperParent::CPOW_NewResolve(JSContext *cx, JSObject *obj, jsid id,
-                                     uintN flags, JSObject **objp)
+                                     unsigned flags, JSObject **objp)
 {
     CPOW_LOG(("Calling CPOW_NewResolve (%s)...",
               JSVAL_TO_CSTR(cx, id)));
 
     ObjectWrapperParent* self = Unwrap(obj);
     if (!self)
         return with_error(cx, JS_FALSE, "Unwrapping failed in CPOW_NewResolve");
 
@@ -634,17 +634,17 @@ ObjectWrapperParent::CPOW_Finalize(JSCon
     ObjectWrapperParent* self = Unwrap(obj);
     if (self) {
         self->mObj = NULL;
         unused << ObjectWrapperParent::Send__delete__(self);
     }
 }
 
 /*static*/ JSBool
-ObjectWrapperParent::CPOW_Call(JSContext* cx, uintN argc, jsval* vp)
+ObjectWrapperParent::CPOW_Call(JSContext* cx, unsigned argc, jsval* vp)
 {
     CPOW_LOG(("Calling CPOW_Call..."));
 
     JSObject* thisobj = JS_THIS_OBJECT(cx, vp);
     if (!thisobj)
         return JS_FALSE;
 
     ObjectWrapperParent* function =
@@ -660,43 +660,43 @@ ObjectWrapperParent::CPOW_Call(JSContext
         // TODO First make sure we're really replacing the global object?
         ContextWrapperParent* manager =
             static_cast<ContextWrapperParent*>(function->Manager());
         receiver = manager->GetGlobalObjectWrapper();
     }
 
     InfallibleTArray<JSVariant> in_argv(argc);
     jsval* argv = JS_ARGV(cx, vp);
-    for (uintN i = 0; i < argc; i++)
+    for (unsigned i = 0; i < argc; i++)
         if (!jsval_to_JSVariant(cx, argv[i], in_argv.AppendElement()))
             return JS_FALSE;
 
     JSVariant out_rval;
 
     return (function->Manager()->RequestRunToCompletion() &&
             function->CallCall(receiver, in_argv,
                                aco.StatusPtr(), &out_rval) &&
             aco.Ok() &&
             jsval_from_JSVariant(cx, out_rval, vp));
 }
 
 /*static*/ JSBool
-ObjectWrapperParent::CPOW_Construct(JSContext* cx, uintN argc, jsval* vp)
+ObjectWrapperParent::CPOW_Construct(JSContext* cx, unsigned argc, jsval* vp)
 {
     CPOW_LOG(("Calling CPOW_Construct..."));
     
     ObjectWrapperParent* constructor = Unwrap(JSVAL_TO_OBJECT(JS_CALLEE(cx, vp)));
     if (!constructor)
         return with_error(cx, JS_FALSE, "Could not unwrap CPOW constructor function");
 
     AutoCheckOperation aco(cx, constructor);
 
     InfallibleTArray<JSVariant> in_argv(argc);
     jsval* argv = JS_ARGV(cx, vp);
-    for (uintN i = 0; i < argc; i++)
+    for (unsigned i = 0; i < argc; i++)
         if (!jsval_to_JSVariant(cx, argv[i], in_argv.AppendElement()))
             return JS_FALSE;
 
     PObjectWrapperParent* out_powp;
 
     return (constructor->Manager()->RequestRunToCompletion() &&
             constructor->CallConstruct(in_argv, aco.StatusPtr(), &out_powp) &&
             aco.Ok() &&
--- a/js/ipc/ObjectWrapperParent.h
+++ b/js/ipc/ObjectWrapperParent.h
@@ -107,30 +107,30 @@ private:
     JSBool NewEnumerateInit(JSContext* cx, jsval* statep, jsid* idp);
     JSBool NewEnumerateNext(JSContext* cx, jsval* statep, jsid* idp);
     JSBool NewEnumerateDestroy(JSContext* cx, jsval state);
     static JSBool
     CPOW_NewEnumerate(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
                       jsval *statep, jsid *idp);
 
     static JSBool
-    CPOW_NewResolve(JSContext *cx, JSObject *obj, jsid id, uintN flags,
+    CPOW_NewResolve(JSContext *cx, JSObject *obj, jsid id, unsigned flags,
                     JSObject **objp);
 
     static JSBool
     CPOW_Convert(JSContext *cx, JSObject *obj, JSType type, jsval *vp);
 
     static void
     CPOW_Finalize(JSContext* cx, JSObject* obj);
 
     static JSBool
-    CPOW_Call(JSContext* cx, uintN argc, jsval* vp);
+    CPOW_Call(JSContext* cx, unsigned argc, jsval* vp);
 
     static JSBool
-    CPOW_Construct(JSContext *cx, uintN argc, jsval *vp);
+    CPOW_Construct(JSContext *cx, unsigned argc, jsval *vp);
     
     static JSBool
     CPOW_HasInstance(JSContext *cx, JSObject *obj, const jsval *v, JSBool *bp);
 
     static JSBool
     CPOW_Equality(JSContext *cx, JSObject *obj, const jsval *v, JSBool *bp);
 
     static bool jsval_to_JSVariant(JSContext* cx, jsval from, JSVariant* to);
--- a/js/jsd/jsd.h
+++ b/js/jsd/jsd.h
@@ -158,17 +158,17 @@ struct JSDContext
     JSContext*              dumbContext;
     JSObject*               glob;
     JSD_UserCallbacks       userCallbacks;
     void*                   user;
     JSCList                 scripts;
     JSHashTable*            scriptsTable;
     JSCList                 sources;
     JSCList                 removedSources;
-    uintN                   sourceAlterCount;
+    unsigned                   sourceAlterCount;
     JSHashTable*            atoms;
     JSCList                 objectsList;
     JSHashTable*            objectsTable;
     JSDProfileData*         callingFunctionPData;
     int64_t                 lastReturnTime;
 #ifdef JSD_THREADSAFE
     void*                   scriptsLock;
     void*                   sourceTextLock;
@@ -182,18 +182,18 @@ struct JSDContext
 
 };
 
 struct JSDScript
 {
     JSCList     links;      /* we are part of a JSCList */
     JSDContext* jsdc;       /* JSDContext for this jsdscript */
     JSScript*   script;     /* script we are wrapping */
-    uintN       lineBase;   /* we cache this */
-    uintN       lineExtent; /* we cache this */
+    unsigned       lineBase;   /* we cache this */
+    unsigned       lineExtent; /* we cache this */
     JSCList     hooks;      /* JSCList of JSDExecHooks for this script */
     char*       url;
     uint32_t    flags;
     void*       data;
 
     JSDProfileData  *profileData;
 
 #ifdef LIVEWIRE
@@ -202,37 +202,37 @@ struct JSDScript
 #endif
 };
 
 struct JSDProfileData
 {
     JSDProfileData* caller;
     int64_t  lastCallStart;
     int64_t  runningTime;
-    uintN    callCount;
-    uintN    recurseDepth;
-    uintN    maxRecurseDepth;
+    unsigned    callCount;
+    unsigned    recurseDepth;
+    unsigned    maxRecurseDepth;
     double minExecutionTime;
     double maxExecutionTime;
     double totalExecutionTime;
     double minOwnExecutionTime;
     double maxOwnExecutionTime;
     double totalOwnExecutionTime;
 };
 
 struct JSDSourceText
 {
     JSCList          links;      /* we are part of a JSCList */
     char*            url;
     char*            text;
-    uintN            textLength;
-    uintN            textSpace;
+    unsigned            textLength;
+    unsigned            textSpace;
     JSBool           dirty;
     JSDSourceStatus  status;
-    uintN            alterCount;
+    unsigned            alterCount;
     JSBool           doingEval;
 };
 
 struct JSDExecHook
 {
     JSCList               links;        /* we are part of a JSCList */
     JSDScript*            jsdscript;
     uintptr_t             pc;
@@ -243,18 +243,18 @@ struct JSDExecHook
 #define TS_HAS_DISABLED_FRAME 0x01
 
 struct JSDThreadState
 {
     JSCList             links;        /* we are part of a JSCList */
     JSContext*          context;
     void*               thread;
     JSCList             stack;
-    uintN               stackDepth;
-    uintN               flags;
+    unsigned               stackDepth;
+    unsigned               flags;
 };
 
 struct JSDStackFrameInfo
 {
     JSCList             links;        /* we are part of a JSCList */
     JSDThreadState*     jsdthreadstate;
     JSDScript*          jsdscript;
     uintptr_t           pc;
@@ -264,52 +264,52 @@ struct JSDStackFrameInfo
 #define GOT_PROTO   ((short) (1 << 0))
 #define GOT_PROPS   ((short) (1 << 1))
 #define GOT_PARENT  ((short) (1 << 2))
 #define GOT_CTOR    ((short) (1 << 3))
 
 struct JSDValue
 {
     jsval       val;
-    intN        nref;
+    int        nref;
     JSCList     props;
     JSString*   string;
     JSString*   funName;
     const char* className;
     JSDValue*   proto;
     JSDValue*   parent;
     JSDValue*   ctor;
-    uintN       flags;
+    unsigned       flags;
 };
 
 struct JSDProperty
 {
     JSCList     links;      /* we are part of a JSCList */
-    intN        nref;
+    int        nref;
     JSDValue*   val;
     JSDValue*   name;
     JSDValue*   alias;
-    uintN       slot;
-    uintN       flags;
+    unsigned       slot;
+    unsigned       flags;
 };
 
 struct JSDAtom
 {
     char* str;      /* must be first element in struct for compare */
-    intN  refcount;
+    int  refcount;
 };
 
 struct JSDObject
 {
     JSCList     links;      /* we are part of a JSCList */
     JSObject*   obj;
     JSDAtom*    newURL;
-    uintN       newLineno;
+    unsigned       newLineno;
     JSDAtom*    ctorURL;
-    uintN       ctorLineno;
+    unsigned       ctorLineno;
     JSDAtom*    ctorName;
 };
 
 /***************************************************************************/
 /* Code validation support */
 
 #ifdef DEBUG
 extern void JSD_ASSERT_VALID_CONTEXT(JSDContext* jsdc);
@@ -406,20 +406,20 @@ extern JSDProfileData*
 jsd_GetScriptProfileData(JSDContext* jsdc, JSDScript *script);
 
 extern uint32_t
 jsd_GetScriptFlags(JSDContext *jsdc, JSDScript *script);
 
 extern void
 jsd_SetScriptFlags(JSDContext *jsdc, JSDScript *script, uint32_t flags);
 
-extern uintN
+extern unsigned
 jsd_GetScriptCallCount(JSDContext* jsdc, JSDScript *script);
 
-extern  uintN
+extern  unsigned
 jsd_GetScriptMaxRecurseDepth(JSDContext* jsdc, JSDScript *script);
 
 extern double
 jsd_GetScriptMinExecutionTime(JSDContext* jsdc, JSDScript *script);
 
 extern double
 jsd_GetScriptMaxExecutionTime(JSDContext* jsdc, JSDScript *script);
 
@@ -457,44 +457,44 @@ extern JSBool
 jsd_IsActiveScript(JSDContext* jsdc, JSDScript *jsdscript);
 
 extern const char*
 jsd_GetScriptFilename(JSDContext* jsdc, JSDScript *jsdscript);
 
 extern JSString*
 jsd_GetScriptFunctionId(JSDContext* jsdc, JSDScript *jsdscript);
 
-extern uintN
+extern unsigned
 jsd_GetScriptBaseLineNumber(JSDContext* jsdc, JSDScript *jsdscript);
 
-extern uintN
+extern unsigned
 jsd_GetScriptLineExtent(JSDContext* jsdc, JSDScript *jsdscript);
 
 extern JSBool
 jsd_SetScriptHook(JSDContext* jsdc, JSD_ScriptHookProc hook, void* callerdata);
 
 extern JSBool
 jsd_GetScriptHook(JSDContext* jsdc, JSD_ScriptHookProc* hook, void** callerdata);
 
 extern uintptr_t
-jsd_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, uintN line);
+jsd_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, unsigned line);
 
-extern uintN
+extern unsigned
 jsd_GetClosestLine(JSDContext* jsdc, JSDScript* jsdscript, uintptr_t pc);
 
 extern JSBool
 jsd_GetLinePCs(JSDContext* jsdc, JSDScript* jsdscript,
-               uintN startLine, uintN maxLines,
-               uintN* count, uintN** lines, uintptr_t** pcs);
+               unsigned startLine, unsigned maxLines,
+               unsigned* count, unsigned** lines, uintptr_t** pcs);
 
 extern void
 jsd_NewScriptHookProc(
                 JSContext   *cx,
                 const char  *filename,      /* URL this script loads from */
-                uintN       lineno,         /* line where this script starts */
+                unsigned       lineno,         /* line where this script starts */
                 JSScript    *script,
                 JSFunction  *fun,
                 void*       callerdata);
 
 extern void
 jsd_DestroyScriptHookProc(
                 JSContext   *cx,
                 JSScript    *script,
@@ -519,17 +519,17 @@ jsd_ClearAllExecutionHooksForScript(JSDC
 
 extern JSBool
 jsd_ClearAllExecutionHooks(JSDContext* jsdc);
 
 extern void
 jsd_ScriptCreated(JSDContext* jsdc,
                   JSContext   *cx,
                   const char  *filename,    /* URL this script loads from */
-                  uintN       lineno,       /* line where this script starts */
+                  unsigned       lineno,       /* line where this script starts */
                   JSScript    *script,
                   JSFunction  *fun);
 
 extern void
 jsd_ScriptDestroyed(JSDContext* jsdc,
                     JSContext   *cx,
                     JSScript    *script);
 
@@ -542,34 +542,34 @@ jsd_IterateSources(JSDContext* jsdc, JSD
 extern JSDSourceText*
 jsd_FindSourceForURL(JSDContext* jsdc, const char* url);
 
 extern const char*
 jsd_GetSourceURL(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSBool
 jsd_GetSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc,
-                  const char** ppBuf, intN* pLen);
+                  const char** ppBuf, int* pLen);
 
 extern void
 jsd_ClearSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSDSourceStatus
 jsd_GetSourceStatus(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSBool
 jsd_IsSourceDirty(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern void
 jsd_SetSourceDirty(JSDContext* jsdc, JSDSourceText* jsdsrc, JSBool dirty);
 
-extern uintN
+extern unsigned
 jsd_GetSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
-extern uintN
+extern unsigned
 jsd_IncrementSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSDSourceText*
 jsd_NewSourceText(JSDContext* jsdc, const char* url);
 
 extern JSDSourceText*
 jsd_AppendSourceText(JSDContext* jsdc,
                      JSDSourceText* jsdsrc,
@@ -633,25 +633,25 @@ jsd_SetDebuggerHook(JSDContext*         
                     void*                 callerdata);
 
 extern JSBool
 jsd_ClearDebuggerHook(JSDContext* jsdc);
 
 extern JSTrapStatus
 jsd_CallExecutionHook(JSDContext*           jsdc,
                       JSContext*            cx,
-                      uintN                 type,
+                      unsigned                 type,
                       JSD_ExecutionHookProc hook,
                       void*                 hookData,
                       jsval*                rval);
 
 extern JSBool
 jsd_CallCallHook (JSDContext*      jsdc,
                   JSContext*       cx,
-                  uintN            type,
+                  unsigned            type,
                   JSD_CallHookProc hook,
                   void*            hookData);
 
 extern JSBool
 jsd_SetThrowHook(JSDContext*           jsdc,
                  JSD_ExecutionHookProc hook,
                  void*                 callerdata);
 extern JSBool
@@ -679,17 +679,17 @@ jsd_SetTopLevelHook(JSDContext*      jsd
                     void*            callerdata);
 
 extern JSBool
 jsd_ClearTopLevelHook(JSDContext* jsdc);
 
 /***************************************************************************/
 /* Stack Frame functions */
 
-extern uintN
+extern unsigned
 jsd_GetCountOfStackFrames(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
 extern JSDStackFrameInfo*
 jsd_GetStackFrame(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
 extern JSContext*
 jsd_GetJSContext(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
@@ -743,26 +743,26 @@ jsd_NewThreadState(JSDContext* jsdc, JSC
 
 extern void
 jsd_DestroyThreadState(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
 extern JSBool
 jsd_EvaluateUCScriptInStackFrame(JSDContext* jsdc,
                                  JSDThreadState* jsdthreadstate,
                                  JSDStackFrameInfo* jsdframe,
-                                 const jschar *bytes, uintN length,
-                                 const char *filename, uintN lineno,
+                                 const jschar *bytes, unsigned length,
+                                 const char *filename, unsigned lineno,
                                  JSBool eatExceptions, jsval *rval);
 
 extern JSBool
 jsd_EvaluateScriptInStackFrame(JSDContext* jsdc,
                                JSDThreadState* jsdthreadstate,
                                JSDStackFrameInfo* jsdframe,
-                               const char *bytes, uintN length,
-                               const char *filename, uintN lineno,
+                               const char *bytes, unsigned length,
+                               const char *filename, unsigned lineno,
                                JSBool eatExceptions, jsval *rval);
 
 extern JSString*
 jsd_ValToStringInStackFrame(JSDContext* jsdc,
                             JSDThreadState* jsdthreadstate,
                             JSDStackFrameInfo* jsdframe,
                             jsval val);
 
@@ -981,17 +981,17 @@ jsd_GetValueString(JSDContext* jsdc, JSD
 extern JSString*
 jsd_GetValueFunctionId(JSDContext* jsdc, JSDValue* jsdval);
 
 extern JSFunction*
 jsd_GetValueFunction(JSDContext* jsdc, JSDValue* jsdval);
 
 /**************************************************/
 
-extern uintN
+extern unsigned
 jsd_GetCountOfProperties(JSDContext* jsdc, JSDValue* jsdval);
 
 extern JSDProperty*
 jsd_IterateProperties(JSDContext* jsdc, JSDValue* jsdval, JSDProperty **iterp);
 
 extern JSDProperty*
 jsd_GetValueProperty(JSDContext* jsdc, JSDValue* jsdval, JSString* name);
 
@@ -1019,20 +1019,20 @@ extern JSDValue*
 jsd_GetPropertyName(JSDContext* jsdc, JSDProperty* jsdprop);
 
 extern JSDValue*
 jsd_GetPropertyValue(JSDContext* jsdc, JSDProperty* jsdprop);
 
 extern JSDValue*
 jsd_GetPropertyAlias(JSDContext* jsdc, JSDProperty* jsdprop);
 
-extern uintN
+extern unsigned
 jsd_GetPropertyFlags(JSDContext* jsdc, JSDProperty* jsdprop);
 
-extern uintN
+extern unsigned
 jsd_GetPropertyVarArgSlot(JSDContext* jsdc, JSDProperty* jsdprop);
 
 /**************************************************/
 /* Stepping Functions */
 
 extern void *
 jsd_FunctionCallHook(JSContext *cx, JSStackFrame *fp, JSBool before,
                      JSBool *ok, void *closure);
@@ -1061,23 +1061,23 @@ extern JSDObject*
 jsd_IterateObjects(JSDContext* jsdc, JSDObject** iterp);
 
 extern JSObject*
 jsd_GetWrappedObject(JSDContext* jsdc, JSDObject* jsdobj);
 
 extern const char*
 jsd_GetObjectNewURL(JSDContext* jsdc, JSDObject* jsdobj);
 
-extern uintN
+extern unsigned
 jsd_GetObjectNewLineNumber(JSDContext* jsdc, JSDObject* jsdobj);
 
 extern const char*
 jsd_GetObjectConstructorURL(JSDContext* jsdc, JSDObject* jsdobj);
 
-extern uintN
+extern unsigned
 jsd_GetObjectConstructorLineNumber(JSDContext* jsdc, JSDObject* jsdobj);
 
 extern const char*
 jsd_GetObjectConstructorName(JSDContext* jsdc, JSDObject* jsdobj);
 
 extern JSDObject*
 jsd_GetJSDObjectForJSObject(JSDContext* jsdc, JSObject* jsobj);
 
@@ -1127,21 +1127,21 @@ jsdlw_PreLoadSource(JSDContext* jsdc, LW
 extern JSDSourceText*
 jsdlw_ForceLoadSource(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSBool
 jsdlw_UserCodeAtPC(JSDContext* jsdc, JSDScript* jsdscript, uintptr_t pc);
 
 extern JSBool
 jsdlw_RawToProcessedLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut);
+                               unsigned lineIn, unsigned* lineOut);
 
 extern JSBool
 jsdlw_ProcessedToRawLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut);
+                               unsigned lineIn, unsigned* lineOut);
 
 
 #if 0
 /* our hook proc for LiveWire app start/stop */
 extern void
 jsdlw_AppHookProc(LWDBGApp* app,
                   JSBool created,
                   void *callerdata);
--- a/js/jsd/jsd_atom.c
+++ b/js/jsd/jsd_atom.c
@@ -62,37 +62,37 @@ static void
     jsd_DropAtom(jsdc, atom0);
     jsd_DropAtom(jsdc, atom1);
     jsd_DropAtom(jsdc, atom2);
     jsd_DropAtom(jsdc, atom3);
     jsd_DropAtom(jsdc, atom4);
 }        
 #endif    
 
-static intN
-_atom_smasher(JSHashEntry *he, intN i, void *arg)
+static int
+_atom_smasher(JSHashEntry *he, int i, void *arg)
 {
     JS_ASSERT(he);
     JS_ASSERT(he->value);
     JS_ASSERT(((JSDAtom*)(he->value))->str);
 
     free(((JSDAtom*)(he->value))->str);
     free(he->value);
     he->value = NULL;
     he->key   = NULL;
     return HT_ENUMERATE_NEXT;
 }
 
-static intN
+static int
 _compareAtomKeys(const void *v1, const void *v2)
 {
     return 0 == strcmp((const char*)v1, (const char*)v2);
 }        
 
-static intN
+static int
 _compareAtoms(const void *v1, const void *v2)
 {
     return 0 == strcmp(((JSDAtom*)v1)->str, ((JSDAtom*)v2)->str);
 }        
 
 
 JSBool
 jsd_CreateAtomTable(JSDContext* jsdc)
--- a/js/jsd/jsd_hook.c
+++ b/js/jsd/jsd_hook.c
@@ -147,22 +147,22 @@ jsd_ThrowHandler(JSContext *cx, JSScript
 
     return jsd_CallExecutionHook(jsdc, cx, JSD_HOOK_THROW,
                                  hook, hookData, rval);
 }
 
 JSTrapStatus
 jsd_CallExecutionHook(JSDContext* jsdc,
                       JSContext *cx,
-                      uintN type,
+                      unsigned type,
                       JSD_ExecutionHookProc hook,
                       void* hookData,
                       jsval* rval)
 {
-    uintN hookanswer = JSD_HOOK_THROW == type ? 
+    unsigned hookanswer = JSD_HOOK_THROW == type ? 
                             JSD_HOOK_RETURN_CONTINUE_THROW :
                             JSD_HOOK_RETURN_CONTINUE;
     JSDThreadState* jsdthreadstate;
 
     if(hook && NULL != (jsdthreadstate = jsd_NewThreadState(jsdc,cx)))
     {
         if ((type != JSD_HOOK_THROW && type != JSD_HOOK_INTERRUPTED) ||
             jsdc->flags & JSD_MASK_TOP_FRAME_ONLY ||
@@ -199,17 +199,17 @@ jsd_CallExecutionHook(JSDContext* jsdc,
             break;
     }
     return JSTRAP_CONTINUE;
 }
 
 JSBool
 jsd_CallCallHook (JSDContext* jsdc,
                   JSContext *cx,
-                  uintN type,
+                  unsigned type,
                   JSD_CallHookProc hook,
                   void* hookData)
 {
     JSBool hookanswer;
     JSDThreadState*  jsdthreadstate;
     
     hookanswer = JS_FALSE;
     if(hook && NULL != (jsdthreadstate = jsd_NewThreadState(jsdc, cx)))
--- a/js/jsd/jsd_obj.c
+++ b/js/jsd/jsd_obj.c
@@ -228,31 +228,31 @@ jsd_GetWrappedObject(JSDContext* jsdc, J
 const char*
 jsd_GetObjectNewURL(JSDContext* jsdc, JSDObject* jsdobj)
 {
     if( jsdobj->newURL )
         return JSD_ATOM_TO_STRING(jsdobj->newURL);
     return NULL;
 }
 
-uintN
+unsigned
 jsd_GetObjectNewLineNumber(JSDContext* jsdc, JSDObject* jsdobj)
 {
     return jsdobj->newLineno;
 }
 
 const char*
 jsd_GetObjectConstructorURL(JSDContext* jsdc, JSDObject* jsdobj)
 {
     if( jsdobj->ctorURL )
         return JSD_ATOM_TO_STRING(jsdobj->ctorURL);
     return NULL;
 }
 
-uintN
+unsigned
 jsd_GetObjectConstructorLineNumber(JSDContext* jsdc, JSDObject* jsdobj)
 {
     return jsdobj->ctorLineno;
 }
 
 const char*
 jsd_GetObjectConstructorName(JSDContext* jsdc, JSDObject* jsdobj)
 {
--- a/js/jsd/jsd_scpt.c
+++ b/js/jsd/jsd_scpt.c
@@ -89,38 +89,38 @@ HasFileExtention(const char* name, const
 #endif /* LIVEWIRE */
 
 static JSDScript*
 _newJSDScript(JSDContext*  jsdc,
               JSContext    *cx,
               JSScript     *script)
 {
     JSDScript*  jsdscript;
-    uintN     lineno;
+    unsigned     lineno;
     const char* raw_filename;
 
     JS_ASSERT(JSD_SCRIPTS_LOCKED(jsdc));
 
     /* these are inlined javascript: urls and we can't handle them now */
-    lineno = (uintN) JS_GetScriptBaseLineNumber(cx, script);
+    lineno = (unsigned) JS_GetScriptBaseLineNumber(cx, script);
     if( lineno == 0 )
         return NULL;
 
     jsdscript = (JSDScript*) calloc(1, sizeof(JSDScript));
     if( ! jsdscript )
         return NULL;
 
     raw_filename = JS_GetScriptFilename(cx,script);
 
     JS_HashTableAdd(jsdc->scriptsTable, (void *)script, (void *)jsdscript);
     JS_APPEND_LINK(&jsdscript->links, &jsdc->scripts);
     jsdscript->jsdc         = jsdc;
     jsdscript->script       = script;  
     jsdscript->lineBase     = lineno;
-    jsdscript->lineExtent   = (uintN)NOT_SET_YET;
+    jsdscript->lineExtent   = (unsigned)NOT_SET_YET;
     jsdscript->data         = NULL;
 #ifndef LIVEWIRE
     jsdscript->url          = (char*) jsd_BuildNormalizedURL(raw_filename);
 #else
     jsdscript->app = LWDBG_GetCurrentApp();    
     if( jsdscript->app && raw_filename )
     {
         jsdscript->url = jsdlw_BuildAppRelativeFilename(jsdscript->app, raw_filename);
@@ -192,18 +192,18 @@ OutputDebugString (char *buf)
 }
 #endif
 
 static void
 _dumpJSDScript(JSDContext* jsdc, JSDScript* jsdscript, const char* leadingtext)
 {
     const char* name;
     JSString* fun;
-    uintN base;
-    uintN extent;
+    unsigned base;
+    unsigned extent;
     char Buf[256];
     size_t n;
 
     name   = jsd_GetScriptFilename(jsdc, jsdscript);
     fun    = jsd_GetScriptFunctionId(jsdc, jsdscript);
     base   = jsd_GetScriptBaseLineNumber(jsdc, jsdscript);
     extent = jsd_GetScriptLineExtent(jsdc, jsdscript);
     n = size_t(snprintf(Buf, sizeof(Buf), "%sscript=%08X, %s, ",
@@ -256,17 +256,17 @@ jsd_free_script_table(void *priv, void *
 
 static JSHashEntry *
 jsd_alloc_script_entry(void *priv, const void *item)
 {
     return (JSHashEntry*) malloc(sizeof(JSHashEntry));
 }
 
 static void
-jsd_free_script_entry(void *priv, JSHashEntry *he, uintN flag)
+jsd_free_script_entry(void *priv, JSHashEntry *he, unsigned flag)
 {
     if (flag == HT_FREE_ENTRY)
     {
         _destroyJSDScript((JSDContext*) priv, (JSDScript*) he->value);
         free(he);
     }
 }
 
@@ -344,26 +344,26 @@ jsd_GetScriptFlags(JSDContext *jsdc, JSD
 }
 
 void
 jsd_SetScriptFlags(JSDContext *jsdc, JSDScript *script, uint32_t flags)
 {
     script->flags = flags;
 }
 
-uintN
+unsigned
 jsd_GetScriptCallCount(JSDContext* jsdc, JSDScript *script)
 {
     if (script->profileData)
         return script->profileData->callCount;
 
     return 0;
 }
 
-uintN
+unsigned
 jsd_GetScriptMaxRecurseDepth(JSDContext* jsdc, JSDScript *script)
 {
     if (script->profileData)
         return script->profileData->maxRecurseDepth;
 
     return 0;
 }
 
@@ -504,100 +504,100 @@ jsd_GetScriptFunctionId(JSDContext* jsdc
     if( ! fun )
         return NULL;
     str = JS_GetFunctionId(fun);
 
     /* For compatibility we return "anonymous", not an empty string here. */
     return str ? str : JS_GetAnonymousString(jsdc->jsrt);
 }
 
-uintN
+unsigned
 jsd_GetScriptBaseLineNumber(JSDContext* jsdc, JSDScript *jsdscript)
 {
     return jsdscript->lineBase;
 }
 
-uintN
+unsigned
 jsd_GetScriptLineExtent(JSDContext* jsdc, JSDScript *jsdscript)
 {
     if( NOT_SET_YET == (int)jsdscript->lineExtent )
         jsdscript->lineExtent = JS_GetScriptLineExtent(jsdc->dumbContext, jsdscript->script);
     return jsdscript->lineExtent;
 }
 
 uintptr_t
-jsd_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, uintN line)
+jsd_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, unsigned line)
 {
     uintptr_t pc;
     JSCrossCompartmentCall *call;
 
     if( !jsdscript )
         return 0;
 #ifdef LIVEWIRE
     if( jsdscript->lwscript )
     {
-        uintN newline;
+        unsigned newline;
         jsdlw_RawToProcessedLineNumber(jsdc, jsdscript, line, &newline);
         if( line != newline )
             line = newline;
     }
 #endif
 
     call = JS_EnterCrossCompartmentCallScript(jsdc->dumbContext, jsdscript->script);
     if(!call)
         return 0;
     pc = (uintptr_t) JS_LineNumberToPC(jsdc->dumbContext, jsdscript->script, line );
     JS_LeaveCrossCompartmentCall(call);
     return pc;
 }
 
-uintN
+unsigned
 jsd_GetClosestLine(JSDContext* jsdc, JSDScript* jsdscript, uintptr_t pc)
 {
     JSCrossCompartmentCall *call;
-    uintN first = jsdscript->lineBase;
-    uintN last = first + jsd_GetScriptLineExtent(jsdc, jsdscript) - 1;
-    uintN line = 0;
+    unsigned first = jsdscript->lineBase;
+    unsigned last = first + jsd_GetScriptLineExtent(jsdc, jsdscript) - 1;
+    unsigned line = 0;
 
     call = JS_EnterCrossCompartmentCallScript(jsdc->dumbContext, jsdscript->script);
     if(!call)
         return 0;
     if (pc)
         line = JS_PCToLineNumber(jsdc->dumbContext, jsdscript->script, (jsbytecode*)pc);
     JS_LeaveCrossCompartmentCall(call);
 
     if( line < first )
         return first;
     if( line > last )
         return last;
 
 #ifdef LIVEWIRE
     if( jsdscript && jsdscript->lwscript )
     {
-        uintN newline;
+        unsigned newline;
         jsdlw_ProcessedToRawLineNumber(jsdc, jsdscript, line, &newline);
         line = newline;
     }
 #endif
 
     return line;    
 }
 
 JSBool
 jsd_GetLinePCs(JSDContext* jsdc, JSDScript* jsdscript,
-               uintN startLine, uintN maxLines,
-               uintN* count, uintN** retLines, uintptr_t** retPCs)
+               unsigned startLine, unsigned maxLines,
+               unsigned* count, unsigned** retLines, uintptr_t** retPCs)
 {
     JSCrossCompartmentCall *call;
-    uintN first = jsdscript->lineBase;
-    uintN last = first + jsd_GetScriptLineExtent(jsdc, jsdscript) - 1;
+    unsigned first = jsdscript->lineBase;
+    unsigned last = first + jsd_GetScriptLineExtent(jsdc, jsdscript) - 1;
     JSBool ok;
-    uintN *lines;
+    unsigned *lines;
     jsbytecode **pcs;
-    uintN i;
+    unsigned i;
 
     if (last < startLine)
         return JS_TRUE;
 
     call = JS_EnterCrossCompartmentCallScript(jsdc->dumbContext, jsdscript->script);
     if (!call)
         return JS_FALSE;
 
@@ -658,17 +658,17 @@ jsd_EnableSingleStepInterrupts(JSDContex
 
 
 /***************************************************************************/
 
 void
 jsd_NewScriptHookProc( 
                 JSContext   *cx,
                 const char  *filename,      /* URL this script loads from */
-                uintN       lineno,         /* line where this script starts */
+                unsigned       lineno,         /* line where this script starts */
                 JSScript    *script,
                 JSFunction  *fun,                
                 void*       callerdata )
 {
     JSDScript* jsdscript = NULL;
     JSDContext* jsdc = (JSDContext*) callerdata;
     JSD_ScriptHookProc      hook;
     void*                   hookData;
@@ -981,17 +981,17 @@ jsd_ClearAllExecutionHooks(JSDContext* j
     JSD_UNLOCK();
     return JS_TRUE;
 }
 
 void
 jsd_ScriptCreated(JSDContext* jsdc,
                   JSContext   *cx,
                   const char  *filename,    /* URL this script loads from */
-                  uintN       lineno,       /* line where this script starts */
+                  unsigned       lineno,       /* line where this script starts */
                   JSScript    *script,
                   JSFunction  *fun)
 {
     jsd_NewScriptHookProc(cx, filename, lineno, script, fun, jsdc);
 }
 
 void
 jsd_ScriptDestroyed(JSDContext* jsdc,
--- a/js/jsd/jsd_stak.c
+++ b/js/jsd/jsd_stak.c
@@ -188,20 +188,20 @@ jsd_DestroyThreadState(JSDContext* jsdc,
     while( (JSDStackFrameInfo*)list != (jsdframe = (JSDStackFrameInfo*)list->next) )
     {
         JS_REMOVE_LINK(&jsdframe->links);
         _destroyFrame(jsdframe);
     }
     free(jsdthreadstate);
 }
 
-uintN
+unsigned
 jsd_GetCountOfStackFrames(JSDContext* jsdc, JSDThreadState* jsdthreadstate)
 {
-    uintN count = 0;
+    unsigned count = 0;
 
     JSD_LOCK_THREADSTATES(jsdc);
 
     if( jsd_IsValidThreadState(jsdc, jsdthreadstate) )
         count = jsdthreadstate->stackDepth;
 
     JSD_UNLOCK_THREADSTATES(jsdc);
 
@@ -420,18 +420,18 @@ jsd_IsStackFrameConstructing(JSDContext*
     JSD_UNLOCK_THREADSTATES(jsdc);
     return rv;
 }
 
 JSBool
 jsd_EvaluateUCScriptInStackFrame(JSDContext* jsdc, 
                                  JSDThreadState* jsdthreadstate,
                                  JSDStackFrameInfo* jsdframe,
-                                 const jschar *bytes, uintN length,
-                                 const char *filename, uintN lineno,
+                                 const jschar *bytes, unsigned length,
+                                 const char *filename, unsigned lineno,
                                  JSBool eatExceptions, jsval *rval)
 {
     JSBool retval;
     JSBool valid;
     JSExceptionState* exceptionState = NULL;
     JSContext* cx;
 
     JS_ASSERT(JSD_CURRENT_THREAD() == jsdthreadstate->thread);
@@ -458,18 +458,18 @@ jsd_EvaluateUCScriptInStackFrame(JSDCont
 
     return retval;
 }
 
 JSBool
 jsd_EvaluateScriptInStackFrame(JSDContext* jsdc, 
                                JSDThreadState* jsdthreadstate,
                                JSDStackFrameInfo* jsdframe,
-                               const char *bytes, uintN length,
-                               const char *filename, uintN lineno,
+                               const char *bytes, unsigned length,
+                               const char *filename, unsigned lineno,
                                JSBool eatExceptions, jsval *rval)
 {
     JSBool retval;
     JSBool valid;
     JSExceptionState* exceptionState = NULL;
     JSContext *cx;
 
     JS_ASSERT(JSD_CURRENT_THREAD() == jsdthreadstate->thread);
--- a/js/jsd/jsd_step.c
+++ b/js/jsd/jsd_step.c
@@ -104,17 +104,17 @@ static void
     }
     printf("\n");
     JS_ASSERT(indent >= 0);
 }
 #endif
 
 JSBool
 _callHook(JSDContext *jsdc, JSContext *cx, JSStackFrame *fp, JSBool before,
-          uintN type, JSD_CallHookProc hook, void *hookData)
+          unsigned type, JSD_CallHookProc hook, void *hookData)
 {
     JSDScript*        jsdscript;
     JSScript*         jsscript;
     JSBool            hookresult = JS_TRUE;
     
     if (!jsdc || !jsdc->inited)
         return JS_FALSE;
 
--- a/js/jsd/jsd_text.c
+++ b/js/jsd/jsd_text.c
@@ -68,22 +68,22 @@ static void
 }    
 
 static JSBool
 _appendText(JSDContext* jsdc, JSDSourceText* jsdsrc, 
             const char* text, size_t length)
 {
 #define MEMBUF_GROW 1000
 
-    uintN neededSize = jsdsrc->textLength + length;
+    unsigned neededSize = jsdsrc->textLength + length;
 
     if( neededSize > jsdsrc->textSpace )
     {
         char* newBuf;
-        uintN iNewSize;
+        unsigned iNewSize;
 
         /* if this is the first alloc, the req might be all that's needed*/
         if( ! jsdsrc->textSpace )
             iNewSize = length;
         else
             iNewSize = (neededSize * 5 / 4) + MEMBUF_GROW;
 
         newBuf = (char*) realloc(jsdsrc->text, iNewSize);
@@ -290,17 +290,17 @@ jsd_FindSourceForURL(JSDContext* jsdc, c
 const char*
 jsd_GetSourceURL(JSDContext* jsdc, JSDSourceText* jsdsrc)
 {
     return jsdsrc->url;
 }
 
 JSBool
 jsd_GetSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc,
-                  const char** ppBuf, intN* pLen )
+                  const char** ppBuf, int* pLen )
 {
     *ppBuf = jsdsrc->text;
     *pLen  = jsdsrc->textLength;
     return JS_TRUE;
 }
 
 void
 jsd_ClearSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc)
@@ -325,23 +325,23 @@ jsd_IsSourceDirty(JSDContext* jsdc, JSDS
 }
 
 void
 jsd_SetSourceDirty(JSDContext* jsdc, JSDSourceText* jsdsrc, JSBool dirty)
 {
     jsdsrc->dirty = dirty;
 }
 
-uintN
+unsigned
 jsd_GetSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc)
 {
     return jsdsrc->alterCount;
 }
 
-uintN
+unsigned
 jsd_IncrementSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc)
 {
     return jsdsrc->alterCount = jsdc->sourceAlterCount++;
 }
 
 /***************************************************************************/
 
 #if defined(DEBUG) && 0
--- a/js/jsd/jsd_val.c
+++ b/js/jsd/jsd_val.c
@@ -392,17 +392,17 @@ jsd_GetValueWrappedJSVal(JSDContext* jsd
         else
             val = OBJECT_TO_JSVAL(obj);
     }
     
     return val;
 }
 
 static JSDProperty* _newProperty(JSDContext* jsdc, JSPropertyDesc* pd,
-                                 uintN additionalFlags)
+                                 unsigned additionalFlags)
 {
     JSDProperty* jsdprop;
 
     if(!(jsdprop = (JSDProperty*) calloc(1, sizeof(JSDProperty))))
         return NULL;
 
     JS_INIT_CLIST(&jsdprop->links);
     jsdprop->nref = 1;
@@ -439,17 +439,17 @@ static void _freeProps(JSDContext* jsdc,
     CLEAR_BIT_FLAG(jsdval->flags, GOT_PROPS);
 }
 
 static JSBool _buildProps(JSDContext* jsdc, JSDValue* jsdval)
 {
     JSContext* cx = jsdc->dumbContext;
     JSObject *obj;
     JSPropertyDescArray pda;
-    uintN i;
+    unsigned i;
     JSCrossCompartmentCall *call = NULL;
 
     JS_ASSERT(JS_CLIST_IS_EMPTY(&jsdval->props));
     JS_ASSERT(!(CHECK_BIT_FLAG(jsdval->flags, GOT_PROPS)));
     JS_ASSERT(JSVAL_IS_OBJECT(jsdval->val));
 
     if(JSVAL_IS_PRIMITIVE(jsdval->val))
         return JS_FALSE;
@@ -523,21 +523,21 @@ jsd_RefreshValue(JSDContext* jsdc, JSDVa
     DROP_CLEAR_VALUE(jsdc, jsdval->parent);
     DROP_CLEAR_VALUE(jsdc, jsdval->ctor);
     _freeProps(jsdc, jsdval);
     jsdval->flags = 0;
 }
 
 /***************************************************************************/
 
-uintN
+unsigned
 jsd_GetCountOfProperties(JSDContext* jsdc, JSDValue* jsdval)
 {
     JSDProperty* jsdprop;
-    uintN count = 0;
+    unsigned count = 0;
 
     if(!(CHECK_BIT_FLAG(jsdval->flags, GOT_PROPS)))
         if(!_buildProps(jsdc, jsdval))
             return 0;
 
     for(jsdprop = (JSDProperty*)jsdval->props.next;
         jsdprop != (JSDProperty*)&jsdval->props;
         jsdprop = (JSDProperty*)jsdprop->links.next)
@@ -571,34 +571,34 @@ jsd_IterateProperties(JSDContext* jsdc, 
 
 JSDProperty*
 jsd_GetValueProperty(JSDContext* jsdc, JSDValue* jsdval, JSString* name)
 {
     JSContext* cx = jsdc->dumbContext;
     JSDProperty* jsdprop;
     JSDProperty* iter = NULL;
     JSObject* obj;
-    uintN  attrs = 0;
+    unsigned  attrs = 0;
     JSBool found;
     JSPropertyDesc pd;
     const jschar * nameChars;
     size_t nameLen;
     jsval val, nameval;
     jsid nameid;
     JSCrossCompartmentCall *call = NULL;
 
     if(!jsd_IsValueObject(jsdc, jsdval))
         return NULL;
 
     /* If we already have the prop, then return it */
     while(NULL != (jsdprop = jsd_IterateProperties(jsdc, jsdval, &iter)))
     {
         JSString* propName = jsd_GetValueString(jsdc, jsdprop->name);
         if(propName) {
-            intN result;
+            int result;
             if (JS_CompareStrings(cx, propName, name, &result) && !result)
                 return jsdprop;
         }
         JSD_DropProperty(jsdc, jsdprop);
     }
     /* Not found in property list, look it up explicitly */
 
     if(!(obj = JSVAL_TO_OBJECT(jsdval->val)))
@@ -873,23 +873,23 @@ jsd_GetPropertyValue(JSDContext* jsdc, J
 JSDValue*
 jsd_GetPropertyAlias(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     if(jsdprop->alias)
         jsdprop->alias->nref++;
     return jsdprop->alias;
 }
 
-uintN
+unsigned
 jsd_GetPropertyFlags(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     return jsdprop->flags;
 }
 
-uintN
+unsigned
 jsd_GetPropertyVarArgSlot(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     return jsdprop->slot;
 }
 
 void
 jsd_DropProperty(JSDContext* jsdc, JSDProperty* jsdprop)
 {
--- a/js/jsd/jsd_xpc.cpp
+++ b/js/jsd/jsd_xpc.cpp
@@ -522,17 +522,17 @@ jsds_GCSliceCallbackProc (JSRuntime *rt,
         NS_ASSERTION(!gGCRunning, "should not re-enter GC");
         gGCRunning = true;
     }
 
     if (gPrevGCSliceCallback)
         (*gPrevGCSliceCallback)(rt, progress, desc);
 }
 
-static uintN
+static unsigned
 jsds_ErrorHookProc (JSDContext *jsdc, JSContext *cx, const char *message,
                     JSErrorReport *report, void *callerdata)
 {
     static bool running = false;
 
     nsCOMPtr<jsdIErrorHook> hook;
     gJsds->GetErrorHook(getter_AddRefs(hook));
     if (!hook)
@@ -580,17 +580,17 @@ jsds_ErrorHookProc (JSDContext *jsdc, JS
     if (!rval)
         return JSD_ERROR_REPORTER_DEBUG;
     
     return JSD_ERROR_REPORTER_PASS_ALONG;
 }
 
 static JSBool
 jsds_CallHookProc (JSDContext* jsdc, JSDThreadState* jsdthreadstate,
-                   uintN type, void* callerdata)
+                   unsigned type, void* callerdata)
 {
     nsCOMPtr<jsdICallHook> hook;
 
     switch (type)
     {
         case JSD_HOOK_TOPLEVEL_START:
         case JSD_HOOK_TOPLEVEL_END:
             gJsds->GetTopLevelHook(getter_AddRefs(hook));
@@ -620,17 +620,17 @@ jsds_CallHookProc (JSDContext* jsdc, JSD
     gJsds->DoUnPause(nsnull, true);
     jsdStackFrame::InvalidateAll();
 
     return JS_TRUE;
 }
 
 static PRUint32
 jsds_ExecutionHookProc (JSDContext* jsdc, JSDThreadState* jsdthreadstate,
-                        uintN type, void* callerdata, jsval* rval)
+                        unsigned type, void* callerdata, jsval* rval)
 {
     nsCOMPtr<jsdIExecutionHook> hook(0);
     PRUint32 hook_rv = JSD_HOOK_RETURN_CONTINUE;
     nsCOMPtr<jsdIValue> js_rv;
 
     switch (type)
     {
         case JSD_HOOK_INTERRUPTED:
@@ -1031,17 +1031,17 @@ jsdScript::CreatePPLineMap()
     JSFunction *fun = JSD_GetJSFunction (mCx, mScript);
     JSScript   *script; /* In JSD compartment */
     PRUint32    baseLine;
     JSString   *jsstr;
     size_t      length;
     const jschar *chars;
     
     if (fun) {
-        uintN nargs;
+        unsigned nargs;
 
         {
             JSAutoEnterCompartment ac;
             if (!ac.enter(cx, JS_GetFunctionObject(fun)))
                 return nsnull;
 
             nargs = JS_GetFunctionArgumentCount(cx, fun);
             if (nargs > 12)
@@ -1276,17 +1276,17 @@ jsdScript::GetParameterNames(PRUint32* c
         return NS_OK;
     }
 
     JSAutoRequest ar(cx);
     JSAutoEnterCompartment ac;
     if (!ac.enter(cx, JS_GetFunctionObject(fun)))
         return NS_ERROR_FAILURE;
 
-    uintN nargs;
+    unsigned nargs;
     if (!JS_FunctionHasLocalNames(cx, fun) ||
         (nargs = JS_GetFunctionArgumentCount(cx, fun)) == 0) {
         *count = 0;
         *paramNames = nsnull;
         return NS_OK;
     }
 
     PRUnichar **ret =
@@ -1297,17 +1297,17 @@ jsdScript::GetParameterNames(PRUint32* c
     void *mark;
     uintptr_t *names = JS_GetFunctionLocalNameArray(cx, fun, &mark);
     if (!names) {
         NS_Free(ret);
         return NS_ERROR_OUT_OF_MEMORY;
     }
 
     nsresult rv = NS_OK;
-    for (uintN i = 0; i < nargs; ++i) {
+    for (unsigned i = 0; i < nargs; ++i) {
         JSAtom *atom = JS_LocalNameToAtom(names[i]);
         if (!atom) {
             ret[i] = 0;
         } else {
             JSString *str = JS_AtomKey(atom);
             ret[i] = NS_strndup(JS_GetInternedStringChars(str), JS_GetStringLength(str));
             if (!ret[i]) {
                 NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(i, ret);
@@ -1521,17 +1521,17 @@ jsdScript::EnableSingleStepInterrupts(bo
 
 NS_IMETHODIMP
 jsdScript::GetExecutableLines(PRUint32 aPcmap, PRUint32 aStartLine, PRUint32 aMaxLines,
                               PRUint32* aCount, PRUint32** aExecutableLines)
 {
     ASSERT_VALID_EPHEMERAL;
     if (aPcmap == PCMAP_SOURCETEXT) {
         uintptr_t start = JSD_GetClosestPC(mCx, mScript, 0);
-        uintN lastLine = JSD_GetScriptBaseLineNumber(mCx, mScript)
+        unsigned lastLine = JSD_GetScriptBaseLineNumber(mCx, mScript)
                        + JSD_GetScriptLineExtent(mCx, mScript) - 1;
         uintptr_t end = JSD_GetClosestPC(mCx, mScript, lastLine + 1);
 
         *aExecutableLines = static_cast<PRUint32*>(NS_Alloc((end - start + 1) * sizeof(PRUint32)));
         if (!JSD_GetLinePCs(mCx, mScript, aStartLine, aMaxLines, aCount, aExecutableLines, NULL))
             return NS_ERROR_OUT_OF_MEMORY;
         
         return NS_OK;
--- a/js/jsd/jsdebug.c
+++ b/js/jsd/jsdebug.c
@@ -74,23 +74,23 @@ JSD_DebuggerPause(JSDContext* jsdc)
 
 JSD_PUBLIC_API(void)
 JSD_DebuggerUnpause(JSDContext* jsdc)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     jsd_DebuggerUnpause(jsdc);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetMajorVersion(void)
 {
     return JSD_MAJOR_VERSION;
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetMinorVersion(void)
 {
     return JSD_MINOR_VERSION;
 }
 
 JSD_PUBLIC_API(JSContext*)
 JSD_GetDefaultJSContext(JSDContext* jsdc)
 {
@@ -191,24 +191,24 @@ JSD_GetScriptFlags(JSDContext *jsdc, JSD
     
 JSD_PUBLIC_API(void)
 JSD_SetScriptFlags(JSDContext *jsdc, JSDScript *script, uint32_t flags)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     jsd_SetScriptFlags(jsdc, script, flags);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetScriptCallCount(JSDContext* jsdc, JSDScript *script)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_GetScriptCallCount(jsdc, script);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetScriptMaxRecurseDepth(JSDContext* jsdc, JSDScript *script)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_GetScriptMaxRecurseDepth(jsdc, script);
 }
     
 
 JSD_PUBLIC_API(double)
@@ -305,25 +305,25 @@ JSD_GetScriptFilename(JSDContext* jsdc, 
 JSD_PUBLIC_API(JSString *)
 JSD_GetScriptFunctionId(JSDContext* jsdc, JSDScript *jsdscript)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetScriptFunctionId(jsdc, jsdscript);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetScriptBaseLineNumber(JSDContext* jsdc, JSDScript *jsdscript)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetScriptBaseLineNumber(jsdc, jsdscript);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetScriptLineExtent(JSDContext* jsdc, JSDScript *jsdscript)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetScriptLineExtent(jsdc, jsdscript);
 }
 
 JSD_PUBLIC_API(JSBool)
@@ -336,46 +336,46 @@ JSD_SetScriptHook(JSDContext* jsdc, JSD_
 JSD_PUBLIC_API(JSBool)
 JSD_GetScriptHook(JSDContext* jsdc, JSD_ScriptHookProc* hook, void** callerdata)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_GetScriptHook(jsdc, hook, callerdata);
 }
 
 JSD_PUBLIC_API(uintptr_t)
-JSD_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, uintN line)
+JSD_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, unsigned line)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetClosestPC(jsdc, jsdscript, line);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetClosestLine(JSDContext* jsdc, JSDScript* jsdscript, uintptr_t pc)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetClosestLine(jsdc, jsdscript, pc);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_GetLinePCs(JSDContext* jsdc, JSDScript* jsdscript,
-               uintN startLine, uintN maxLines,
-               uintN* count, uintN** lines, uintptr_t** pcs)
+               unsigned startLine, unsigned maxLines,
+               unsigned* count, unsigned** lines, uintptr_t** pcs)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsd_GetLinePCs(jsdc, jsdscript, startLine, maxLines, count, lines, pcs);
 }
 
 JSD_PUBLIC_API(void)
 JSD_ScriptCreated(JSDContext* jsdc,
                   JSContext   *cx,
                   const char  *filename,    /* URL this script loads from */
-                  uintN       lineno,       /* line where this script starts */
+                  unsigned       lineno,       /* line where this script starts */
                   JSScript    *script,
                   JSFunction  *fun)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     jsd_ScriptCreated(jsdc, cx, filename, lineno, script, fun);
 }
 
 JSD_PUBLIC_API(void)
@@ -424,17 +424,17 @@ JSD_GetSourceURL(JSDContext* jsdc, JSDSo
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     return jsd_GetSourceURL(jsdc,jsdsrc);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_GetSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc,
-                  const char** ppBuf, intN* pLen)
+                  const char** ppBuf, int* pLen)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     JS_ASSERT(ppBuf);
     JS_ASSERT(pLen);
     return jsd_GetSourceText(jsdc, jsdsrc, ppBuf, pLen);
 }
 
@@ -466,25 +466,25 @@ JSD_IsSourceDirty(JSDContext* jsdc, JSDS
 JSD_PUBLIC_API(void)
 JSD_SetSourceDirty(JSDContext* jsdc, JSDSourceText* jsdsrc, JSBool dirty)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     jsd_SetSourceDirty(jsdc, jsdsrc, dirty);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     return jsd_GetSourceAlterCount(jsdc, jsdsrc);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_IncrementSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     return jsd_IncrementSourceAlterCount(jsdc, jsdsrc);
 }
 
 JSD_PUBLIC_API(void)
@@ -679,17 +679,17 @@ JSD_ClearFunctionHook(JSDContext* jsdc)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_ClearFunctionHook(jsdc);
 }
 
 /***************************************************************************/
 /* Stack Frame functions */
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetCountOfStackFrames(JSDContext* jsdc, JSDThreadState* jsdthreadstate)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_GetCountOfStackFrames(jsdc, jsdthreadstate);
 }
 
 JSD_PUBLIC_API(JSDStackFrameInfo*)
 JSD_GetStackFrame(JSDContext* jsdc, JSDThreadState* jsdthreadstate)
@@ -785,36 +785,36 @@ JSD_IsStackFrameConstructing(JSDContext*
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     return jsd_IsStackFrameConstructing(jsdc, jsdthreadstate, jsdframe);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_EvaluateUCScriptInStackFrame(JSDContext* jsdc,
                                  JSDThreadState* jsdthreadstate,
                                  JSDStackFrameInfo* jsdframe,
-                                 const jschar *bytes, uintN length,
-                                 const char *filename, uintN lineno, jsval *rval)
+                                 const jschar *bytes, unsigned length,
+                                 const char *filename, unsigned lineno, jsval *rval)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JS_ASSERT(bytes);
     JS_ASSERT(length);
     JS_ASSERT(filename);
     JS_ASSERT(rval);
 
     return jsd_EvaluateUCScriptInStackFrame(jsdc, jsdthreadstate,jsdframe,
                                             bytes, length, filename, lineno,
                                              JS_TRUE, rval);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_AttemptUCScriptInStackFrame(JSDContext* jsdc,
                                 JSDThreadState* jsdthreadstate,
                                 JSDStackFrameInfo* jsdframe,
-                                const jschar *bytes, uintN length,
-                                const char *filename, uintN lineno,
+                                const jschar *bytes, unsigned length,
+                                const char *filename, unsigned lineno,
                                 jsval *rval)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JS_ASSERT(bytes);
     JS_ASSERT(length);
     JS_ASSERT(filename);
     JS_ASSERT(rval);
 
@@ -822,36 +822,36 @@ JSD_AttemptUCScriptInStackFrame(JSDConte
                                             bytes, length, filename, lineno,
                                             JS_FALSE, rval);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_EvaluateScriptInStackFrame(JSDContext* jsdc,
                                JSDThreadState* jsdthreadstate,
                                JSDStackFrameInfo* jsdframe,
-                               const char *bytes, uintN length,
-                               const char *filename, uintN lineno, jsval *rval)
+                               const char *bytes, unsigned length,
+                               const char *filename, unsigned lineno, jsval *rval)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JS_ASSERT(bytes);
     JS_ASSERT(length);
     JS_ASSERT(filename);
     JS_ASSERT(rval);
 
     return jsd_EvaluateScriptInStackFrame(jsdc, jsdthreadstate,jsdframe,
                                           bytes, length,
                                           filename, lineno, JS_TRUE, rval);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSD_AttemptScriptInStackFrame(JSDContext* jsdc,
                               JSDThreadState* jsdthreadstate,
                               JSDStackFrameInfo* jsdframe,
-                              const char *bytes, uintN length,
-                              const char *filename, uintN lineno, jsval *rval)
+                              const char *bytes, unsigned length,
+                              const char *filename, unsigned lineno, jsval *rval)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JS_ASSERT(bytes);
     JS_ASSERT(length);
     JS_ASSERT(filename);
     JS_ASSERT(rval);
 
     return jsd_EvaluateScriptInStackFrame(jsdc, jsdthreadstate,jsdframe,
@@ -1139,17 +1139,17 @@ JSD_GetValueFunction(JSDContext* jsdc, J
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_VALUE(jsdval);
     return jsd_GetValueFunction(jsdc, jsdval);
 }
 
 /**************************************************/
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetCountOfProperties(JSDContext* jsdc, JSDValue* jsdval)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_VALUE(jsdval);
     return jsd_GetCountOfProperties(jsdc, jsdval);
 }
 
 JSD_PUBLIC_API(JSDProperty*)
@@ -1238,25 +1238,25 @@ JSD_GetPropertyValue(JSDContext* jsdc, J
 JSD_PUBLIC_API(JSDValue*)
 JSD_GetPropertyAlias(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_PROPERTY(jsdprop);
     return jsd_GetPropertyAlias(jsdc, jsdprop);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetPropertyFlags(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_PROPERTY(jsdprop);
     return jsd_GetPropertyFlags(jsdc, jsdprop);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetPropertyVarArgSlot(JSDContext* jsdc, JSDProperty* jsdprop)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_PROPERTY(jsdprop);
     return jsd_GetPropertyVarArgSlot(jsdc, jsdprop);
 }
 
 /**************************************************/
@@ -1295,33 +1295,33 @@ JSD_GetWrappedObject(JSDContext* jsdc, J
 JSD_PUBLIC_API(const char*)
 JSD_GetObjectNewURL(JSDContext* jsdc, JSDObject* jsdobj)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_OBJECT(jsdobj);
     return jsd_GetObjectNewURL(jsdc, jsdobj);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetObjectNewLineNumber(JSDContext* jsdc, JSDObject* jsdobj)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_OBJECT(jsdobj);
     return jsd_GetObjectNewLineNumber(jsdc, jsdobj);
 }
 
 JSD_PUBLIC_API(const char*)
 JSD_GetObjectConstructorURL(JSDContext* jsdc, JSDObject* jsdobj)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_OBJECT(jsdobj);
     return jsd_GetObjectConstructorURL(jsdc, jsdobj);
 }
 
-JSD_PUBLIC_API(uintN)
+JSD_PUBLIC_API(unsigned)
 JSD_GetObjectConstructorLineNumber(JSDContext* jsdc, JSDObject* jsdobj)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_OBJECT(jsdobj);
     return jsd_GetObjectConstructorLineNumber(jsdc, jsdobj);
 }
 
 JSD_PUBLIC_API(const char*)
@@ -1383,26 +1383,26 @@ JSDLW_ForceLoadSource( JSDContext* jsdc,
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SOURCE_TEXT(jsdsrc);
     return jsdlw_ForceLoadSource(jsdc, jsdsrc);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSDLW_RawToProcessedLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut)
+                               unsigned lineIn, unsigned* lineOut)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsdlw_RawToProcessedLineNumber(jsdc, jsdscript, lineIn, lineOut);
 }
 
 JSD_PUBLIC_API(JSBool)
 JSDLW_ProcessedToRawLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut)
+                               unsigned lineIn, unsigned* lineOut)
 {
     JSD_ASSERT_VALID_CONTEXT(jsdc);
     JSD_ASSERT_VALID_SCRIPT(jsdscript);
     return jsdlw_ProcessedToRawLineNumber(jsdc, jsdscript, lineIn, lineOut);
 }
 
 #endif
 /***************************************************************************/
--- a/js/jsd/jsdebug.h
+++ b/js/jsd/jsdebug.h
@@ -106,17 +106,17 @@ typedef struct JSDObject         JSDObje
 * up the JSD system.
 */
 typedef void
 (* JSD_SetContextProc)(JSDContext* jsdc, void* user);
 
 /* This struct could have more fields in future versions */
 typedef struct
 {
-    uintN              size;       /* size of this struct (init before use)*/
+    unsigned              size;       /* size of this struct (init before use)*/
     JSD_SetContextProc setContext;
 } JSD_UserCallbacks;
 
 /*
 * Used by an embedding to tell JSD what JSRuntime to use and to set
 * callbacks without starting up JSD. This assumes only one JSRuntime
 * will be used. This exists to support the mozilla Java-based debugger
 * system.
@@ -168,23 +168,23 @@ JSD_DebuggerPause(JSDContext* jsdc);
  * Unpause JSD for this JSDContext
  */
 extern JSD_PUBLIC_API(void)
 JSD_DebuggerUnpause(JSDContext* jsdc);
 
 /*
 * Get the Major Version (initial JSD release used major version = 1)
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetMajorVersion(void);
 
 /*
 * Get the Minor Version (initial JSD release used minor version = 0)
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetMinorVersion(void);
 
 /*
 * Returns a 'dumb' JSContext that can be used for utility purposes as needed
 */
 extern JSD_PUBLIC_API(JSContext*)
 JSD_GetDefaultJSContext(JSDContext* jsdc);
 
@@ -316,23 +316,23 @@ JSD_UnlockScriptSubsystem(JSDContext* js
 *  JSD_UnlockScriptSubsystem(jsdc);
 */
 extern JSD_PUBLIC_API(JSDScript*)
 JSD_IterateScripts(JSDContext* jsdc, JSDScript **iterp);
 
 /*
 * Get the number of times this script has been called.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetScriptCallCount(JSDContext* jsdc, JSDScript *script);
 
 /*
 * Get the max number of times this script called itself, directly or indirectly.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetScriptMaxRecurseDepth(JSDContext* jsdc, JSDScript *script);
 
 /*
 * Get the shortest execution time recorded.
 */
 extern JSD_PUBLIC_API(double)
 JSD_GetScriptMinExecutionTime(JSDContext* jsdc, JSDScript *script);
 
@@ -436,23 +436,23 @@ JSD_GetScriptFilename(JSDContext* jsdc, 
 extern JSD_PUBLIC_API(JSString *)
 JSD_GetScriptFunctionId(JSDContext* jsdc, JSDScript *jsdscript);
 
 /*
 * Get the base linenumber of the sourcefile from which this script was loaded.
 * This is one-based -- i.e. the first line of a file is line '1'. This may
 * return 0 if this infomation is unknown.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetScriptBaseLineNumber(JSDContext* jsdc, JSDScript *jsdscript);
 
 /*
 * Get the count of source lines associated with this script (1 or greater)
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetScriptLineExtent(JSDContext* jsdc, JSDScript *jsdscript);
 
 /*
 * Declaration of callback for notification of script creation and destruction.
 * 'creating' is JS_TRUE if creating new script, JS_FALSE if destroying existing
 * script (callback called just before actual destruction).
 * 'callerdata' is what was passed to JSD_SetScriptHook to set the hook.
 */
@@ -481,51 +481,51 @@ JSD_GetScriptHook(JSDContext* jsdc, JSD_
 * of the first bit of executable code for this line of source. This 'pc' should 
 * be considered an opaque handle.
 * 0 is returned for invalid scripts, or lines that lie outside the script.
 * If no code is on the given line, then the returned pc represents the first
 * code within the script (if any) after the given line.
 * This function can be used to set breakpoints -- see JSD_SetExecutionHook
 */
 extern JSD_PUBLIC_API(uintptr_t)
-JSD_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, uintN line);
+JSD_GetClosestPC(JSDContext* jsdc, JSDScript* jsdscript, unsigned line);
 
 /*
 * Get the source line number for a given 'Program Counter' location.
 * Returns 0 if no source line information is appropriate (or available) for
 * the given pc.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetClosestLine(JSDContext* jsdc, JSDScript* jsdscript, uintptr_t pc);
 
 /*
  * Get a list of lines and the corresponding earliest PC for each (see
  * JSD_GetClosestPC). Lines with no PCs associated will not be returned. NULL
  * may be passed for either lines or pcs to avoid filling anything in for that
  * argument.
  */
 extern JSD_PUBLIC_API(JSBool)
 JSD_GetLinePCs(JSDContext* jsdc, JSDScript* jsdscript,
-               uintN startLine, uintN maxLines,
-               uintN* count, uintN** lines, uintptr_t** pcs);
+               unsigned startLine, unsigned maxLines,
+               unsigned* count, unsigned** lines, uintptr_t** pcs);
 
 /* these are only used in cases where scripts are created outside of JS*/
 
 /*
 * Direct call to notify JSD that a script has been created.
 * Embeddings that use the normal jsapi script functions need not call this.
 * Any embedding that follows the (discouraged!) practice of contructing script
 * structures manually should call this function to inform JSD. (older ssjs
 * systems do this).
 */
 extern JSD_PUBLIC_API(void)
 JSD_ScriptCreated(JSDContext* jsdc,
                   JSContext   *cx,
                   const char  *filename,    /* URL this script loads from */
-                  uintN       lineno,       /* line where this script starts */
+                  unsigned       lineno,       /* line where this script starts */
                   JSScript    *script,
                   JSFunction  *fun);
 
 /*
 * see JSD_ScriptCreated
 */
 extern JSD_PUBLIC_API(void)
 JSD_ScriptDestroyed(JSDContext* jsdc,
@@ -606,17 +606,17 @@ JSD_GetSourceURL(JSDContext* jsdc, JSDSo
 * Get the actual source text. This gives access to the actual storage of
 * the source - it sHould *not* be written to.
 * The buffer is NOT zero terminated (nor is it guaranteed to have space to
 * hold a zero terminating char).
 * XXX this is 8-bit character data. Unicode source is not yet supported.
 */
 extern JSD_PUBLIC_API(JSBool)
 JSD_GetSourceText(JSDContext* jsdc, JSDSourceText* jsdsrc,
-                  const char** ppBuf, intN* pLen);
+                  const char** ppBuf, int* pLen);
 
 /*
 * Clear the text -- delete the text and set the status to JSD_SOURCE_CLEARED.
 * This is useful if source is done loading and the debugger wishes to store
 * the text data itself (e.g. in a Java String). This allows avoidance of
 * storing the same text in multiple places.
 */
 extern JSD_PUBLIC_API(void)
@@ -645,25 +645,25 @@ JSD_SetSourceDirty(JSDContext* jsdc, JSD
 
 /*
 * Each time a source text item is altered this value is incremented. Any
 * consumer can store this value when they retieve other data about the
 * source text item and then check later to see if the current value is
 * different from their stored value. Thus they can know if they have stale
 * data or not. NOTE: this value is not gauranteed to start at any given number.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 /*
 * Force an increment in the alter count for a source text item. This is
 * normally automatic when the item changes, but a give consumer may want to
 * force this to amke an item appear to have changed even if it has not.
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_IncrementSourceAlterCount(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 /*
 * Destroy *all* the source text items
 * (new for server-side USE WITH CARE)
 */
 extern JSD_PUBLIC_API(void)
 JSD_DestroyAllSources( JSDContext* jsdc );
@@ -743,20 +743,20 @@ JSD_AddFullSourceText(JSDContext* jsdc,
 #define JSD_HOOK_RETURN_ABORT           2
 #define JSD_HOOK_RETURN_RET_WITH_VAL    3
 #define JSD_HOOK_RETURN_THROW_WITH_VAL  4
 #define JSD_HOOK_RETURN_CONTINUE_THROW  5
 
 /*
 * Implement a callback of this form in order to hook execution.
 */
-typedef uintN
+typedef unsigned
 (* JSD_ExecutionHookProc)(JSDContext*     jsdc,
                           JSDThreadState* jsdthreadstate,
-                          uintN           type,
+                          unsigned           type,
                           void*           callerdata,
                           jsval*          rval);
 
 /* possible 'type' params for JSD_CallHookProc */
 #define JSD_HOOK_TOPLEVEL_START  0   /* about to evaluate top level script */
 #define JSD_HOOK_TOPLEVEL_END    1   /* done evaluting top level script    */
 #define JSD_HOOK_FUNCTION_CALL   2   /* about to call a function           */
 #define JSD_HOOK_FUNCTION_RETURN 3   /* done calling function              */
@@ -765,17 +765,17 @@ typedef uintN
 * Implement a callback of this form in order to hook function call/returns.
 * Return JS_TRUE from a TOPLEVEL_START or FUNCTION_CALL type call hook if you
 * want to hear about the TOPLEVEL_END or FUNCTION_RETURN too.  Return value is
 * ignored to TOPLEVEL_END and FUNCTION_RETURN type hooks.
 */
 typedef JSBool
 (* JSD_CallHookProc)(JSDContext*     jsdc,
                      JSDThreadState* jsdthreadstate,
-                     uintN           type,
+                     unsigned           type,
                      void*           callerdata);
 
 /*
 * Set Hook to be called whenever the given pc is about to be executed --
 * i.e. for 'trap' or 'breakpoint'
 */
 extern JSD_PUBLIC_API(JSBool)
 JSD_SetExecutionHook(JSDContext*           jsdc,
@@ -900,17 +900,17 @@ extern JSD_PUBLIC_API(JSBool)
 JSD_ClearFunctionHook(JSDContext* jsdc);
 
 /***************************************************************************/
 /* Stack Frame functions */
 
 /*
 * Get the count of call stack frames for the given JSDThreadState
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetCountOfStackFrames(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
 /*
 * Get the 'current' call stack frame for the given JSDThreadState
 */
 extern JSD_PUBLIC_API(JSDStackFrameInfo*)
 JSD_GetStackFrame(JSDContext* jsdc, JSDThreadState* jsdthreadstate);
 
@@ -1003,48 +1003,48 @@ JSD_IsStackFrameConstructing(JSDContext*
 * Evaluate the given unicode source code in the context of the given stack frame.
 * returns JS_TRUE and puts result in rval on success, JS_FALSE on failure.
 * NOTE: The ErrorReporter hook might be called if this fails.
 */
 extern JSD_PUBLIC_API(JSBool)
 JSD_EvaluateUCScriptInStackFrame(JSDContext* jsdc,
                                  JSDThreadState* jsdthreadstate,
                                  JSDStackFrameInfo* jsdframe,
-                                 const jschar *bytes, uintN length,
-                                 const char *filename, uintN lineno,
+                                 const jschar *bytes, unsigned length,
+                                 const char *filename, unsigned lineno,
                                  jsval *rval);
 
 /*
 * Same as above, but does not eat exceptions.
 */
 extern JSD_PUBLIC_API(JSBool)
 JSD_AttemptUCScriptInStackFrame(JSDContext* jsdc,
                                 JSDThreadState* jsdthreadstate,
                                 JSDStackFrameInfo* jsdframe,
-                                const jschar *bytes, uintN length,
-                                const char *filename, uintN lineno,
+                                const jschar *bytes, unsigned length,
+                                const char *filename, unsigned lineno,
                                 jsval *rval);
 
 /* single byte character version of JSD_EvaluateUCScriptInStackFrame */
 extern JSD_PUBLIC_API(JSBool)
 JSD_EvaluateScriptInStackFrame(JSDContext* jsdc,
                                JSDThreadState* jsdthreadstate,
                                JSDStackFrameInfo* jsdframe,
-                               const char *bytes, uintN length,
-                               const char *filename, uintN lineno, jsval *rval);
+                               const char *bytes, unsigned length,
+                               const char *filename, unsigned lineno, jsval *rval);
 
 /*
 * Same as above, but does not eat exceptions.
 */
 extern JSD_PUBLIC_API(JSBool)
 JSD_AttemptScriptInStackFrame(JSDContext* jsdc,
                               JSDThreadState* jsdthreadstate,
                               JSDStackFrameInfo* jsdframe,
-                              const char *bytes, uintN length,
-                              const char *filename, uintN lineno, jsval *rval);
+                              const char *bytes, unsigned length,
+                              const char *filename, unsigned lineno, jsval *rval);
 
 /*
 * Convert the given jsval to a string
 * NOTE: The ErrorReporter hook might be called if this fails.
 */
 extern JSD_PUBLIC_API(JSString*)
 JSD_ValToStringInStackFrame(JSDContext* jsdc,
                             JSDThreadState* jsdthreadstate,
@@ -1079,17 +1079,17 @@ JSD_SetException(JSDContext* jsdc, JSDTh
 #define JSD_ERROR_REPORTER_PASS_ALONG   0 /* pass along to regular reporter */
 #define JSD_ERROR_REPORTER_RETURN       1 /* don't pass to error reporter */
 #define JSD_ERROR_REPORTER_DEBUG        2 /* force call to DebugBreakHook */
 #define JSD_ERROR_REPORTER_CLEAR_RETURN 3 /* clear exception and don't pass */
 
 /*
 * Implement a callback of this form in order to hook the ErrorReporter
 */
-typedef uintN
+typedef unsigned
 (* JSD_ErrorReporter)(JSDContext*     jsdc,
                       JSContext*      cx,
                       const char*     message,
                       JSErrorReport*  report,
                       void*           callerdata);
 
 /* Set ErrorReporter hook */
 extern JSD_PUBLIC_API(JSBool)
@@ -1322,17 +1322,17 @@ extern JSD_PUBLIC_API(JSFunction*)
 JSD_GetValueFunction(JSDContext* jsdc, JSDValue* jsdval);
 
 /**************************************************/
 
 /*
 * Return the number of properties for the JSDValue.
 * *** new for version 1.1 ****
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetCountOfProperties(JSDContext* jsdc, JSDValue* jsdval);
 
 /*
 * Iterate through the properties of the JSDValue.
 * Use form similar to that shown for JSD_IterateScripts (no locking required).
 * NOTE: each JSDProperty returned must eventually be released by calling
 * JSD_DropProperty.
 * *** new for version 1.1 ****
@@ -1435,24 +1435,24 @@ JSD_GetPropertyValue(JSDContext* jsdc, J
 */
 extern JSD_PUBLIC_API(JSDValue*)
 JSD_GetPropertyAlias(JSDContext* jsdc, JSDProperty* jsdprop);
 
 /*
 * Get the flags for this property
 * *** new for version 1.1 ****
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetPropertyFlags(JSDContext* jsdc, JSDProperty* jsdprop);
 
 /*
 * Get Variable or Argument slot number (if JSDPD_ARGUMENT or JSDPD_VARIABLE set)
 * *** new for version 1.1 ****
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetPropertyVarArgSlot(JSDContext* jsdc, JSDProperty* jsdprop);
 
 /***************************************************************************/
 /* Object Functions  --- All NEW for 1.1 --- */
 
 /*
 * JSDObjects exist to allow a means of iterating through all JSObjects in the
 * engine. They are created and destroyed as the wrapped JSObjects are created
@@ -1504,33 +1504,33 @@ JSD_GetWrappedObject(JSDContext* jsdc, J
 extern JSD_PUBLIC_API(const char*)
 JSD_GetObjectNewURL(JSDContext* jsdc, JSDObject* jsdobj);
 
 /*
 * Get the line number of the line of source that caused this object to be
 * created. May be 0 indicating that the line number is unknown.
 * *** new for version 1.1 ****
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetObjectNewLineNumber(JSDContext* jsdc, JSDObject* jsdobj);
 
 /*
 * Get the URL of the line of source of the constructor for this object.
 * May be NULL.
 * *** new for version 1.1 ****
 */
 extern JSD_PUBLIC_API(const char*)
 JSD_GetObjectConstructorURL(JSDContext* jsdc, JSDObject* jsdobj);
 
 /*
 * Get the line number of the line of source of the constructor for this object.
 * created. May be 0 indicating that the line number is unknown.
 * *** new for version 1.1 ****
 */
-extern JSD_PUBLIC_API(uintN)
+extern JSD_PUBLIC_API(unsigned)
 JSD_GetObjectConstructorLineNumber(JSDContext* jsdc, JSDObject* jsdobj);
 
 /*
 * Get the name of the constructor for this object.
 * May be NULL.
 * *** new for version 1.1 ****
 */
 extern JSD_PUBLIC_API(const char*)
@@ -1571,20 +1571,20 @@ extern JSD_PUBLIC_API(JSDSourceText*)
 JSDLW_PreLoadSource(JSDContext* jsdc, LWDBGApp* app,
                     const char* filename, JSBool clear);
 
 extern JSD_PUBLIC_API(JSDSourceText*)
 JSDLW_ForceLoadSource(JSDContext* jsdc, JSDSourceText* jsdsrc);
 
 extern JSD_PUBLIC_API(JSBool)
 JSDLW_RawToProcessedLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut);
+                               unsigned lineIn, unsigned* lineOut);
 
 extern JSD_PUBLIC_API(JSBool)
 JSDLW_ProcessedToRawLineNumber(JSDContext* jsdc, JSDScript* jsdscript,
-                               uintN lineIn, uintN* lineOut);
+                               unsigned lineIn, unsigned* lineOut);
 
 #endif
 /***************************************************************************/
 
 JS_END_EXTERN_C
 
 #endif /* jsdebug_h___ */
--- a/js/src/assembler/jit/ExecutableAllocatorWin.cpp
+++ b/js/src/assembler/jit/ExecutableAllocatorWin.cpp
@@ -57,17 +57,17 @@ void *ExecutableAllocator::computeRandom
      * VirtualAlloc takes 64K chunks out of the virtual address space, so we
      * keep 16b alignment.
      *
      * x86: V8 comments say that keeping addresses in the [64MiB, 1GiB) range
      * tries to avoid system default DLL mapping space. In the end, we get 13
      * bits of randomness in our selection.
      * x64: [2GiB, 4TiB), with 25 bits of randomness.
      */
-    static const uintN chunkBits = 16;
+    static const unsigned chunkBits = 16;
 #if WTF_CPU_X86_64
     static const uintptr_t base = 0x0000000080000000;
     static const uintptr_t mask = 0x000003ffffff0000;
 #elif WTF_CPU_X86
     static const uintptr_t base = 0x04000000;
     static const uintptr_t mask = 0x3fff0000;
 #else
 # error "Unsupported architecture"
--- a/js/src/builtin/MapObject.cpp
+++ b/js/src/builtin/MapObject.cpp
@@ -197,17 +197,17 @@ void
 MapObject::finalize(JSContext *cx, JSObject *obj)
 {
     MapObject *mapobj = static_cast<MapObject *>(obj);
     if (ValueMap *map = mapobj->getData())
         cx->delete_(map);
 }
 
 JSBool
-MapObject::construct(JSContext *cx, uintN argc, Value *vp)
+MapObject::construct(JSContext *cx, unsigned argc, Value *vp)
 {
     JSObject *obj = NewBuiltinClassInstance(cx, &class_);
     if (!obj)
         return false;
 
     ValueMap *map = cx->new_<ValueMap>(cx->runtime);
     if (!map || !map->init())
         return false;
@@ -236,49 +236,49 @@ MapObject::construct(JSContext *cx, uint
     UNPACK_THIS(MapObject, native, cx, argc, vp, args, map)
 
 #define ARG0_KEY(cx, args, key)                                               \
     HashableValue key;                                                        \
     if (args.length() > 0 && !key.setValue(cx, args[0]))                      \
         return false
 
 JSBool
-MapObject::get(JSContext *cx, uintN argc, Value *vp)
+MapObject::get(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_MAP(get, cx, argc, vp, args, map);
     ARG0_KEY(cx, args, key);
 
     if (ValueMap::Ptr p = map.lookup(key))
         args.rval() = p->value;
     else
         args.rval().setUndefined();
     return true;
 }
 
 JSBool
-MapObject::has(JSContext *cx, uintN argc, Value *vp)
+MapObject::has(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_MAP(has, cx, argc, vp, args, map);
     ARG0_KEY(cx, args, key);
     args.rval().setBoolean(map.lookup(key));
     return true;
 }
 
 JSBool
-MapObject::set(JSContext *cx, uintN argc, Value *vp)
+MapObject::set(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_MAP(set, cx, argc, vp, args, map);
     ARG0_KEY(cx, args, key);
     map.put(key, args.length() > 1 ? args[1] : UndefinedValue());
     args.rval().setUndefined();
     return true;
 }
 
 JSBool
-MapObject::delete_(JSContext *cx, uintN argc, Value *vp)
+MapObject::delete_(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_MAP(delete_, cx, argc, vp, args, map);
     ARG0_KEY(cx, args, key);
     ValueMap::Ptr p = map.lookup(key);
     bool found = p.found();
     if (found)
         map.remove(p);
     args.rval().setBoolean(found);
@@ -344,17 +344,17 @@ void
 SetObject::finalize(JSContext *cx, JSObject *obj)
 {
     SetObject *setobj = static_cast<SetObject *>(obj);
     if (ValueSet *set = setobj->getData())
         cx->delete_(set);
 }
 
 JSBool
-SetObject::construct(JSContext *cx, uintN argc, Value *vp)
+SetObject::construct(JSContext *cx, unsigned argc, Value *vp)
 {
     JSObject *obj = NewBuiltinClassInstance(cx, &class_);
     if (!obj)
         return false;
 
     ValueSet *set = cx->new_<ValueSet>(cx->runtime);
     if (!set || !set->init())
         return false;
@@ -363,37 +363,37 @@ SetObject::construct(JSContext *cx, uint
     CallArgsFromVp(argc, vp).rval().setObject(*obj);
     return true;
 }
 
 #define THIS_SET(native, cx, argc, vp, args, set)                             \
     UNPACK_THIS(SetObject, native, cx, argc, vp, args, set)
 
 JSBool
-SetObject::has(JSContext *cx, uintN argc, Value *vp)
+SetObject::has(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_SET(has, cx, argc, vp, args, set);
     ARG0_KEY(cx, args, key);
     args.rval().setBoolean(set.has(key));
     return true;
 }
 
 JSBool
-SetObject::add(JSContext *cx, uintN argc, Value *vp)
+SetObject::add(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_SET(add, cx, argc, vp, args, set);
     ARG0_KEY(cx, args, key);
     if (!set.put(key))
         return false;
     args.rval().setUndefined();
     return true;
 }
 
 JSBool
-SetObject::delete_(JSContext *cx, uintN argc, Value *vp)
+SetObject::delete_(JSContext *cx, unsigned argc, Value *vp)
 {
     THIS_SET(delete_, cx, argc, vp, args, set);
     ARG0_KEY(cx, args, key);
     ValueSet::Ptr p = set.lookup(key);
     bool found = p.found();
     if (found)
         set.remove(p);
     args.rval().setBoolean(found);
--- a/js/src/builtin/MapObject.h
+++ b/js/src/builtin/MapObject.h
@@ -83,37 +83,37 @@ class MapObject : public JSObject {
     static JSObject *initClass(JSContext *cx, JSObject *obj);
     static Class class_;
   private:
     typedef ValueMap Data;
     static JSFunctionSpec methods[];
     ValueMap *getData() { return static_cast<ValueMap *>(getPrivate()); }
     static void mark(JSTracer *trc, JSObject *obj);
     static void finalize(JSContext *cx, JSObject *obj);
-    static JSBool construct(JSContext *cx, uintN argc, Value *vp);
-    static JSBool get(JSContext *cx, uintN argc, Value *vp);
-    static JSBool has(JSContext *cx, uintN argc, Value *vp);
-    static JSBool set(JSContext *cx, uintN argc, Value *vp);
-    static JSBool delete_(JSContext *cx, uintN argc, Value *vp);
+    static JSBool construct(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool get(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool has(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool set(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool delete_(JSContext *cx, unsigned argc, Value *vp);
 };
 
 class SetObject : public JSObject {
   public:
     static JSObject *initClass(JSContext *cx, JSObject *obj);
     static Class class_;
   private:
     typedef ValueSet Data;
     static JSFunctionSpec methods[];
     ValueSet *getData() { return static_cast<ValueSet *>(getPrivate()); }
     static void mark(JSTracer *trc, JSObject *obj);
     static void finalize(JSContext *cx, JSObject *obj);
-    static JSBool construct(JSContext *cx, uintN argc, Value *vp);
-    static JSBool has(JSContext *cx, uintN argc, Value *vp);
-    static JSBool add(JSContext *cx, uintN argc, Value *vp);
-    static JSBool delete_(JSContext *cx, uintN argc, Value *vp);
+    static JSBool construct(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool has(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool add(JSContext *cx, unsigned argc, Value *vp);
+    static JSBool delete_(JSContext *cx, unsigned argc, Value *vp);
 };
 
 } /* namespace js */
 
 extern JSObject *
 js_InitMapClass(JSContext *cx, JSObject *obj);
 
 extern JSObject *
--- a/js/src/builtin/RegExp.cpp
+++ b/js/src/builtin/RegExp.cpp
@@ -314,31 +314,31 @@ CompileRegExpObject(JSContext *cx, RegEx
     if (!reobj)
         return NULL;
 
     args.rval() = ObjectValue(*reobj);
     return true;
 }
 
 static JSBool
-regexp_compile(JSContext *cx, uintN argc, Value *vp)
+regexp_compile(JSContext *cx, unsigned argc, Value *vp)
 {
     CallArgs args = CallArgsFromVp(argc, vp);
 
     bool ok;
     JSObject *obj = NonGenericMethodGuard(cx, args, regexp_compile, &RegExpClass, &ok);
     if (!obj)
         return ok;
 
     RegExpObjectBuilder builder(cx, &obj->asRegExp());
     return CompileRegExpObject(cx, builder, args);
 }
 
 static JSBool
-regexp_construct(JSContext *cx, uintN argc, Value *vp)
+regexp_construct(JSContext *cx, unsigned argc, Value *vp)
 {
     CallArgs args = CallArgsFromVp(argc, vp);
 
     if (!IsConstructing(args)) {
         /*
          * If first arg is regexp and no flags are given, just return the arg.
          * Otherwise, delegate to the standard constructor.
          * See ECMAv5 15.10.3.1.
@@ -351,17 +351,17 @@ regexp_construct(JSContext *cx, uintN ar
         }
     }
 
     RegExpObjectBuilder builder(cx);
     return CompileRegExpObject(cx, builder, args);
 }
 
 static JSBool
-regexp_toString(JSContext *cx, uintN argc, Value *vp)
+regexp_toString(JSContext *cx, unsigned argc, Value *vp)
 {
     CallArgs args = CallArgsFromVp(argc, vp);
 
     bool ok;
     JSObject *obj = NonGenericMethodGuard(cx, args, regexp_toString, &RegExpClass, &ok);
     if (!obj)
         return ok;
 
@@ -558,17 +558,17 @@ GetSharedForGreedyStar(JSContext *cx, JS
 
 /*
  * ES5 15.10.6.2 (and 15.10.6.3, which calls 15.10.6.2).
  *
  * RegExp.prototype.test doesn't need to create a results array, and we use
  * |execType| to perform this optimization.
  */
 static bool
-ExecuteRegExp(JSContext *cx, Native native, uintN argc, Value *vp)
+ExecuteRegExp(JSContext *cx, Native native, unsigned argc, Value *vp)
 {
     CallArgs args = CallArgsFromVp(argc, vp);
 
     /* Step 1. */
     bool ok;
     JSObject *obj = NonGenericMethodGuard(cx, args, native, &RegExpClass, &ok);
     if (!obj)
         return ok;
@@ -633,23 +633,23 @@ ExecuteRegExp(JSContext *cx, Native nati
             reobj.setLastIndex(lastIndexInt);
     }
 
     return true;
 }
 
 /* ES5 15.10.6.2. */
 JSBool
-js::regexp_exec(JSContext *cx, uintN argc, Value *vp)
+js::regexp_exec(JSContext *cx, unsigned argc, Value *vp)
 {
     return ExecuteRegExp(cx, regexp_exec, argc, vp);
 }
 
 /* ES5 15.10.6.3. */
 JSBool
-js::regexp_test(JSContext *cx, uintN argc, Value *vp)
+js::regexp_test(JSContext *cx, unsigned argc, Value *vp)
 {
     if (!ExecuteRegExp(cx, regexp_test, argc, vp))
         return false;
     if (!vp->isTrue())
         vp->setBoolean(false);
     return true;
 }
--- a/js/src/builtin/RegExp.h
+++ b/js/src/builtin/RegExp.h
@@ -64,16 +64,16 @@ ExecuteRegExp(JSContext *cx, RegExpStati
               size_t *lastIndex, RegExpExecType type, Value *rval);
 
 bool
 ExecuteRegExp(JSContext *cx, RegExpStatics *res, RegExpShared &shared,
               JSLinearString *input, const jschar *chars, size_t length,
               size_t *lastIndex, RegExpExecType type, Value *rval);
 
 extern JSBool
-regexp_exec(JSContext *cx, uintN argc, Value *vp);
+regexp_exec(JSContext *cx, unsigned argc, Value *vp);
 
 extern JSBool
-regexp_test(JSContext *cx, uintN argc, Value *vp);
+regexp_test(JSContext *cx, unsigned argc, Value *vp);
 
 } /* namespace js */
 
 #endif
--- a/js/src/ctypes/CTypes.cpp
+++ b/js/src/ctypes/CTypes.cpp
@@ -60,90 +60,90 @@ using namespace std;
 
 namespace js {
 namespace ctypes {
 
 /*******************************************************************************
 ** JSAPI function prototypes
 *******************************************************************************/
 
-static JSBool ConstructAbstract(JSContext* cx, uintN argc, jsval* vp);
+static JSBool ConstructAbstract(JSContext* cx, unsigned argc, jsval* vp);
 
 namespace CType {
-  static JSBool ConstructData(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ConstructBasic(JSContext* cx, JSObject* obj, uintN argc, jsval* vp);
+  static JSBool ConstructData(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ConstructBasic(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp);
 
   static void Trace(JSTracer* trc, JSObject* obj);
   static void Finalize(JSContext* cx, JSObject* obj);
   static void FinalizeProtoClass(JSContext* cx, JSObject* obj);
 
   static JSBool PrototypeGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool NameGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool SizeGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool PtrGetter(JSContext* cx, JSObject* obj, jsid idval, jsval* vp);
-  static JSBool CreateArray(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ToString(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ToSource(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool CreateArray(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ToString(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ToSource(JSContext* cx, unsigned argc, jsval* vp);
   static JSBool HasInstance(JSContext* cx, JSObject* obj, const jsval* v, JSBool* bp);
 }
 
 namespace PointerType {
-  static JSBool Create(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ConstructData(JSContext* cx, JSObject* obj, uintN argc, jsval* vp);
+  static JSBool Create(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ConstructData(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp);
 
   static JSBool TargetTypeGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool ContentsGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool ContentsSetter(JSContext* cx, JSObject* obj, jsid idval, JSBool strict,
     jsval* vp);
-  static JSBool IsNull(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Increment(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Decrement(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool IsNull(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Increment(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Decrement(JSContext* cx, unsigned argc, jsval* vp);
   // The following is not an instance function, since we don't want to expose arbitrary
   // pointer arithmetic at this moment.
-  static JSBool OffsetBy(JSContext* cx, intN offset, jsval* vp);
+  static JSBool OffsetBy(JSContext* cx, int offset, jsval* vp);
 }
 
 namespace ArrayType {
-  static JSBool Create(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ConstructData(JSContext* cx, JSObject* obj, uintN argc, jsval* vp);
+  static JSBool Create(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ConstructData(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp);
 
   static JSBool ElementTypeGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool LengthGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool Getter(JSContext* cx, JSObject* obj, jsid idval, jsval* vp);
   static JSBool Setter(JSContext* cx, JSObject* obj, jsid idval, JSBool strict, jsval* vp);
-  static JSBool AddressOfElement(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool AddressOfElement(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 namespace StructType {
-  static JSBool Create(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ConstructData(JSContext* cx, JSObject* obj, uintN argc, jsval* vp);
+  static JSBool Create(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ConstructData(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp);
 
   static JSBool FieldsArrayGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool FieldGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool FieldSetter(JSContext* cx, JSObject* obj, jsid idval, JSBool strict,
                             jsval* vp);
-  static JSBool AddressOfField(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Define(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool AddressOfField(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Define(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 namespace FunctionType {
-  static JSBool Create(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Create(JSContext* cx, unsigned argc, jsval* vp);
   static JSBool ConstructData(JSContext* cx, JSObject* typeObj,
     JSObject* dataObj, JSObject* fnObj, JSObject* thisObj, jsval errVal);
 
-  static JSBool Call(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Call(JSContext* cx, unsigned argc, jsval* vp);
 
   static JSBool ArgTypesGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool ReturnTypeGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
   static JSBool ABIGetter(JSContext* cx, JSObject* obj, jsid idval, jsval* vp);
   static JSBool IsVariadicGetter(JSContext* cx, JSObject* obj, jsid idval,
     jsval* vp);
@@ -160,59 +160,59 @@ namespace CClosure {
 
 namespace CData {
   static void Finalize(JSContext* cx, JSObject* obj);
 
   static JSBool ValueGetter(JSContext* cx, JSObject* obj, jsid idval,
                             jsval* vp);
   static JSBool ValueSetter(JSContext* cx, JSObject* obj, jsid idval,
                             JSBool strict, jsval* vp);
-  static JSBool Address(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ReadString(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ToSource(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Address(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ReadString(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ToSource(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 // Int64Base provides functions common to Int64 and UInt64.
 namespace Int64Base {
   JSObject* Construct(JSContext* cx, JSObject* proto, uint64_t data,
     bool isUnsigned);
 
   uint64_t GetInt(JSObject* obj);
 
-  JSBool ToString(JSContext* cx, JSObject* obj, uintN argc, jsval* vp,
+  JSBool ToString(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp,
     bool isUnsigned);
 
-  JSBool ToSource(JSContext* cx, JSObject* obj, uintN argc, jsval* vp,
+  JSBool ToSource(JSContext* cx, JSObject* obj, unsigned argc, jsval* vp,
     bool isUnsigned);
 
   static void Finalize(JSContext* cx, JSObject* obj);
 }
 
 namespace Int64 {
-  static JSBool Construct(JSContext* cx, uintN argc, jsval* vp);
-
-  static JSBool ToString(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ToSource(JSContext* cx, uintN argc, jsval* vp);
-
-  static JSBool Compare(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Lo(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Hi(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Join(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Construct(JSContext* cx, unsigned argc, jsval* vp);
+
+  static JSBool ToString(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ToSource(JSContext* cx, unsigned argc, jsval* vp);
+
+  static JSBool Compare(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Lo(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Hi(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Join(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 namespace UInt64 {
-  static JSBool Construct(JSContext* cx, uintN argc, jsval* vp);
-
-  static JSBool ToString(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool ToSource(JSContext* cx, uintN argc, jsval* vp);
-
-  static JSBool Compare(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Lo(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Hi(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Join(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Construct(JSContext* cx, unsigned argc, jsval* vp);
+
+  static JSBool ToString(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool ToSource(JSContext* cx, unsigned argc, jsval* vp);
+
+  static JSBool Compare(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Lo(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Hi(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Join(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 /*******************************************************************************
 ** JSClass definitions and initialization functions
 *******************************************************************************/
 
 // Class representing the 'ctypes' object itself. This exists to contain the
 // JSCTypesCallbacks set of function pointers.
@@ -492,17 +492,17 @@ GetABICode(JSObject* obj)
 JSErrorFormatString ErrorFormatString[CTYPESERR_LIMIT] = {
 #define MSG_DEF(name, number, count, exception, format) \
   { format, count, exception } ,
 #include "ctypes.msg"
 #undef MSG_DEF
 };
 
 const JSErrorFormatString*
-GetErrorMessage(void* userRef, const char* locale, const uintN errorNumber)
+GetErrorMessage(void* userRef, const char* locale, const unsigned errorNumber)
 {
   if (0 < errorNumber && errorNumber < CTYPESERR_LIMIT)
     return &ErrorFormatString[errorNumber];
   return NULL;
 }
 
 JSBool
 TypeError(JSContext* cx, const char* expected, jsval actual)
@@ -2546,31 +2546,31 @@ BuildDataSource(JSContext* cx,
 }
 
 /*******************************************************************************
 ** JSAPI callback function implementations
 *******************************************************************************/
 
 JSBool
 ConstructAbstract(JSContext* cx,
-                  uintN argc,
+                  unsigned argc,
                   jsval* vp)
 {
   // Calling an abstract base class constructor is disallowed.
   JS_ReportError(cx, "cannot construct from abstract type");
   return JS_FALSE;
 }
 
 /*******************************************************************************
 ** CType implementation
 *******************************************************************************/
 
 JSBool
 CType::ConstructData(JSContext* cx,
-                     uintN argc,
+                     unsigned argc,
                      jsval* vp)
 {
   // get the callee object...
   JSObject* obj = JSVAL_TO_OBJECT(JS_CALLEE(cx, vp));
   if (!CType::IsCType(obj)) {
     JS_ReportError(cx, "not a CType");
     return JS_FALSE;
   }
@@ -2595,17 +2595,17 @@ CType::ConstructData(JSContext* cx,
   default:
     return ConstructBasic(cx, obj, argc, vp);
   }
 }
 
 JSBool
 CType::ConstructBasic(JSContext* cx,
                       JSObject* obj,
-                      uintN argc,
+                      unsigned argc,
                       jsval* vp)
 {
   if (argc > 1) {
     JS_ReportError(cx, "CType constructor takes zero or one argument");
     return JS_FALSE;
   }
 
   // construct a CData object
@@ -3118,17 +3118,17 @@ CType::PtrGetter(JSContext* cx, JSObject
   if (!pointerType)
     return JS_FALSE;
 
   *vp = OBJECT_TO_JSVAL(pointerType);
   return JS_TRUE;
 }
 
 JSBool
-CType::CreateArray(JSContext* cx, uintN argc, jsval* vp)
+CType::CreateArray(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* baseType = JS_THIS_OBJECT(cx, vp);
   if (!baseType || !CType::IsCType(baseType)) {
     JS_ReportError(cx, "not a CType");
     return JS_FALSE;
   }
 
   // Construct and return a new ArrayType object.
@@ -3149,17 +3149,17 @@ CType::CreateArray(JSContext* cx, uintN 
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-CType::ToString(JSContext* cx, uintN argc, jsval* vp)
+CType::ToString(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !(CType::IsCType(obj) || CType::IsCTypeProto(obj))) {
     JS_ReportError(cx, "not a CType");
     return JS_FALSE;
   }
 
   // Create the appropriate string depending on whether we're sCTypeClass or
@@ -3177,17 +3177,17 @@ CType::ToString(JSContext* cx, uintN arg
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-CType::ToSource(JSContext* cx, uintN argc, jsval* vp)
+CType::ToSource(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj ||
       !(CType::IsCType(obj) || CType::IsCTypeProto(obj)))
   {
     JS_ReportError(cx, "not a CType");
     return JS_FALSE;
   }
@@ -3233,17 +3233,17 @@ CType::HasInstance(JSContext* cx, JSObje
   return JS_TRUE;
 }
 
 /*******************************************************************************
 ** PointerType implementation
 *******************************************************************************/
 
 JSBool
-PointerType::Create(JSContext* cx, uintN argc, jsval* vp)
+PointerType::Create(JSContext* cx, unsigned argc, jsval* vp)
 {
   // Construct and return a new PointerType object.
   if (argc != 1) {
     JS_ReportError(cx, "PointerType takes one argument");
     return JS_FALSE;
   }
 
   jsval arg = JS_ARGV(cx, vp)[0];
@@ -3290,17 +3290,17 @@ PointerType::CreateInternal(JSContext* c
   JS_SetReservedSlot(baseType, SLOT_PTR, OBJECT_TO_JSVAL(typeObj));
 
   return typeObj;
 }
 
 JSBool
 PointerType::ConstructData(JSContext* cx,
                            JSObject* obj,
-                           uintN argc,
+                           unsigned argc,
                            jsval* vp)
 {
   if (!CType::IsCType(obj) || CType::GetTypeCode(obj) != TYPE_pointer) {
     JS_ReportError(cx, "not a PointerType");
     return JS_FALSE;
   }
 
   if (argc > 3) {
@@ -3396,17 +3396,17 @@ PointerType::TargetTypeGetter(JSContext*
   }
 
   *vp = JS_GetReservedSlot(obj, SLOT_TARGET_T);
   JS_ASSERT(JSVAL_IS_OBJECT(*vp));
   return JS_TRUE;
 }
 
 JSBool
-PointerType::IsNull(JSContext* cx, uintN argc, jsval* vp)
+PointerType::IsNull(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !CData::IsCData(obj)) {
     JS_ReportError(cx, "not a CData");
     return JS_FALSE;
   }
 
   // Get pointer type and base type.
@@ -3418,17 +3418,17 @@ PointerType::IsNull(JSContext* cx, uintN
 
   void* data = *static_cast<void**>(CData::GetData(obj));
   jsval result = BOOLEAN_TO_JSVAL(data == NULL);
   JS_SET_RVAL(cx, vp, result);
   return JS_TRUE;
 }
 
 JSBool
-PointerType::OffsetBy(JSContext* cx, intN offset, jsval* vp)
+PointerType::OffsetBy(JSContext* cx, int offset, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !CData::IsCData(obj)) {
     JS_ReportError(cx, "not a CData");
     return JS_FALSE;
   }
 
   JSObject* typeObj = CData::GetCType(obj);
@@ -3452,23 +3452,23 @@ PointerType::OffsetBy(JSContext* cx, int
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-PointerType::Increment(JSContext* cx, uintN argc, jsval* vp)
+PointerType::Increment(JSContext* cx, unsigned argc, jsval* vp)
 {
   return OffsetBy(cx, 1, vp);
 }
 
 JSBool
-PointerType::Decrement(JSContext* cx, uintN argc, jsval* vp)
+PointerType::Decrement(JSContext* cx, unsigned argc, jsval* vp)
 {
   return OffsetBy(cx, -1, vp);
 }
 
 JSBool
 PointerType::ContentsGetter(JSContext* cx,
                             JSObject* obj,
                             jsid idval,
@@ -3540,17 +3540,17 @@ PointerType::ContentsSetter(JSContext* c
   return ImplicitConvert(cx, *vp, baseType, data, false, NULL);
 }
 
 /*******************************************************************************
 ** ArrayType implementation
 *******************************************************************************/
 
 JSBool
-ArrayType::Create(JSContext* cx, uintN argc, jsval* vp)
+ArrayType::Create(JSContext* cx, unsigned argc, jsval* vp)
 {
   // Construct and return a new ArrayType object.
   if (argc < 1 || argc > 2) {
     JS_ReportError(cx, "ArrayType takes one or two arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
@@ -3625,17 +3625,17 @@ ArrayType::CreateInternal(JSContext* cx,
   JS_SetReservedSlot(typeObj, SLOT_LENGTH, lengthVal);
 
   return typeObj;
 }
 
 JSBool
 ArrayType::ConstructData(JSContext* cx,
                          JSObject* obj,
-                         uintN argc,
+                         unsigned argc,
                          jsval* vp)
 {
   if (!CType::IsCType(obj) || CType::GetTypeCode(obj) != TYPE_array) {
     JS_ReportError(cx, "not an ArrayType");
     return JS_FALSE;
   }
 
   // Decide whether we have an object to initialize from. We'll override this
@@ -3923,17 +3923,17 @@ ArrayType::Setter(JSContext* cx, JSObjec
 
   JSObject* baseType = GetBaseType(typeObj);
   size_t elementSize = CType::GetSize(baseType);
   char* data = static_cast<char*>(CData::GetData(obj)) + elementSize * index;
   return ImplicitConvert(cx, *vp, baseType, data, false, NULL);
 }
 
 JSBool
-ArrayType::AddressOfElement(JSContext* cx, uintN argc, jsval* vp)
+ArrayType::AddressOfElement(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !CData::IsCData(obj)) {
     JS_ReportError(cx, "not a CData");
     return JS_FALSE;
   }
 
   JSObject* typeObj = CData::GetCType(obj);
@@ -4060,17 +4060,17 @@ AddFieldToArray(JSContext* cx,
          OBJECT_TO_JSVAL(typeObj), NULL, NULL,
          JSPROP_ENUMERATE | JSPROP_READONLY | JSPROP_PERMANENT))
     return false;
 
   return JS_FreezeObject(cx, fieldObj);
 }
 
 JSBool
-StructType::Create(JSContext* cx, uintN argc, jsval* vp)
+StructType::Create(JSContext* cx, unsigned argc, jsval* vp)
 {
   // Construct and return a new StructType object.
   if (argc < 1 || argc > 2) {
     JS_ReportError(cx, "StructType takes one or two arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
@@ -4299,17 +4299,17 @@ StructType::BuildFFIType(JSContext* cx, 
   ffiType->alignment = structAlign;
 #endif
 
   elements.forget();
   return ffiType.forget();
 }
 
 JSBool
-StructType::Define(JSContext* cx, uintN argc, jsval* vp)
+StructType::Define(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj ||
       !CType::IsCType(obj) ||
       CType::GetTypeCode(obj) != TYPE_struct) {
     JS_ReportError(cx, "not a StructType");
     return JS_FALSE;
   }
@@ -4332,17 +4332,17 @@ StructType::Define(JSContext* cx, uintN 
   }
 
   return DefineInternal(cx, obj, JSVAL_TO_OBJECT(arg));
 }
 
 JSBool
 StructType::ConstructData(JSContext* cx,
                           JSObject* obj,
-                          uintN argc,
+                          unsigned argc,
                           jsval* vp)
 {
   if (!CType::IsCType(obj) || CType::GetTypeCode(obj) != TYPE_struct) {
     JS_ReportError(cx, "not a StructType");
     return JS_FALSE;
   }
 
   if (!CType::IsSizeDefined(obj)) {
@@ -4546,17 +4546,17 @@ StructType::FieldSetter(JSContext* cx, J
   if (!field)
     return JS_FALSE;
 
   char* data = static_cast<char*>(CData::GetData(obj)) + field->mOffset;
   return ImplicitConvert(cx, *vp, field->mType, data, false, NULL);
 }
 
 JSBool
-StructType::AddressOfField(JSContext* cx, uintN argc, jsval* vp)
+StructType::AddressOfField(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !CData::IsCData(obj)) {
     JS_ReportError(cx, "not a CData");
     return JS_FALSE;
   }
 
   JSObject* typeObj = CData::GetCType(obj);
@@ -4823,17 +4823,17 @@ FunctionType::BuildSymbolName(JSString* 
   }
 }
 
 static FunctionInfo*
 NewFunctionInfo(JSContext* cx,
                 jsval abiType,
                 jsval returnType,
                 jsval* argTypes,
-                uintN argLength)
+                unsigned argLength)
 {
   AutoPtr<FunctionInfo> fninfo(cx->new_<FunctionInfo>());
   if (!fninfo) {
     JS_ReportOutOfMemory(cx);
     return NULL;
   }
 
   ffi_abi abi;
@@ -4899,17 +4899,17 @@ NewFunctionInfo(JSContext* cx,
 
   if (!PrepareCIF(cx, fninfo.get()))
     return NULL;
 
   return fninfo.forget();
 }
 
 JSBool
-FunctionType::Create(JSContext* cx, uintN argc, jsval* vp)
+FunctionType::Create(JSContext* cx, unsigned argc, jsval* vp)
 {
   // Construct and return a new FunctionType object.
   if (argc < 2 || argc > 3) {
     JS_ReportError(cx, "FunctionType takes two or three arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
@@ -5054,17 +5054,17 @@ ConvertArgument(JSContext* cx,
     strings->back().mData = *static_cast<char**>(value->mData);
   }
 
   return true;
 }
 
 JSBool
 FunctionType::Call(JSContext* cx,
-                   uintN argc,
+                   unsigned argc,
                    jsval* vp)
 {
   // get the callee object...
   JSObject* obj = JSVAL_TO_OBJECT(JS_CALLEE(cx, vp));
   if (!CData::IsCData(obj)) {
     JS_ReportError(cx, "not a CData");
     return false;
   }
@@ -5735,17 +5735,17 @@ CData::ValueSetter(JSContext* cx, JSObje
     JS_ReportError(cx, "not a CData");
     return JS_FALSE;
   }
 
   return ImplicitConvert(cx, *vp, GetCType(obj), GetData(obj), false, NULL);
 }
 
 JSBool
-CData::Address(JSContext* cx, uintN argc, jsval* vp)
+CData::Address(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 0) {
     JS_ReportError(cx, "address takes zero arguments");
     return JS_FALSE;
   }
 
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !IsCData(obj)) {
@@ -5768,17 +5768,17 @@ CData::Address(JSContext* cx, uintN argc
 
   // Manually set the pointer inside the object, so we skip the conversion step.
   void** data = static_cast<void**>(GetData(result));
   *data = GetData(obj);
   return JS_TRUE;
 }
 
 JSBool
-CData::Cast(JSContext* cx, uintN argc, jsval* vp)
+CData::Cast(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 2) {
     JS_ReportError(cx, "cast takes two arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
   if (JSVAL_IS_PRIMITIVE(argv[0]) ||
@@ -5811,17 +5811,17 @@ CData::Cast(JSContext* cx, uintN argc, j
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-CData::GetRuntime(JSContext* cx, uintN argc, jsval* vp)
+CData::GetRuntime(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 1) {
     JS_ReportError(cx, "getRuntime takes one argument");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
   if (JSVAL_IS_PRIMITIVE(argv[0]) ||
@@ -5843,17 +5843,17 @@ CData::GetRuntime(JSContext* cx, uintN a
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-CData::ReadString(JSContext* cx, uintN argc, jsval* vp)
+CData::ReadString(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 0) {
     JS_ReportError(cx, "readString takes zero arguments");
     return JS_FALSE;
   }
 
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !IsCData(obj)) {
@@ -5934,17 +5934,17 @@ CData::ReadString(JSContext* cx, uintN a
   if (!result)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
-CData::ToSource(JSContext* cx, uintN argc, jsval* vp)
+CData::ToSource(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 0) {
     JS_ReportError(cx, "toSource takes zero arguments");
     return JS_FALSE;
   }
 
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj ||
@@ -6030,17 +6030,17 @@ Int64Base::GetInt(JSObject* obj) {
 
   jsval slot = JS_GetReservedSlot(obj, SLOT_INT64);
   return *static_cast<uint64_t*>(JSVAL_TO_PRIVATE(slot));
 }
 
 JSBool
 Int64Base::ToString(JSContext* cx,
                     JSObject* obj,
-                    uintN argc,
+                    unsigned argc,
                     jsval* vp,
                     bool isUnsigned)
 {
   if (argc > 1) {
     JS_ReportError(cx, "toString takes zero or one argument");
     return JS_FALSE;
   }
 
@@ -6068,17 +6068,17 @@ Int64Base::ToString(JSContext* cx,
 
   JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
 Int64Base::ToSource(JSContext* cx,
                     JSObject* obj,
-                    uintN argc,
+                    unsigned argc,
                     jsval* vp,
                     bool isUnsigned)
 {
   if (argc != 0) {
     JS_ReportError(cx, "toSource takes zero arguments");
     return JS_FALSE;
   }
 
@@ -6098,17 +6098,17 @@ Int64Base::ToSource(JSContext* cx,
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, STRING_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
 Int64::Construct(JSContext* cx,
-                 uintN argc,
+                 unsigned argc,
                  jsval* vp)
 {
   // Construct and return a new Int64 object.
   if (argc != 1) {
     JS_ReportError(cx, "Int64 takes one argument");
     return JS_FALSE;
   }
 
@@ -6134,41 +6134,41 @@ Int64::Construct(JSContext* cx,
 
 bool
 Int64::IsInt64(JSObject* obj)
 {
   return JS_GetClass(obj) == &sInt64Class;
 }
 
 JSBool
-Int64::ToString(JSContext* cx, uintN argc, jsval* vp)
+Int64::ToString(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !Int64::IsInt64(obj)) {
     JS_ReportError(cx, "not an Int64");
     return JS_FALSE;
   }
 
   return Int64Base::ToString(cx, obj, argc, vp, false);
 }
 
 JSBool
-Int64::ToSource(JSContext* cx, uintN argc, jsval* vp)
+Int64::ToSource(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !Int64::IsInt64(obj)) {
     JS_ReportError(cx, "not an Int64");
     return JS_FALSE;
   }
 
   return Int64Base::ToSource(cx, obj, argc, vp, false);
 }
 
 JSBool
-Int64::Compare(JSContext* cx, uintN argc, jsval* vp)
+Int64::Compare(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 2 ||
       JSVAL_IS_PRIMITIVE(argv[0]) ||
       JSVAL_IS_PRIMITIVE(argv[1]) ||
       !Int64::IsInt64(JSVAL_TO_OBJECT(argv[0])) ||
       !Int64::IsInt64(JSVAL_TO_OBJECT(argv[1]))) {
     JS_ReportError(cx, "compare takes two Int64 arguments");
@@ -6191,17 +6191,17 @@ Int64::Compare(JSContext* cx, uintN argc
   return JS_TRUE;
 }
 
 #define LO_MASK ((uint64_t(1) << 32) - 1)
 #define INT64_LO(i) ((i) & LO_MASK)
 #define INT64_HI(i) ((i) >> 32)
 
 JSBool
-Int64::Lo(JSContext* cx, uintN argc, jsval* vp)
+Int64::Lo(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 1 || JSVAL_IS_PRIMITIVE(argv[0]) ||
       !Int64::IsInt64(JSVAL_TO_OBJECT(argv[0]))) {
     JS_ReportError(cx, "lo takes one Int64 argument");
     return JS_FALSE;
   }
 
@@ -6213,17 +6213,17 @@ Int64::Lo(JSContext* cx, uintN argc, jsv
   if (!JS_NewNumberValue(cx, d, &result))
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, result);
   return JS_TRUE;
 }
 
 JSBool
-Int64::Hi(JSContext* cx, uintN argc, jsval* vp)
+Int64::Hi(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 1 || JSVAL_IS_PRIMITIVE(argv[0]) ||
       !Int64::IsInt64(JSVAL_TO_OBJECT(argv[0]))) {
     JS_ReportError(cx, "hi takes one Int64 argument");
     return JS_FALSE;
   }
 
@@ -6235,17 +6235,17 @@ Int64::Hi(JSContext* cx, uintN argc, jsv
   if (!JS_NewNumberValue(cx, d, &result))
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, result);
   return JS_TRUE;
 }
 
 JSBool
-Int64::Join(JSContext* cx, uintN argc, jsval* vp)
+Int64::Join(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 2) {
     JS_ReportError(cx, "join takes two arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
   int32_t hi;
@@ -6269,17 +6269,17 @@ Int64::Join(JSContext* cx, uintN argc, j
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(result));
   return JS_TRUE;
 }
 
 JSBool
 UInt64::Construct(JSContext* cx,
-                  uintN argc,
+                  unsigned argc,
                   jsval* vp)
 {
   // Construct and return a new UInt64 object.
   if (argc != 1) {
     JS_ReportError(cx, "UInt64 takes one argument");
     return JS_FALSE;
   }
 
@@ -6305,41 +6305,41 @@ UInt64::Construct(JSContext* cx,
 
 bool
 UInt64::IsUInt64(JSObject* obj)
 {
   return JS_GetClass(obj) == &sUInt64Class;
 }
 
 JSBool
-UInt64::ToString(JSContext* cx, uintN argc, jsval* vp)
+UInt64::ToString(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !UInt64::IsUInt64(obj)) {
     JS_ReportError(cx, "not a UInt64");
     return JS_FALSE;
   }
 
   return Int64Base::ToString(cx, obj, argc, vp, true);
 }
 
 JSBool
-UInt64::ToSource(JSContext* cx, uintN argc, jsval* vp)
+UInt64::ToSource(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !UInt64::IsUInt64(obj)) {
     JS_ReportError(cx, "not a UInt64");
     return JS_FALSE;
   }
 
   return Int64Base::ToSource(cx, obj, argc, vp, true);
 }
 
 JSBool
-UInt64::Compare(JSContext* cx, uintN argc, jsval* vp)
+UInt64::Compare(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 2 ||
       JSVAL_IS_PRIMITIVE(argv[0]) ||
       JSVAL_IS_PRIMITIVE(argv[1]) ||
       !UInt64::IsUInt64(JSVAL_TO_OBJECT(argv[0])) ||
       !UInt64::IsUInt64(JSVAL_TO_OBJECT(argv[1]))) {
     JS_ReportError(cx, "compare takes two UInt64 arguments");
@@ -6358,17 +6358,17 @@ UInt64::Compare(JSContext* cx, uintN arg
     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(-1));
   else
     JS_SET_RVAL(cx, vp, INT_TO_JSVAL(1));
 
   return JS_TRUE;
 }
 
 JSBool
-UInt64::Lo(JSContext* cx, uintN argc, jsval* vp)
+UInt64::Lo(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 1 || JSVAL_IS_PRIMITIVE(argv[0]) ||
       !UInt64::IsUInt64(JSVAL_TO_OBJECT(argv[0]))) {
     JS_ReportError(cx, "lo takes one UInt64 argument");
     return JS_FALSE;
   }
 
@@ -6380,17 +6380,17 @@ UInt64::Lo(JSContext* cx, uintN argc, js
   if (!JS_NewNumberValue(cx, d, &result))
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, result);
   return JS_TRUE;
 }
 
 JSBool
-UInt64::Hi(JSContext* cx, uintN argc, jsval* vp)
+UInt64::Hi(JSContext* cx, unsigned argc, jsval* vp)
 {
   jsval* argv = JS_ARGV(cx, vp);
   if (argc != 1 || JSVAL_IS_PRIMITIVE(argv[0]) ||
       !UInt64::IsUInt64(JSVAL_TO_OBJECT(argv[0]))) {
     JS_ReportError(cx, "hi takes one UInt64 argument");
     return JS_FALSE;
   }
 
@@ -6402,17 +6402,17 @@ UInt64::Hi(JSContext* cx, uintN argc, js
   if (!JS_NewNumberValue(cx, d, &result))
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, result);
   return JS_TRUE;
 }
 
 JSBool
-UInt64::Join(JSContext* cx, uintN argc, jsval* vp)
+UInt64::Join(JSContext* cx, unsigned argc, jsval* vp)
 {
   if (argc != 2) {
     JS_ReportError(cx, "join takes two arguments");
     return JS_FALSE;
   }
 
   jsval* argv = JS_ARGV(cx, vp);
   uint32_t hi;
--- a/js/src/ctypes/CTypes.h
+++ b/js/src/ctypes/CTypes.h
@@ -220,17 +220,17 @@ enum ErrorNum {
 #define MSG_DEF(name, number, count, exception, format) \
   name = number,
 #include "ctypes.msg"
 #undef MSG_DEF
   CTYPESERR_LIMIT
 };
 
 const JSErrorFormatString*
-GetErrorMessage(void* userRef, const char* locale, const uintN errorNumber);
+GetErrorMessage(void* userRef, const char* locale, const unsigned errorNumber);
 JSBool TypeError(JSContext* cx, const char* expected, jsval actual);
 
 /**
  * ABI constants that specify the calling convention to use.
  * ctypes.default_abi corresponds to the cdecl convention, and in almost all
  * cases is the correct choice. ctypes.stdcall_abi is provided for calling
  * stdcall functions on Win32, and implies stdcall symbol name decoration;
  * ctypes.winapi_abi is just stdcall but without decoration.
@@ -516,19 +516,19 @@ namespace CData {
     void* data, bool ownResult);
 
   JSObject* GetCType(JSObject* dataObj);
   void* GetData(JSObject* dataObj);
   bool IsCData(JSObject* obj);
   bool IsCDataProto(JSObject* obj);
 
   // Attached by JSAPI as the function 'ctypes.cast'
-  JSBool Cast(JSContext* cx, uintN argc, jsval* vp);
+  JSBool Cast(JSContext* cx, unsigned argc, jsval* vp);
   // Attached by JSAPI as the function 'ctypes.getRuntime'
-  JSBool GetRuntime(JSContext* cx, uintN argc, jsval* vp);
+  JSBool GetRuntime(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 namespace Int64 {
   bool IsInt64(JSObject* obj);
 }
 
 namespace UInt64 {
   bool IsUInt64(JSObject* obj);
--- a/js/src/ctypes/Library.cpp
+++ b/js/src/ctypes/Library.cpp
@@ -50,18 +50,18 @@ namespace ctypes {
 /*******************************************************************************
 ** JSAPI function prototypes
 *******************************************************************************/
 
 namespace Library
 {
   static void Finalize(JSContext* cx, JSObject* obj);
 
-  static JSBool Close(JSContext* cx, uintN argc, jsval* vp);
-  static JSBool Declare(JSContext* cx, uintN argc, jsval* vp);
+  static JSBool Close(JSContext* cx, unsigned argc, jsval* vp);
+  static JSBool Declare(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 /*******************************************************************************
 ** JSObject implementation
 *******************************************************************************/
 
 static JSClass sLibraryClass = {
   "Library",
@@ -76,17 +76,17 @@ static JSClass sLibraryClass = {
 
 static JSFunctionSpec sLibraryFunctions[] = {
   JS_FN("close",   Library::Close,   0, CTYPESFN_FLAGS),
   JS_FN("declare", Library::Declare, 0, CTYPESFN_FLAGS),
   JS_FS_END
 };
 
 JSBool
-Library::Name(JSContext* cx, uintN argc, jsval *vp)
+Library::Name(JSContext* cx, unsigned argc, jsval *vp)
 {
   if (argc != 1) {
     JS_ReportError(cx, "libraryName takes one argument");
     return JS_FALSE;
   }
 
   jsval arg = JS_ARGV(cx, vp)[0];
   JSString* str = NULL;
@@ -211,17 +211,17 @@ Library::Finalize(JSContext* cx, JSObjec
 {
   // unload the library
   PRLibrary* library = GetLibrary(obj);
   if (library)
     PR_UnloadLibrary(library);
 }
 
 JSBool
-Library::Open(JSContext* cx, uintN argc, jsval *vp)
+Library::Open(JSContext* cx, unsigned argc, jsval *vp)
 {
   JSObject* ctypesObj = JS_THIS_OBJECT(cx, vp);
   if (!ctypesObj || !IsCTypesGlobal(ctypesObj)) {
     JS_ReportError(cx, "not a ctypes object");
     return JS_FALSE;
   }
 
   if (argc != 1 || JSVAL_IS_VOID(JS_ARGV(cx, vp)[0])) {
@@ -233,17 +233,17 @@ Library::Open(JSContext* cx, uintN argc,
   if (!library)
     return JS_FALSE;
 
   JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(library));
   return JS_TRUE;
 }
 
 JSBool
-Library::Close(JSContext* cx, uintN argc, jsval* vp)
+Library::Close(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !IsLibrary(obj)) {
     JS_ReportError(cx, "not a library");
     return JS_FALSE;
   }
 
   if (argc != 0) {
@@ -255,17 +255,17 @@ Library::Close(JSContext* cx, uintN argc
   Finalize(cx, obj);
   JS_SetReservedSlot(obj, SLOT_LIBRARY, PRIVATE_TO_JSVAL(NULL));
 
   JS_SET_RVAL(cx, vp, JSVAL_VOID);
   return JS_TRUE;
 }
 
 JSBool
-Library::Declare(JSContext* cx, uintN argc, jsval* vp)
+Library::Declare(JSContext* cx, unsigned argc, jsval* vp)
 {
   JSObject* obj = JS_THIS_OBJECT(cx, vp);
   if (!obj || !IsLibrary(obj)) {
     JS_ReportError(cx, "not a library");
     return JS_FALSE;
   }
 
   PRLibrary* library = GetLibrary(obj);
--- a/js/src/ctypes/Library.h
+++ b/js/src/ctypes/Library.h
@@ -49,22 +49,22 @@ namespace ctypes {
 
 enum LibrarySlot {
   SLOT_LIBRARY = 0,
   LIBRARY_SLOTS
 };
 
 namespace Library
 {
-  JSBool Name(JSContext* cx, uintN argc, jsval *vp);
+  JSBool Name(JSContext* cx, unsigned argc, jsval *vp);
 
   JSObject* Create(JSContext* cx, jsval path, JSCTypesCallbacks* callbacks);
 
   bool IsLibrary(JSObject* obj);
   PRLibrary* GetLibrary(JSObject* obj);
 
-  JSBool Open(JSContext* cx, uintN argc, jsval* vp);
+  JSBool Open(JSContext* cx, unsigned argc, jsval* vp);
 }
 
 }
 }
 
 #endif
--- a/js/src/frontend/BytecodeCompiler.cpp
+++ b/js/src/frontend/BytecodeCompiler.cpp
@@ -154,19 +154,19 @@ DefineGlobals(JSContext *cx, GlobalScope
     return true;
 }
 
 JSScript *
 frontend::CompileScript(JSContext *cx, JSObject *scopeChain, StackFrame *callerFrame,
                         JSPrincipals *principals, JSPrincipals *originPrincipals,
                         uint32_t tcflags,
                         const jschar *chars, size_t length,
-                        const char *filename, uintN lineno, JSVersion version,
+                        const char *filename, unsigned lineno, JSVersion version,
                         JSString *source /* = NULL */,
-                        uintN staticLevel /* = 0 */)
+                        unsigned staticLevel /* = 0 */)
 {
     TokenKind tt;
     ParseNode *pn;
     JSScript *script;
     bool inDirectivePrologue;
 
     JS_ASSERT(!(tcflags & ~(TCF_COMPILE_N_GO | TCF_NO_SCRIPT_RVAL | TCF_COMPILE_FOR_EVAL
                             | TCF_NEED_SCRIPT_GLOBAL)));
@@ -341,17 +341,17 @@ frontend::CompileScript(JSContext *cx, J
 /*
  * Compile a JS function body, which might appear as the value of an event
  * handler attribute in an HTML <INPUT> tag.
  */
 bool
 frontend::CompileFunctionBody(JSContext *cx, JSFunction *fun,
                               JSPrincipals *principals, JSPrincipals *originPrincipals,
                               Bindings *bindings, const jschar *chars, size_t length,
-                              const char *filename, uintN lineno, JSVersion version)
+                              const char *filename, unsigned lineno, JSVersion version)
 {
     Parser parser(cx, principals, originPrincipals);
     if (!parser.init(chars, length, filename, lineno, version))
         return false;
 
     TokenStream &tokenStream = parser.tokenStream;
 
     BytecodeEmitter funbce(&parser, tokenStream.getLineno());
@@ -366,27 +366,27 @@ frontend::CompileFunctionBody(JSContext 
         return false;
 
     /* FIXME: make Function format the source for a function definition. */
     ParseNode *fn = FunctionNode::create(PNK_NAME, &funbce);
     if (fn) {
         fn->pn_body = NULL;
         fn->pn_cookie.makeFree();
 
-        uintN nargs = fun->nargs;
+        unsigned nargs = fun->nargs;
         if (nargs) {
             /*
              * NB: do not use AutoLocalNameArray because it will release space
              * allocated from cx->tempLifoAlloc by DefineArg.
              */
             Vector<JSAtom *> names(cx);
             if (!funbce.bindings.getLocalNameArray(cx, &names)) {
                 fn = NULL;
             } else {
-                for (uintN i = 0; i < nargs; i++) {
+                for (unsigned i = 0; i < nargs; i++) {
                     if (!DefineArg(fn, names[i], i, &funbce)) {
                         fn = NULL;
                         break;
                     }
                 }
             }
         }
     }
--- a/js/src/frontend/BytecodeCompiler.h
+++ b/js/src/frontend/BytecodeCompiler.h
@@ -45,21 +45,21 @@
 
 namespace js {
 namespace frontend {
 
 bool
 CompileFunctionBody(JSContext *cx, JSFunction *fun,
                     JSPrincipals *principals, JSPrincipals *originPrincipals,
                     Bindings *bindings, const jschar *chars, size_t length,
-                    const char *filename, uintN lineno, JSVersion version);
+                    const char *filename, unsigned lineno, JSVersion version);
 
 JSScript *
 CompileScript(JSContext *cx, JSObject *scopeChain, StackFrame *callerFrame,
               JSPrincipals *principals, JSPrincipals *originPrincipals,
               uint32_t tcflags, const jschar *chars, size_t length,
-              const char *filename, uintN lineno, JSVersion version,
-              JSString *source = NULL, uintN staticLevel = 0);
+              const char *filename, unsigned lineno, JSVersion version,
+              JSString *source = NULL, unsigned staticLevel = 0);
 
 } /* namespace frontend */
 } /* namespace js */
 
 #endif /* BytecodeCompiler_h__ */
--- a/js/src/frontend/BytecodeEmitter.cpp
+++ b/js/src/frontend/BytecodeEmitter.cpp
@@ -84,29 +84,29 @@
 #define BYTECODE_SIZE(n)        ((n) * sizeof(jsbytecode))
 #define SRCNOTE_SIZE(n)         ((n) * sizeof(jssrcnote))
 
 using namespace js;
 using namespace js::gc;
 using namespace js::frontend;
 
 static JSBool
-NewTryNote(JSContext *cx, BytecodeEmitter *bce, JSTryNoteKind kind, uintN stackDepth,
+NewTryNote(JSContext *cx, BytecodeEmitter *bce, JSTryNoteKind kind, unsigned stackDepth,
            size_t start, size_t end);
 
 static JSBool
-SetSrcNoteOffset(JSContext *cx, BytecodeEmitter *bce, uintN index, uintN which, ptrdiff_t offset);
+SetSrcNoteOffset(JSContext *cx, BytecodeEmitter *bce, unsigned index, unsigned which, ptrdiff_t offset);
 
 void
 TreeContext::trace(JSTracer *trc)
 {
     bindings.trace(trc);
 }
 
-BytecodeEmitter::BytecodeEmitter(Parser *parser, uintN lineno)
+BytecodeEmitter::BytecodeEmitter(Parser *parser, unsigned lineno)
   : TreeContext(parser),
     atomIndices(parser->context),
     stackDepth(0), maxStackDepth(0),
     ntrynotes(0), lastTryNode(NULL),
     arrayCompDepth(0),
     emitLevel(0),
     constMap(parser->context),
     constList(parser->context),
@@ -196,52 +196,52 @@ UpdateDepth(JSContext *cx, BytecodeEmitt
     const JSCodeSpec *cs = &js_CodeSpec[op];
 
 
     if (cs->format & JOF_TMPSLOT_MASK) {
         /*
          * An opcode may temporarily consume stack space during execution.
          * Account for this in maxStackDepth separately from uses/defs here.
          */
-        uintN depth = (uintN) bce->stackDepth +
+        unsigned depth = (unsigned) bce->stackDepth +
                       ((cs->format & JOF_TMPSLOT_MASK) >> JOF_TMPSLOT_SHIFT);
         if (depth > bce->maxStackDepth)
             bce->maxStackDepth = depth;
     }
 
     /*
      * Specially handle any case that would call js_GetIndexFromBytecode since
      * it requires a well-formed script. This allows us to safely pass NULL as
      * the 'script' parameter.
      */
-    intN nuses, ndefs;
+    int nuses, ndefs;
     if (op == JSOP_ENTERBLOCK) {
         nuses = 0;
         ndefs = CurrentBlock(bce).slotCount();
     } else if (op == JSOP_ENTERLET0) {
         nuses = ndefs = CurrentBlock(bce).slotCount();
     } else if (op == JSOP_ENTERLET1) {
         nuses = ndefs = CurrentBlock(bce).slotCount() + 1;
     } else {
         nuses = StackUses(NULL, pc);
         ndefs = StackDefs(NULL, pc);
     }
 
     bce->stackDepth -= nuses;
     JS_ASSERT(bce->stackDepth >= 0);
     bce->stackDepth += ndefs;
-    if ((uintN)bce->stackDepth > bce->maxStackDepth)
+    if ((unsigned)bce->stackDepth > bce->maxStackDepth)
         bce->maxStackDepth = bce->stackDepth;
 }
 
 static inline void
-UpdateDecomposeLength(BytecodeEmitter *bce, uintN start)
+UpdateDecomposeLength(BytecodeEmitter *bce, unsigned start)
 {
-    uintN end = bce->offset();
-    JS_ASSERT(uintN(end - start) < 256);
+    unsigned end = bce->offset();
+    JS_ASSERT(unsigned(end - start) < 256);
     bce->code(start)[-1] = end - start;
 }
 
 ptrdiff_t
 frontend::Emit1(JSContext *cx, BytecodeEmitter *bce, JSOp op)
 {
     JS_ASSERT_IF(op == JSOP_ARGUMENTS, !bce->mayOverwriteArguments());
 
@@ -382,17 +382,17 @@ TreeContext::skipSpansGenerator(unsigned
             return false;
         if (tc->flags & TCF_FUN_IS_GENERATOR)
             return true;
     }
     return false;
 }
 
 bool
-frontend::SetStaticLevel(TreeContext *tc, uintN staticLevel)
+frontend::SetStaticLevel(TreeContext *tc, unsigned staticLevel)
 {
     /*
      * This is a lot simpler than error-checking every UpvarCookie::set, and
      * practically speaking it leaves more than enough room for upvars.
      */
     if (UpvarCookie::isLevelReserved(staticLevel)) {
         JS_ReportErrorNumber(tc->parser->context, js_GetErrorMessage, NULL,
                              JSMSG_TOO_DEEP, js_function_str);
@@ -459,46 +459,46 @@ EmitBackPatchOp(JSContext *cx, BytecodeE
     *lastp = offset;
     JS_ASSERT(delta > 0);
     return EmitJump(cx, bce, op, delta);
 }
 
 /* A macro for inlining at the top of EmitTree (whence it came). */
 #define UPDATE_LINE_NUMBER_NOTES(cx, bce, line)                               \
     JS_BEGIN_MACRO                                                            \
-        uintN line_ = (line);                                                 \
-        uintN delta_ = line_ - bce->currentLine();                            \
+        unsigned line_ = (line);                                                 \
+        unsigned delta_ = line_ - bce->currentLine();                            \
         if (delta_ != 0) {                                                    \
             /*                                                                \
              * Encode any change in the current source line number by using   \
              * either several SRC_NEWLINE notes or just one SRC_SETLINE note, \
              * whichever consumes less space.                                 \
              *                                                                \
              * NB: We handle backward line number deltas (possible with for   \
              * loops where the update part is emitted after the body, but its \
              * line number is <= any line number in the body) here by letting \
              * unsigned delta_ wrap to a very large number, which triggers a  \
              * SRC_SETLINE.                                                   \
              */                                                               \
             bce->current->currentLine = line_;                                \
-            if (delta_ >= (uintN)(2 + ((line_ > SN_3BYTE_OFFSET_MASK)<<1))) { \
+            if (delta_ >= (unsigned)(2 + ((line_ > SN_3BYTE_OFFSET_MASK)<<1))) { \
                 if (NewSrcNote2(cx, bce, SRC_SETLINE, (ptrdiff_t)line_) < 0)  \
                     return JS_FALSE;                                          \
             } else {                                                          \
                 do {                                                          \
                     if (NewSrcNote(cx, bce, SRC_NEWLINE) < 0)                 \
                         return JS_FALSE;                                      \
                 } while (--delta_ != 0);                                      \
             }                                                                 \
         }                                                                     \
     JS_END_MACRO
 
 /* A function, so that we avoid macro-bloating all the other callsites. */
 static JSBool
-UpdateLineNumberNotes(JSContext *cx, BytecodeEmitter *bce, uintN line)
+UpdateLineNumberNotes(JSContext *cx, BytecodeEmitter *bce, unsigned line)
 {
     UPDATE_LINE_NUMBER_NOTES(cx, bce, line);
     return JS_TRUE;
 }
 
 static ptrdiff_t
 EmitLoopHead(JSContext *cx, BytecodeEmitter *bce, ParseNode *nextpn)
 {
@@ -582,17 +582,17 @@ CheckTypeSet(JSContext *cx, BytecodeEmit
         bce->code(offset)[0] = op;                                            \
         bce->code(offset)[1] = jsbytecode(i >> 24);                           \
         bce->code(offset)[2] = jsbytecode(i >> 16);                           \
         bce->code(offset)[3] = jsbytecode(i >> 8);                            \
         bce->code(offset)[4] = jsbytecode(i);                                 \
     JS_END_MACRO
 
 static JSBool
-FlushPops(JSContext *cx, BytecodeEmitter *bce, intN *npops)
+FlushPops(JSContext *cx, BytecodeEmitter *bce, int *npops)
 {
     JS_ASSERT(*npops != 0);
     if (NewSrcNote(cx, bce, SRC_HIDDEN) < 0)
         return JS_FALSE;
     EMIT_UINT16_IMM_OP(JSOP_POPN, *npops);
     *npops = 0;
     return JS_TRUE;
 }
@@ -614,18 +614,18 @@ static JSBool
 EmitNonLocalJumpFixup(JSContext *cx, BytecodeEmitter *bce, StmtInfo *toStmt)
 {
     /*
      * The non-local jump fixup we emit will unbalance bce->stackDepth, because
      * the fixup replicates balanced code such as JSOP_LEAVEWITH emitted at the
      * end of a with statement, so we save bce->stackDepth here and restore it
      * just before a successful return.
      */
-    intN depth = bce->stackDepth;
-    intN npops = 0;
+    int depth = bce->stackDepth;
+    int npops = 0;
 
 #define FLUSH_POPS() if (npops && !FlushPops(cx, bce, &npops)) return JS_FALSE
 
     for (StmtInfo *stmt = bce->topStmt; stmt != toStmt; stmt = stmt->down) {
         switch (stmt->type) {
           case STMT_FINALLY:
             FLUSH_POPS();
             if (NewSrcNote(cx, bce, SRC_HIDDEN) < 0)
@@ -657,17 +657,17 @@ EmitNonLocalJumpFixup(JSContext *cx, Byt
             npops += 2;
             break;
 
           default:;
         }
 
         if (stmt->flags & SIF_SCOPE) {
             FLUSH_POPS();
-            uintN blockObjCount = stmt->blockObj->slotCount();
+            unsigned blockObjCount = stmt->blockObj->slotCount();
             if (stmt->flags & SIF_FOR_BLOCK) {
                 /*
                  * For a for-let-in statement, pushing/popping the block is
                  * interleaved with JSOP_(END)ITER. Just handle both together
                  * here and skip over the enclosing STMT_FOR_IN_LOOP.
                  */
                 JS_ASSERT(stmt->down->type == STMT_FOR_IN_LOOP);
                 stmt = stmt->down;
@@ -697,17 +697,17 @@ EmitNonLocalJumpFixup(JSContext *cx, Byt
 }
 
 static const jsatomid INVALID_ATOMID = -1;
 
 static ptrdiff_t
 EmitGoto(JSContext *cx, BytecodeEmitter *bce, StmtInfo *toStmt, ptrdiff_t *lastp,
          jsatomid labelIndex = INVALID_ATOMID, SrcNoteType noteType = SRC_NULL)
 {
-    intN index;
+    int index;
 
     if (!EmitNonLocalJumpFixup(cx, bce, toStmt))
         return -1;
 
     if (labelIndex != INVALID_ATOMID)
         index = NewSrcNote2(cx, bce, noteType, ptrdiff_t(labelIndex));
     else if (noteType != SRC_NULL)
         index = NewSrcNote(cx, bce, noteType);
@@ -965,17 +965,17 @@ EmitObjectOp(JSContext *cx, ObjectBox *o
 
 static bool
 EmitRegExp(JSContext *cx, uint32_t index, BytecodeEmitter *bce)
 {
     return EmitIndex32(cx, JSOP_REGEXP, index, bce);
 }
 
 static bool
-EmitSlotObjectOp(JSContext *cx, JSOp op, uintN slot, uint32_t index, BytecodeEmitter *bce)
+EmitSlotObjectOp(JSContext *cx, JSOp op, unsigned slot, uint32_t index, BytecodeEmitter *bce)
 {
     JS_ASSERT(JOF_OPTYPE(op) == JOF_SLOTOBJECT);
 
     ptrdiff_t off = EmitN(cx, bce, op, SLOTNO_LEN + UINT32_INDEX_LEN);
     if (off < 0)
         return false;
 
     jsbytecode *pc = bce->code(off);
@@ -1008,17 +1008,17 @@ BytecodeEmitter::shouldNoteClosedName(Pa
  * The function returns -1 on failures.
  */
 static jsint
 AdjustBlockSlot(JSContext *cx, BytecodeEmitter *bce, jsint slot)
 {
     JS_ASSERT((jsuint) slot < bce->maxStackDepth);
     if (bce->inFunction()) {
         slot += bce->bindings.countVars();
-        if ((uintN) slot >= SLOTNO_LIMIT) {
+        if ((unsigned) slot >= SLOTNO_LIMIT) {
             ReportCompileErrorNumber(cx, bce->tokenStream(), NULL, JSREPORT_ERROR,
                                      JSMSG_TOO_MANY_LOCALS);
             slot = -1;
         }
     }
     return slot;
 }
 
@@ -1047,17 +1047,17 @@ EmitEnterBlock(JSContext *cx, BytecodeEm
 
         /* Beware the empty destructuring dummy. */
         if (!dn) {
             JS_ASSERT(i + 1 <= blockObj.slotCount());
             continue;
         }
 
         JS_ASSERT(dn->isDefn());
-        JS_ASSERT(uintN(dn->frameSlot() + depthPlusFixed) < JS_BIT(16));
+        JS_ASSERT(unsigned(dn->frameSlot() + depthPlusFixed) < JS_BIT(16));
         dn->pn_cookie.set(dn->pn_cookie.level(), uint16_t(dn->frameSlot() + depthPlusFixed));
 #ifdef DEBUG
         for (ParseNode *pnu = dn->dn_uses; pnu; pnu = pnu->pn_link) {
             JS_ASSERT(pnu->pn_lexdef == dn);
             JS_ASSERT(!(pnu->pn_dflags & PND_BOUND));
             JS_ASSERT(pnu->pn_cookie.isFree());
         }
 #endif
@@ -1361,17 +1361,17 @@ BindNameToSlot(JSContext *cx, BytecodeEm
         pn->pn_dflags |= PND_BOUND;
 
         return JS_TRUE;
     }
 
     uint16_t level = cookie.level();
     JS_ASSERT(bce->staticLevel >= level);
 
-    const uintN skip = bce->staticLevel - level;
+    const unsigned skip = bce->staticLevel - level;
     if (skip != 0) {
         JS_ASSERT(bce->inFunction());
         JS_ASSERT_IF(cookie.slot() != UpvarCookie::CALLEE_SLOT, bce->roLexdeps->lookup(atom));
         JS_ASSERT(JOF_OPTYPE(op) == JOF_ATOM);
 
         /*
          * If op is a mutating opcode, this upvar's lookup skips too many levels,
          * or the function is heavyweight, we fall back on JSOP_*NAME*.
@@ -1415,17 +1415,17 @@ BindNameToSlot(JSContext *cx, BytecodeEm
                     if (!buf)
                         return JS_FALSE;
                     upvarMap.replaceRawBuffer(static_cast<UpvarCookie *>(buf), lexdepCount);
                 }
                 for (size_t i = 0; i < lexdepCount; ++i)
                     upvarMap[i] = UpvarCookie();
             }
 
-            uintN slot = cookie.slot();
+            unsigned slot = cookie.slot();
             if (slot != UpvarCookie::CALLEE_SLOT && dn_kind != Definition::ARG) {
                 TreeContext *tc = bce;
                 do {
                     tc = tc->parent;
                 } while (tc->staticLevel != level);
                 if (tc->inFunction())
                     slot += tc->fun()->nargs;
             }
@@ -1878,17 +1878,17 @@ static bool
 EmitXMLName(JSContext *cx, ParseNode *pn, JSOp op, BytecodeEmitter *bce)
 {
     JS_ASSERT(!bce->inStrictMode());
     JS_ASSERT(pn->isKind(PNK_XMLUNARY));
     JS_ASSERT(pn->isOp(JSOP_XMLNAME));
     JS_ASSERT(op == JSOP_XMLNAME || op == JSOP_CALLXMLNAME);
 
     ParseNode *pn2 = pn->pn_kid;
-    uintN oldflags = bce->flags;
+    unsigned oldflags = bce->flags;
     bce->flags &= ~TCF_IN_FOR_INIT;
     if (!EmitTree(cx, bce, pn2))
         return false;
     bce->flags |= oldflags & TCF_IN_FOR_INIT;
     if (NewSrcNote2(cx, bce, SRC_PCBASE, bce->offset() - pn2->pn_offset) < 0)
         return false;
 
     if (Emit1(cx, bce, op) < 0)
@@ -2314,17 +2314,17 @@ EmitSwitch(JSContext *cx, BytecodeEmitte
 {
     JSOp switchOp;
     JSBool ok, hasDefault, constPropagated;
     ptrdiff_t top, off, defaultOffset;
     ParseNode *pn2, *pn3, *pn4;
     uint32_t caseCount, tableLength;
     ParseNode **table;
     int32_t i, low, high;
-    intN noteIndex;
+    int noteIndex;
     size_t switchSize, tableSize;
     jsbytecode *pc, *savepc;
     StmtInfo stmtInfo;
 
     /* Try for most optimal, fall back if not dense ints, and per ECMAv2. */
     switchOp = JSOP_TABLESWITCH;
     ok = JS_TRUE;
     hasDefault = constPropagated = JS_FALSE;
@@ -2565,63 +2565,63 @@ EmitSwitch(JSContext *cx, BytecodeEmitte
     }
 
     /* Emit switchOp followed by switchSize bytes of jump or lookup table. */
     if (EmitN(cx, bce, switchOp, switchSize) < 0)
         return JS_FALSE;
 
     off = -1;
     if (switchOp == JSOP_CONDSWITCH) {
-        intN caseNoteIndex = -1;
+        int caseNoteIndex = -1;
         JSBool beforeCases = JS_TRUE;
 
         /* Emit code for evaluating cases and jumping to case statements. */
         for (pn3 = pn2->pn_head; pn3; pn3 = pn3->pn_next) {
             pn4 = pn3->pn_left;
             if (pn4 && !EmitTree(cx, bce, pn4))
                 return JS_FALSE;
             if (caseNoteIndex >= 0) {
                 /* off is the previous JSOP_CASE's bytecode offset. */
-                if (!SetSrcNoteOffset(cx, bce, (uintN)caseNoteIndex, 0, bce->offset() - off))
+                if (!SetSrcNoteOffset(cx, bce, (unsigned)caseNoteIndex, 0, bce->offset() - off))
                     return JS_FALSE;
             }
             if (!pn4) {
                 JS_ASSERT(pn3->isKind(PNK_DEFAULT));
                 continue;
             }
             caseNoteIndex = NewSrcNote2(cx, bce, SRC_PCDELTA, 0);
             if (caseNoteIndex < 0)
                 return JS_FALSE;
             off = EmitJump(cx, bce, JSOP_CASE, 0);
             if (off < 0)
                 return JS_FALSE;
             pn3->pn_offset = off;
             if (beforeCases) {
-                uintN noteCount, noteCountDelta;
+                unsigned noteCount, noteCountDelta;
 
                 /* Switch note's second offset is to first JSOP_CASE. */
                 noteCount = bce->noteCount();
-                if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 1, off - top))
+                if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 1, off - top))
                     return JS_FALSE;
                 noteCountDelta = bce->noteCount() - noteCount;
                 if (noteCountDelta != 0)
                     caseNoteIndex += noteCountDelta;
                 beforeCases = JS_FALSE;
             }
         }
 
         /*
          * If we didn't have an explicit default (which could fall in between
          * cases, preventing us from fusing this SetSrcNoteOffset with the call
          * in the loop above), link the last case to the implicit default for
          * the decompiler.
          */
         if (!hasDefault &&
             caseNoteIndex >= 0 &&
-            !SetSrcNoteOffset(cx, bce, (uintN)caseNoteIndex, 0, bce->offset() - off))
+            !SetSrcNoteOffset(cx, bce, (unsigned)caseNoteIndex, 0, bce->offset() - off))
         {
             return JS_FALSE;
         }
 
         /* Emit default even if no explicit default statement. */
         defaultOffset = EmitJump(cx, bce, JSOP_DEFAULT, 0);
         if (defaultOffset < 0)
             return JS_FALSE;
@@ -2745,17 +2745,17 @@ EmitSwitch(JSContext *cx, BytecodeEmitte
     } else {
         pc = bce->code(top);
         SET_JUMP_OFFSET(pc, off);
         pc += JUMP_OFFSET_LEN;
     }
 
     /* Set the SRC_SWITCH note's offset operand to tell end of switch. */
     off = bce->offset() - top;
-    ok = SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, off);
+    ok = SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, off);
     if (!ok)
         goto out;
 
     if (switchOp == JSOP_TABLESWITCH) {
         /* Skip over the already-initialized switch bounds. */
         pc += 2 * JUMP_OFFSET_LEN;
 
         /* Fill in the jump table, if there is one. */
@@ -3069,17 +3069,17 @@ EmitDestructuringOpsHelper(JSContext *cx
 {
     JS_ASSERT(emitOption != DefineVars);
 
     jsuint index;
     ParseNode *pn2, *pn3;
     JSBool doElemOp;
 
 #ifdef DEBUG
-    intN stackDepth = bce->stackDepth;
+    int stackDepth = bce->stackDepth;
     JS_ASSERT(stackDepth != 0);
     JS_ASSERT(pn->isArity(PN_LIST));
     JS_ASSERT(pn->isKind(PNK_RB) || pn->isKind(PNK_RC));
 #endif
 
     if (pn->pn_count == 0) {
         /* Emit a DUP;POP sequence for the decompiler. */
         if (Emit1(cx, bce, JSOP_DUP) < 0 || Emit1(cx, bce, JSOP_POP) < 0)
@@ -3144,33 +3144,33 @@ EmitDestructuringOpsHelper(JSContext *cx
 
         /* Nullary comma node makes a hole in the array destructurer. */
         if (pn3->isKind(PNK_COMMA) && pn3->isArity(PN_NULLARY)) {
             JS_ASSERT(pn->isKind(PNK_RB));
             JS_ASSERT(pn2 == pn3);
             if (Emit1(cx, bce, JSOP_POP) < 0)
                 return JS_FALSE;
         } else {
-            intN depthBefore = bce->stackDepth;
+            int depthBefore = bce->stackDepth;
             if (!EmitDestructuringLHS(cx, bce, pn3, emitOption))
                 return JS_FALSE;
 
             if (emitOption == PushInitialValues) {
                 /*
                  * After '[x,y]' in 'let ([[x,y], z] = o)', the stack is
                  *   | to-be-decompiled-value | x | y |
                  * The goal is:
                  *   | x | y | z |
                  * so emit a pick to produce the intermediate state
                  *   | x | y | to-be-decompiled-value |
                  * before destructuring z. This gives the loop invariant that
                  * the to-be-compiled-value is always on top of the stack.
                  */
                 JS_ASSERT((bce->stackDepth - bce->stackDepth) >= -1);
-                uintN pickDistance = (uintN)((bce->stackDepth + 1) - depthBefore);
+                unsigned pickDistance = (unsigned)((bce->stackDepth + 1) - depthBefore);
                 if (pickDistance > 0) {
                     if (pickDistance > UINT8_MAX) {
                         ReportCompileErrorNumber(cx, bce->tokenStream(), pn3, JSREPORT_ERROR,
                                                  JSMSG_TOO_MANY_LOCALS);
                         return JS_FALSE;
                     }
                     if (Emit2(cx, bce, JSOP_PICK, (jsbytecode)pickDistance) < 0)
                         return false;
@@ -3214,18 +3214,18 @@ OpToDeclType(JSOp op)
  *
  * Also record whether the let head was a group assignment ([x,y] = [a,b])
  * (which implies no SRC_DESTRUCTLET notes).
  */
 class LetNotes
 {
     struct Pair {
         ptrdiff_t dup;
-        uintN index;
-        Pair(ptrdiff_t dup, uintN index) : dup(dup), index(index) {}
+        unsigned index;
+        Pair(ptrdiff_t dup, unsigned index) : dup(dup), index(index) {}
     };
     Vector<Pair> notes;
     bool groupAssign;
     DebugOnly<bool> updateCalled;
 
   public:
     LetNotes(JSContext *cx) : notes(cx), groupAssign(false), updateCalled(false) {}
 
@@ -3237,17 +3237,17 @@ class LetNotes
         JS_ASSERT(notes.empty());
         groupAssign = true;
     }
 
     bool isGroupAssign() const {
         return groupAssign;
     }
 
-    bool append(JSContext *cx, BytecodeEmitter *bce, ptrdiff_t dup, uintN index) {
+    bool append(JSContext *cx, BytecodeEmitter *bce, ptrdiff_t dup, unsigned index) {
         JS_ASSERT(!groupAssign);
         JS_ASSERT(SN_TYPE(bce->notes() + index) == SRC_DESTRUCTLET);
         if (!notes.append(Pair(dup, index)))
             return false;
 
         /*
          * Pessimistically inflate each srcnote. That way, there is no danger
          * of inflation during update() (which would invalidate all indices).
@@ -3280,17 +3280,17 @@ EmitDestructuringOps(JSContext *cx, Byte
     /*
      * If we're called from a variable declaration, help the decompiler by
      * annotating the first JSOP_DUP that EmitDestructuringOpsHelper emits.
      * If the destructuring initialiser is empty, our helper will emit a
      * JSOP_DUP followed by a JSOP_POP for the decompiler.
      */
     if (letNotes) {
         ptrdiff_t index = NewSrcNote2(cx, bce, SRC_DESTRUCTLET, 0);
-        if (index < 0 || !letNotes->append(cx, bce, bce->offset(), (uintN)index))
+        if (index < 0 || !letNotes->append(cx, bce, bce->offset(), (unsigned)index))
             return JS_FALSE;
     } else {
         if (NewSrcNote2(cx, bce, SRC_DESTRUCT, declType) < 0)
             return JS_FALSE;
     }
 
     /*
      * Call our recursive helper to emit the destructuring assignments and
@@ -3302,17 +3302,17 @@ EmitDestructuringOps(JSContext *cx, Byte
 
 static JSBool
 EmitGroupAssignment(JSContext *cx, BytecodeEmitter *bce, JSOp prologOp,
                     ParseNode *lhs, ParseNode *rhs)
 {
     jsuint depth, limit, i, nslots;
     ParseNode *pn;
 
-    depth = limit = (uintN) bce->stackDepth;
+    depth = limit = (unsigned) bce->stackDepth;
     for (pn = rhs->pn_head; pn; pn = pn->pn_next) {
         if (limit == JS_BIT(16)) {
             ReportCompileErrorNumber(cx, bce->tokenStream(), rhs, JSREPORT_ERROR,
                                      JSMSG_ARRAY_INIT_TOO_BIG);
             return JS_FALSE;
         }
 
         /* MaybeEmitGroupAssignment won't call us if rhs is holey. */
@@ -3340,17 +3340,17 @@ EmitGroupAssignment(JSContext *cx, Bytec
         } else {
             if (!EmitDestructuringLHS(cx, bce, pn, InitializeVars))
                 return JS_FALSE;
         }
     }
 
     nslots = limit - depth;
     EMIT_UINT16_IMM_OP(JSOP_POPN, nslots);
-    bce->stackDepth = (uintN) depth;
+    bce->stackDepth = (unsigned) depth;
     return JS_TRUE;
 }
 
 /*
  * Helper called with pop out param initialized to a JSOP_POP* opcode.  If we
  * can emit a group assignment sequence, which results in 0 stack depth delta,
  * we set *pop to JSOP_NOP so callers can veto emitting pn followed by a pop.
  */
@@ -3568,17 +3568,17 @@ EmitVariables(JSContext *cx, BytecodeEmi
                         return false;
                 }
                 if (pn->isOp(JSOP_DEFCONST) &&
                     !DefineCompileTimeConstant(cx, bce, pn2->pn_atom, pn3))
                 {
                     return JS_FALSE;
                 }
 
-                uintN oldflags = bce->flags;
+                unsigned oldflags = bce->flags;
                 bce->flags &= ~TCF_IN_FOR_INIT;
                 if (!EmitTree(cx, bce, pn3))
                     return JS_FALSE;
                 bce->flags |= oldflags & TCF_IN_FOR_INIT;
             } else if (letNotes) {
                 /* JSOP_ENTERLETx expects at least 1 slot to have been pushed. */
                 if (Emit1(cx, bce, JSOP_UNDEFINED) < 0)
                     return JS_FALSE;
@@ -3611,17 +3611,17 @@ EmitVariables(JSContext *cx, BytecodeEmi
                 return false;
         }
 
 #if JS_HAS_DESTRUCTURING
     emit_note_pop:
 #endif
         ptrdiff_t tmp = bce->offset();
         if (noteIndex >= 0) {
-            if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, tmp-off))
+            if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, tmp-off))
                 return JS_FALSE;
         }
         if (!next)
             break;
         off = tmp;
         noteIndex = NewSrcNote2(cx, bce, SRC_PCDELTA, 0);
         if (noteIndex < 0 || Emit1(cx, bce, JSOP_POP) < 0)
             return JS_FALSE;
@@ -3862,17 +3862,17 @@ GettableNoteForNextOp(BytecodeEmitter *b
         offset += SN_DELTA(sn);
     }
     return JS_FALSE;
 }
 #endif
 
 /* Top-level named functions need a nop for decompilation. */
 static JSBool
-EmitFunctionDefNop(JSContext *cx, BytecodeEmitter *bce, uintN index)
+EmitFunctionDefNop(JSContext *cx, BytecodeEmitter *bce, unsigned index)
 {
     return NewSrcNote2(cx, bce, SRC_FUNCDEF, (ptrdiff_t)index) >= 0 &&
            Emit1(cx, bce, JSOP_NOP) >= 0;
 }
 
 static bool
 EmitNewInit(JSContext *cx, BytecodeEmitter *bce, JSProtoKey key, ParseNode *pn)
 {
@@ -4107,17 +4107,17 @@ EmitTry(JSContext *cx, BytecodeEmitter *
      * Since an exception can be thrown at any place inside the try block,
      * we need to restore the stack and the scope chain before we transfer
      * the control to the exception handler.
      *
      * For that we store in a try note associated with the catch or
      * finally block the stack depth upon the try entry. The interpreter
      * uses this depth to properly unwind the stack and the scope chain.
      */
-    intN depth = bce->stackDepth;
+    int depth = bce->stackDepth;
 
     /* Mark try location for decompilation, then emit try block. */
     if (Emit1(cx, bce, JSOP_TRY) < 0)
         return false;
     ptrdiff_t tryStart = bce->offset();
     if (!EmitTree(cx, bce, pn->pn_kid1))
         return false;
     JS_ASSERT(depth == bce->stackDepth);
@@ -4136,17 +4136,17 @@ EmitTry(JSContext *cx, BytecodeEmitter *
     if (EmitBackPatchOp(cx, bce, JSOP_BACKPATCH, &catchJump) < 0)
         return false;
 
     ptrdiff_t tryEnd = bce->offset();
 
     /* If this try has a catch block, emit it. */
     ParseNode *lastCatch = NULL;
     if (ParseNode *pn2 = pn->pn_kid2) {
-        uintN count = 0;    /* previous catch block's population */
+        unsigned count = 0;    /* previous catch block's population */
 
         /*
          * The emitted code for a catch block looks like:
          *
          * [throwing]                          only if 2nd+ catch block
          * [leaveblock]                        only if 2nd+ catch block
          * enterblock                          with SRC_CATCH
          * exception
@@ -4452,24 +4452,24 @@ EmitLet(JSContext *cx, BytecodeEmitter *
     JS_ASSERT(pnLet->isArity(PN_BINARY));
     ParseNode *varList = pnLet->pn_left;
     JS_ASSERT(varList->isArity(PN_LIST));
     ParseNode *letBody = pnLet->pn_right;
     JS_ASSERT(letBody->isLet() && letBody->isKind(PNK_LEXICALSCOPE));
     StaticBlockObject &blockObj = letBody->pn_objbox->object->asStaticBlock();
 
     ptrdiff_t letHeadOffset = bce->offset();
-    intN letHeadDepth = bce->stackDepth;
+    int letHeadDepth = bce->stackDepth;
 
     LetNotes letNotes(cx);
     if (!EmitVariables(cx, bce, varList, PushInitialValues, &letNotes))
         return false;
 
     /* Push storage for hoisted let decls (e.g. 'let (x) { let y }'). */
-    uint32_t alreadyPushed = uintN(bce->stackDepth - letHeadDepth);
+    uint32_t alreadyPushed = unsigned(bce->stackDepth - letHeadDepth);
     uint32_t blockObjCount = blockObj.slotCount();
     for (uint32_t i = alreadyPushed; i < blockObjCount; ++i) {
         /* Tell the decompiler not to print the decl in the let head. */
         if (NewSrcNote(cx, bce, SRC_CONTINUE) < 0)
             return false;
         if (Emit1(cx, bce, JSOP_UNDEFINED) < 0)
             return false;
     }
@@ -4628,17 +4628,17 @@ EmitLexicalScope(JSContext *cx, Bytecode
     ptrdiff_t bodyBegin = bce->offset();
     if (!EmitEnterBlock(cx, bce, pn, JSOP_ENTERBLOCK))
         return false;
 
     if (!EmitTree(cx, bce, pn->pn_expr))
         return false;
 
     if (noteIndex >= 0) {
-        if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, bce->offset() - bodyBegin))
+        if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, bce->offset() - bodyBegin))
             return false;
     }
 
     EMIT_UINT16_IMM_OP(JSOP_LEAVEBLOCK, blockObj.slotCount());
 
     return PopStatementBCE(cx, bce);
 }
 
@@ -4769,17 +4769,17 @@ EmitForIn(JSContext *cx, BytecodeEmitter
     if (letDecl) {
         PushBlockScope(bce, &letStmt, *blockObj, bce->offset());
         letStmt.flags |= SIF_FOR_BLOCK;
         if (!EmitEnterBlock(cx, bce, pn1, JSOP_ENTERLET1))
             return false;
     }
 
     /* Annotate so the decompiler can find the loop-closing jump. */
-    intN noteIndex = NewSrcNote(cx, bce, SRC_FOR_IN);
+    int noteIndex = NewSrcNote(cx, bce, SRC_FOR_IN);
     if (noteIndex < 0)
         return false;
 
     /*
      * Jump down to the loop condition to minimize overhead assuming at
      * least one iteration, as the other loop forms do.
      */
     ptrdiff_t jmp = EmitJump(cx, bce, JSOP_GOTO, 0);
@@ -4787,17 +4787,17 @@ EmitForIn(JSContext *cx, BytecodeEmitter
         return false;
 
     top = bce->offset();
     SET_STATEMENT_TOP(&stmtInfo, top);
     if (EmitLoopHead(cx, bce, NULL) < 0)
         return false;
 
 #ifdef DEBUG
-    intN loopDepth = bce->stackDepth;
+    int loopDepth = bce->stackDepth;
 #endif
 
     /*
      * Emit code to get the next enumeration value and assign it to the
      * left hand side. The JSOP_POP after this assignment is annotated
      * so that the decompiler can distinguish 'for (x in y)' from
      * 'for (var x in y)'.
      */
@@ -4835,20 +4835,20 @@ EmitForIn(JSContext *cx, BytecodeEmitter
         return false;
     if (Emit1(cx, bce, JSOP_MOREITER) < 0)
         return false;
     ptrdiff_t beq = EmitJump(cx, bce, JSOP_IFNE, top - bce->offset());
     if (beq < 0)
         return false;
 
     /* Set the first srcnote offset so we can find the start of the loop body. */
-    if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, tmp2 - jmp))
+    if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, tmp2 - jmp))
         return false;
     /* Set the second srcnote offset so we can find the closing jump. */
-    if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 1, beq - jmp))
+    if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 1, beq - jmp))
         return false;
 
     /* Fixup breaks and continues before JSOP_ITER (and JSOP_LEAVEFORINLET). */
     if (!PopStatementBCE(cx, bce))
         return false;
 
     if (letDecl) {
         if (!PopStatementBCE(cx, bce))
@@ -4915,17 +4915,17 @@ EmitNormalFor(JSContext *cx, BytecodeEmi
     }
 
     /*
      * NB: the SRC_FOR note has offsetBias 1 (JSOP_{NOP,POP}_LENGTH).
      * Use tmp to hold the biased srcnote "top" offset, which differs
      * from the top local variable by the length of the JSOP_GOTO
      * emitted in between tmp and top if this loop has a condition.
      */
-    intN noteIndex = NewSrcNote(cx, bce, SRC_FOR);
+    int noteIndex = NewSrcNote(cx, bce, SRC_FOR);
     if (noteIndex < 0 || Emit1(cx, bce, op) < 0)
         return false;
     ptrdiff_t tmp = bce->offset();
 
     ptrdiff_t jmp = -1;
     if (forHead->pn_kid2) {
         /* Goto the loop condition, which branches back to iterate. */
         jmp = EmitJump(cx, bce, JSOP_GOTO, 0);
@@ -4969,20 +4969,20 @@ EmitNormalFor(JSContext *cx, BytecodeEmi
             return false;
 
         /* Always emit the POP or NOP, to help the decompiler. */
         if (Emit1(cx, bce, op) < 0)
             return false;
 
         /* Restore the absolute line number for source note readers. */
         ptrdiff_t lineno = pn->pn_pos.end.lineno;
-        if (bce->currentLine() != (uintN) lineno) {
+        if (bce->currentLine() != (unsigned) lineno) {
             if (NewSrcNote2(cx, bce, SRC_SETLINE, lineno) < 0)
                 return false;
-            bce->current->currentLine = (uintN) lineno;
+            bce->current->currentLine = (unsigned) lineno;
         }
     }
 
     ptrdiff_t tmp3 = bce->offset();
 
     if (forHead->pn_kid2) {
         /* Fix up the goto from top to target the loop condition. */
         JS_ASSERT(jmp >= 0);
@@ -4990,22 +4990,22 @@ EmitNormalFor(JSContext *cx, BytecodeEmi
         if (!EmitLoopEntry(cx, bce, forHead->pn_kid2))
             return false;
 
         if (!EmitTree(cx, bce, forHead->pn_kid2))
             return false;
     }
 
     /* Set the first note offset so we can find the loop condition. */
-    if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, tmp3 - tmp))
-        return false;
-    if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 1, tmp2 - tmp))
+    if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, tmp3 - tmp))
+        return false;
+    if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 1, tmp2 - tmp))
         return false;
     /* The third note offset helps us find the loop-closing jump. */
-    if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 2, bce->offset() - tmp))
+    if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 2, bce->offset() - tmp))
         return false;
 
     /* If no loop condition, just emit a loop-closing jump. */
     op = forHead->pn_kid2 ? JSOP_IFNE : JSOP_GOTO;
     if (EmitJump(cx, bce, op, top - bce->offset()) < 0)
         return false;
 
     /* Now fixup all breaks and continues. */
@@ -5074,17 +5074,17 @@ EmitFunc(JSContext *cx, BytecodeEmitter 
         bce2->staticLevel = bce->staticLevel + 1;
 
         /* We measured the max scope depth when we parsed the function. */
         if (!EmitFunctionScript(cx, bce2.get(), pn->pn_body))
             return false;
     }
 
     /* Make the function object a literal in the outer script's pool. */
-    uintN index = bce->objectList.index(pn->pn_funbox);
+    unsigned index = bce->objectList.index(pn->pn_funbox);
 
     /* Emit a bytecode pointing to the closure object in its immediate. */
     if (pn->getOp() != JSOP_NOP) {
         if ((pn->pn_funbox->tcflags & TCF_GENEXP_LAMBDA) &&
             NewSrcNote(cx, bce, SRC_GENEXP) < 0)
         {
             return false;
         }
@@ -5113,17 +5113,17 @@ EmitFunc(JSContext *cx, BytecodeEmitter 
                 return false;
             bce->switchToMain();
         }
 
         /* Emit NOP for the decompiler. */
         if (!EmitFunctionDefNop(cx, bce, index))
             return false;
     } else {
-        uintN slot;
+        unsigned slot;
         DebugOnly<BindingKind> kind = bce->bindings.lookup(cx, fun->atom, &slot);
         JS_ASSERT(kind == VARIABLE || kind == CONSTANT);
         JS_ASSERT(index < JS_BIT(20));
         pn->pn_index = index;
         JSOp op = fun->isFlatClosure() ? JSOP_DEFLOCALFUN_FC : JSOP_DEFLOCALFUN;
         if (pn->isClosed() &&
             !bce->callsEval() &&
             !bce->closedVars.append(pn->pn_cookie.slot()))
@@ -5393,17 +5393,17 @@ EmitStatementList(JSContext *cx, Bytecod
         }
     }
 
     for (ParseNode *pn2 = pnchild; pn2; pn2 = pn2->pn_next) {
         if (!EmitTree(cx, bce, pn2))
             return false;
     }
 
-    if (noteIndex >= 0 && !SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, bce->offset() - tmp))
+    if (noteIndex >= 0 && !SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, bce->offset() - tmp))
         return false;
 
     return PopStatementBCE(cx, bce);
 }
 
 static bool
 EmitStatement(JSContext *cx, BytecodeEmitter *bce, ParseNode *pn)
 {
@@ -5551,17 +5551,17 @@ EmitDelete(JSContext *cx, BytecodeEmitte
         } else {
             off = noteIndex = -1;
         }
 
         if (Emit1(cx, bce, JSOP_TRUE) < 0)
             return false;
         if (noteIndex >= 0) {
             ptrdiff_t tmp = bce->offset();
-            if (!SetSrcNoteOffset(cx, bce, uintN(noteIndex), 0, tmp - off))
+            if (!SetSrcNoteOffset(cx, bce, unsigned(noteIndex), 0, tmp - off))
                 return false;
         }
       }
     }
 
     return true;
 }
 
@@ -5620,17 +5620,17 @@ EmitCallOrNew(JSContext *cx, BytecodeEmi
     /* Remember start of callable-object bytecode for decompilation hint. */
     ptrdiff_t off = top;
 
     /*
      * Emit code for each argument in order, then emit the JSOP_*CALL or
      * JSOP_NEW bytecode with a two-byte immediate telling how many args
      * were pushed on the operand stack.
      */
-    uintN oldflags = bce->flags;
+    unsigned oldflags = bce->flags;
     bce->flags &= ~TCF_IN_FOR_INIT;
     for (ParseNode *pn3 = pn2->pn_next; pn3; pn3 = pn3->pn_next) {
         if (!EmitTree(cx, bce, pn3))
             return false;
     }
     bce->flags |= oldflags & TCF_IN_FOR_INIT;
     if (NewSrcNote2(cx, bce, SRC_PCBASE, bce->offset() - off) < 0)
         return false;
@@ -5938,17 +5938,17 @@ EmitObject(JSContext *cx, BytecodeEmitte
     JSObject *obj = NULL;
     if (bce->compileAndGo()) {
         gc::AllocKind kind = GuessObjectGCKind(pn->pn_count);
         obj = NewBuiltinClassInstance(cx, &ObjectClass, kind);
         if (!obj)
             return false;
     }
 
-    uintN methodInits = 0, slowMethodInits = 0;
+    unsigned methodInits = 0, slowMethodInits = 0;
     for (ParseNode *pn2 = pn->pn_head; pn2; pn2 = pn2->pn_next) {
         /* Emit an index for t[2] for later consumption by JSOP_INITELEM. */
         ParseNode *pn3 = pn2->pn_left;
         if (pn3->isKind(PNK_NUMBER)) {
             if (!EmitNumberOp(cx, pn3->pn_dval, bce))
                 return false;
         }
 
@@ -6022,17 +6022,17 @@ EmitObject(JSContext *cx, BytecodeEmitte
     if (obj) {
         /*
          * The object survived and has a predictable shape: update the original
          * bytecode.
          */
         ObjectBox *objbox = bce->parser->newObjectBox(obj);
         if (!objbox)
             return false;
-        uintN index = bce->objectList.index(objbox);
+        unsigned index = bce->objectList.index(objbox);
         MOZ_STATIC_ASSERT(JSOP_NEWINIT_LENGTH == JSOP_NEWOBJECT_LENGTH,
                           "newinit and newobject must have equal length to edit in-place");
         EMIT_UINT32_IN_PLACE(offset, JSOP_NEWOBJECT, uint32_t(index));
     }
 
     return true;
 }
 
@@ -6054,17 +6054,17 @@ EmitArray(JSContext *cx, BytecodeEmitter
             return false;
 
         /*
          * Pass the new array's stack index to the PNK_ARRAYPUSH case via
          * bce->arrayCompDepth, then simply traverse the PNK_FOR node and
          * its kids under pn2 to generate this comprehension.
          */
         JS_ASSERT(bce->stackDepth > 0);
-        uintN saveDepth = bce->arrayCompDepth;
+        unsigned saveDepth = bce->arrayCompDepth;
         bce->arrayCompDepth = (uint32_t) (bce->stackDepth - 1);
         if (!EmitTree(cx, bce, pn->pn_head))
             return false;
         bce->arrayCompDepth = saveDepth;
 
         /* Emit the usual op needed for decompilation. */
         return Emit1(cx, bce, JSOP_ENDINIT) >= 0;
     }
@@ -6113,17 +6113,17 @@ EmitUnary(JSContext *cx, BytecodeEmitter
     /* Unary op, including unary +/-. */
     JSOp op = pn->getOp();
     ParseNode *pn2 = pn->pn_kid;
 
     JS_ASSERT(op != JSOP_XMLNAME);
     if (op == JSOP_TYPEOF && !pn2->isKind(PNK_NAME))
         op = JSOP_TYPEOFEXPR;
 
-    uintN oldflags = bce->flags;
+    unsigned oldflags = bce->flags;
     bce->flags &= ~TCF_IN_FOR_INIT;
     if (!EmitTree(cx, bce, pn2))
         return false;
 
     bce->flags |= oldflags & TCF_IN_FOR_INIT;
     return Emit1(cx, bce, op) >= 0;
 }
 
@@ -6274,17 +6274,17 @@ frontend::EmitTree(JSContext *cx, Byteco
          * from each sub-expression that follows a comma.
          */
         ptrdiff_t off = -1, noteIndex = -1;
         for (ParseNode *pn2 = pn->pn_head; ; pn2 = pn2->pn_next) {
             if (!EmitTree(cx, bce, pn2))
                 return JS_FALSE;
             ptrdiff_t tmp = bce->offset();
             if (noteIndex >= 0) {
-                if (!SetSrcNoteOffset(cx, bce, (uintN)noteIndex, 0, tmp-off))
+                if (!SetSrcNoteOffset(cx, bce, (unsigned)noteIndex, 0, tmp-off))
                     return JS_FALSE;
             }
             if (!pn2->pn_next)
                 break;
             off = tmp;
             noteIndex = NewSrcNote2(cx, bce, SRC_PCDELTA, 0);
             if (noteIndex < 0 ||
                 Emit1(cx, bce, JSOP_POP) < 0) {
@@ -6349,17 +6349,17 @@ frontend::EmitTree(JSContext *cx, Byteco
             while ((pn2 = pn2->pn_next) != NULL) {
                 if (!EmitTree(cx, bce, pn2))
                     return JS_FALSE;
                 if (Emit1(cx, bce, op) < 0)
                     return JS_FALSE;
             }
         } else {
 #if JS_HAS_XML_SUPPORT
-            uintN oldflags;
+            unsigned oldflags;
 
       case PNK_DBLCOLON:
             JS_ASSERT(pn->getOp() != JSOP_XMLNAME);
             if (pn->isArity(PN_NAME)) {
                 if (!EmitTree(cx, bce, pn->expr()))
                     return JS_FALSE;
                 if (!EmitAtomOp(cx, pn, pn->getOp(), bce))
                     return JS_FALSE;
@@ -6391,17 +6391,17 @@ frontend::EmitTree(JSContext *cx, Byteco
 #if JS_HAS_XML_SUPPORT
       case PNK_XMLUNARY:
         if (pn->getOp() == JSOP_XMLNAME) {
             if (!EmitXMLName(cx, pn, JSOP_XMLNAME, bce))
                 return false;
         } else {
             JSOp op = pn->getOp();
             JS_ASSERT(op == JSOP_BINDXMLNAME || op == JSOP_SETXMLNAME);
-            uintN oldflags = bce->flags;
+            unsigned oldflags = bce->flags;
             bce->flags &= ~TCF_IN_FOR_INIT;
             if (!EmitTree(cx, bce, pn->pn_kid))
                 return false;
             bce->flags |= oldflags & TCF_IN_FOR_INIT;
             if (Emit1(cx, bce, op) < 0)
                 return false;
         }
         break;
@@ -6666,23 +6666,23 @@ frontend::EmitTree(JSContext *cx, Byteco
     if (ok && bce->emitLevel == 1) {
         if (!UpdateLineNumberNotes(cx, bce, pn->pn_pos.end.lineno))
             return JS_FALSE;
     }
 
     return ok;
 }
 
-static intN
+static int
 AllocSrcNote(JSContext *cx, BytecodeEmitter *bce)
 {
     jssrcnote *notes = bce->notes();
     jssrcnote *newnotes;
-    uintN index = bce->noteCount();
-    uintN max = bce->noteLimit();
+    unsigned index = bce->noteCount();
+    unsigned max = bce->noteLimit();
 
     if (index == max) {
         size_t newlength;
         if (!notes) {
             JS_ASSERT(!index && !max);
             newlength = SRCNOTE_CHUNK_LENGTH;
             newnotes = (jssrcnote *) cx->malloc_(SRCNOTE_SIZE(newlength));
         } else {
@@ -6694,23 +6694,23 @@ AllocSrcNote(JSContext *cx, BytecodeEmit
             js_ReportOutOfMemory(cx);
             return -1;
         }
         bce->current->notes = newnotes;
         bce->current->noteLimit = newlength;
     }
 
     bce->current->noteCount = index + 1;
-    return (intN)index;
+    return (int)index;
 }
 
-intN
+int
 frontend::NewSrcNote(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type)
 {
-    intN index, n;
+    int index, n;
     jssrcnote *sn;
     ptrdiff_t offset, delta, xdelta;
 
     /*
      * Claim a note slot in bce->notes() by growing it if necessary and then
      * incrementing bce->noteCount().
      */
     index = AllocSrcNote(cx, bce);
@@ -6738,41 +6738,41 @@ frontend::NewSrcNote(JSContext *cx, Byte
     }
 
     /*
      * Initialize type and delta, then allocate the minimum number of notes
      * needed for type's arity.  Usually, we won't need more, but if an offset
      * does take two bytes, SetSrcNoteOffset will grow bce->notes().
      */
     SN_MAKE_NOTE(sn, type, delta);
-    for (n = (intN)js_SrcNoteSpec[type].arity; n > 0; n--) {
+    for (n = (int)js_SrcNoteSpec[type].arity; n > 0; n--) {
         if (NewSrcNote(cx, bce, SRC_NULL) < 0)
             return -1;
     }
     return index;
 }
 
-intN
+int
 frontend::NewSrcNote2(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type, ptrdiff_t offset)
 {
-    intN index;
+    int index;
 
     index = NewSrcNote(cx, bce, type);
     if (index >= 0) {
         if (!SetSrcNoteOffset(cx, bce, index, 0, offset))
             return -1;
     }
     return index;
 }
 
-intN
+int
 frontend::NewSrcNote3(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type, ptrdiff_t offset1,
             ptrdiff_t offset2)
 {
-    intN index;
+    int index;
 
     index = NewSrcNote(cx, bce, type);
     if (index >= 0) {
         if (!SetSrcNoteOffset(cx, bce, index, 0, offset1))
             return -1;
         if (!SetSrcNoteOffset(cx, bce, index, 1, offset2))
             return -1;
     }
@@ -6792,17 +6792,17 @@ GrowSrcNotes(JSContext *cx, BytecodeEmit
     bce->current->noteLimit = newlength;
     return JS_TRUE;
 }
 
 jssrcnote *
 frontend::AddToSrcNoteDelta(JSContext *cx, BytecodeEmitter *bce, jssrcnote *sn, ptrdiff_t delta)
 {
     ptrdiff_t base, limit, newdelta, diff;
-    intN index;
+    int index;
 
     /*
      * Called only from OptimizeSpanDeps and FinishTakingSrcNotes to add to
      * main script note deltas, and only by a small positive amount.
      */
     JS_ASSERT(bce->current == &bce->main);
     JS_ASSERT((unsigned) delta < (unsigned) SN_XDELTA_LIMIT);
 
@@ -6823,30 +6823,30 @@ frontend::AddToSrcNoteDelta(JSContext *c
         memmove(sn + 1, sn, SRCNOTE_SIZE(diff));
         SN_MAKE_XDELTA(sn, delta);
         sn++;
     }
     return sn;
 }
 
 static JSBool
-SetSrcNoteOffset(JSContext *cx, BytecodeEmitter *bce, uintN index, uintN which, ptrdiff_t offset)
+SetSrcNoteOffset(JSContext *cx, BytecodeEmitter *bce, unsigned index, unsigned which, ptrdiff_t offset)
 {
     jssrcnote *sn;
     ptrdiff_t diff;
 
     if (size_t(offset) > SN_MAX_OFFSET) {
         ReportStatementTooLarge(cx, bce);
         return JS_FALSE;
     }
 
     /* Find the offset numbered which (i.e., skip exactly which offsets). */
     sn = &bce->notes()[index];
     JS_ASSERT(SN_TYPE(sn) != SRC_XDELTA);
-    JS_ASSERT((intN) which < js_SrcNoteSpec[SN_TYPE(sn)].arity);
+    JS_ASSERT((int) which < js_SrcNoteSpec[SN_TYPE(sn)].arity);
     for (sn++; which; sn++, which--) {
         if (*sn & SN_3BYTE_OFFSET_FLAG)
             sn += 2;
     }
 
     /*
      * See if the new offset requires three bytes either by being too big or if
      * the offset has already been inflated (in which case, we need to stay big
@@ -6918,17 +6918,17 @@ DumpSrcNoteSizeHist()
  * notes was allocated using the BytecodeEmitter::countFinalSourceNotes()
  * method from BytecodeEmitter.h. SO DON'T CHANGE THIS FUNCTION WITHOUT AT
  * LEAST CHECKING WHETHER BytecodeEmitter::countFinalSourceNotes() NEEDS
  * CORRESPONDING CHANGES!
  */
 JSBool
 frontend::FinishTakingSrcNotes(JSContext *cx, BytecodeEmitter *bce, jssrcnote *notes)
 {
-    uintN prologCount, mainCount, totalCount;
+    unsigned prologCount, mainCount, totalCount;
     ptrdiff_t offset, delta;
     jssrcnote *sn;
 
     JS_ASSERT(bce->current == &bce->main);
 
     prologCount = bce->prolog.noteCount;
     if (prologCount && bce->prolog.currentLine != bce->firstLine) {
         bce->switchToProlog();
@@ -6972,20 +6972,20 @@ frontend::FinishTakingSrcNotes(JSContext
         PodCopy(notes, bce->prolog.notes, prologCount);
     PodCopy(notes + prologCount, bce->main.notes, mainCount);
     SN_MAKE_TERMINATOR(&notes[totalCount]);
 
     return true;
 }
 
 static JSBool
-NewTryNote(JSContext *cx, BytecodeEmitter *bce, JSTryNoteKind kind, uintN stackDepth, size_t start,
+NewTryNote(JSContext *cx, BytecodeEmitter *bce, JSTryNoteKind kind, unsigned stackDepth, size_t start,
            size_t end)
 {
-    JS_ASSERT((uintN)(uint16_t)stackDepth == stackDepth);
+    JS_ASSERT((unsigned)(uint16_t)stackDepth == stackDepth);
     JS_ASSERT(start <= end);
     JS_ASSERT((size_t)(uint32_t)start == start);
     JS_ASSERT((size_t)(uint32_t)end == end);
 
     TryNode *tryNode = cx->tempLifoAlloc().new_<TryNode>();
     if (!tryNode) {
         js_ReportOutOfMemory(cx);
         return JS_FALSE;
@@ -7053,17 +7053,17 @@ frontend::FinishTakingTryNotes(BytecodeE
  * its embeddings, code is precompiled early and re-executed in multiple
  * threads, or using multiple global objects, or both, for efficiency.
  *
  * In such cases, naively following ECMA leads to wrongful sharing of RegExp
  * objects, which makes for collisions on the lastIndex property (especially
  * for global regexps) and on any ad-hoc properties.  Also, __proto__ refers to
  * the pre-compilation prototype, a pigeon-hole problem for instanceof tests.
  */
-uintN
+unsigned
 CGObjectList::index(ObjectBox *objbox)
 {
     JS_ASSERT(!objbox->emitLink);
     objbox->emitLink = lastbox;
     lastbox = objbox;
     return length++;
 }
 
@@ -7120,36 +7120,36 @@ JS_FRIEND_DATA(JSSrcNoteSpec) js_SrcNote
     {"funcdef",         1},
     {"catch",           1},
     {"unused",         -1},
     {"newline",         0},
     {"setline",         1},
     {"xdelta",          0},
 };
 
-JS_FRIEND_API(uintN)
+JS_FRIEND_API(unsigned)
 js_SrcNoteLength(jssrcnote *sn)
 {
-    uintN arity;
+    unsigned arity;
     jssrcnote *base;
 
-    arity = (intN)js_SrcNoteSpec[SN_TYPE(sn)].arity;
+    arity = (int)js_SrcNoteSpec[SN_TYPE(sn)].arity;
     for (base = sn++; arity; sn++, arity--) {
         if (*sn & SN_3BYTE_OFFSET_FLAG)
             sn += 2;
     }
     return sn - base;
 }
 
 JS_FRIEND_API(ptrdiff_t)
-js_GetSrcNoteOffset(jssrcnote *sn, uintN which)
+js_GetSrcNoteOffset(jssrcnote *sn, unsigned which)
 {
     /* Find the offset numbered which (i.e., skip exactly which offsets). */
     JS_ASSERT(SN_TYPE(sn) != SRC_XDELTA);
-    JS_ASSERT((intN) which < js_SrcNoteSpec[SN_TYPE(sn)].arity);
+    JS_ASSERT((int) which < js_SrcNoteSpec[SN_TYPE(sn)].arity);
     for (sn++; which; sn++, which--) {
         if (*sn & SN_3BYTE_OFFSET_FLAG)
             sn += 2;
     }
     if (*sn & SN_3BYTE_OFFSET_FLAG) {
         return (ptrdiff_t)(((uint32_t)(sn[0] & SN_3BYTE_OFFSET_MASK) << 16)
                            | (sn[1] << 8)
                            | sn[2]);
--- a/js/src/frontend/BytecodeEmitter.h
+++ b/js/src/frontend/BytecodeEmitter.h
@@ -332,17 +332,17 @@ struct TreeContext {                /* t
     }
     void setScopeChain(JSObject *scopeChain) {
         JS_ASSERT(!inFunction());
         scopeChain_ = scopeChain;
     }
 
     OwnedAtomDefnMapPtr lexdeps;    /* unresolved lexical name dependencies */
     TreeContext     *parent;        /* enclosing function or global context */
-    uintN           staticLevel;    /* static compilation unit nesting level */
+    unsigned           staticLevel;    /* static compilation unit nesting level */
 
     FunctionBox     *funbox;        /* null or box for function we're compiling
                                        if (flags & TCF_IN_FUNCTION) and not in
                                        js::frontend::CompileFunctionBody */
     FunctionBox     *functionList;
 
     ParseNode       *innermostWith; /* innermost WITH parse node */
 
@@ -367,17 +367,17 @@ struct TreeContext {                /* t
     };
 
     bool init(JSContext *cx, InitBehavior ib = USED_AS_TREE_CONTEXT) {
         if (ib == USED_AS_CODE_GENERATOR)
             return true;
         return decls.init() && lexdeps.ensureMap(cx);
     }
 
-    uintN blockid() { return topStmt ? topStmt->blockid : bodyid; }
+    unsigned blockid() { return topStmt ? topStmt->blockid : bodyid; }
 
     /*
      * True if we are at the topmost level of a entire script or function body.
      * For example, while parsing this code we would encounter f1 and f2 at
      * body level, but we would not encounter f3 or f4 at body level:
      *
      *   function f1() { function f2() { } }
      *   if (cond) { function f3() { if (cond) { function f4() { } } } }
@@ -486,17 +486,17 @@ struct TreeContext {                /* t
  */
 inline bool TreeContext::needStrictChecks() {
     return parser->context->hasStrictOption() || inStrictMode();
 }
 
 namespace frontend {
 
 bool
-SetStaticLevel(TreeContext *tc, uintN staticLevel);
+SetStaticLevel(TreeContext *tc, unsigned staticLevel);
 
 bool
 GenerateBlockId(TreeContext *tc, uint32_t &blockid);
 
 } /* namespace frontend */
 
 struct TryNode {
     JSTryNote       note;
@@ -504,17 +504,17 @@ struct TryNode {
 };
 
 struct CGObjectList {
     uint32_t            length;     /* number of emitted so far objects */
     ObjectBox           *lastbox;   /* last emitted object */
 
     CGObjectList() : length(0), lastbox(NULL) {}
 
-    uintN index(ObjectBox *objbox);
+    unsigned index(ObjectBox *objbox);
     void finish(JSObjectArray *array);
 };
 
 class GCConstList {
     Vector<Value> list;
   public:
     GCConstList(JSContext *cx) : list(cx) {}
     bool append(Value v) { return list.append(v); }
@@ -555,35 +555,35 @@ struct GlobalScope {
 
 struct BytecodeEmitter : public TreeContext
 {
     struct {
         jsbytecode  *base;          /* base of JS bytecode vector */
         jsbytecode  *limit;         /* one byte beyond end of bytecode */
         jsbytecode  *next;          /* pointer to next free bytecode */
         jssrcnote   *notes;         /* source notes, see below */
-        uintN       noteCount;      /* number of source notes so far */
-        uintN       noteLimit;      /* limit number for source notes in notePool */
+        unsigned       noteCount;      /* number of source notes so far */
+        unsigned       noteLimit;      /* limit number for source notes in notePool */
         ptrdiff_t   lastNoteOffset; /* code offset for last source note */
-        uintN       currentLine;    /* line number for tree-based srcnote gen */
+        unsigned       currentLine;    /* line number for tree-based srcnote gen */
     } prolog, main, *current;
 
     OwnedAtomIndexMapPtr atomIndices; /* literals indexed for mapping */
     AtomDefnMapPtr  roLexdeps;
-    uintN           firstLine;      /* first line, for JSScript::NewScriptFromEmitter */
+    unsigned           firstLine;      /* first line, for JSScript::NewScriptFromEmitter */
 
-    intN            stackDepth;     /* current stack depth in script frame */
-    uintN           maxStackDepth;  /* maximum stack depth so far */
+    int            stackDepth;     /* current stack depth in script frame */
+    unsigned           maxStackDepth;  /* maximum stack depth so far */
 
-    uintN           ntrynotes;      /* number of allocated so far try notes */
+    unsigned           ntrynotes;      /* number of allocated so far try notes */
     TryNode         *lastTryNode;   /* the last allocated try node */
 
-    uintN           arrayCompDepth; /* stack depth of array in comprehension */
+    unsigned           arrayCompDepth; /* stack depth of array in comprehension */
 
-    uintN           emitLevel;      /* js::frontend::EmitTree recursion level */
+    unsigned           emitLevel;      /* js::frontend::EmitTree recursion level */
 
     typedef HashMap<JSAtom *, Value> ConstMap;
     ConstMap        constMap;       /* compile time constants */
 
     GCConstList     constList;      /* constants to be included with the script */
 
     CGObjectList    objectList;     /* list of emitted objects */
     CGObjectList    regexpList;     /* list of emitted regexp that will be
@@ -602,17 +602,17 @@ struct BytecodeEmitter : public TreeCont
 
     /* Vectors of pn_cookie slot values. */
     typedef Vector<uint32_t, 8> SlotVector;
     SlotVector      closedArgs;
     SlotVector      closedVars;
 
     uint16_t        typesetCount;   /* Number of JOF_TYPESET opcodes generated */
 
-    BytecodeEmitter(Parser *parser, uintN lineno);
+    BytecodeEmitter(Parser *parser, unsigned lineno);
     bool init(JSContext *cx, TreeContext::InitBehavior ib = USED_AS_CODE_GENERATOR);
 
     JSContext *context() {
         return parser->context;
     }
 
     /*
      * Note that BytecodeEmitters are magic: they own the arena "top-of-stack"
@@ -684,20 +684,20 @@ struct BytecodeEmitter : public TreeCont
     jsbytecode *code(ptrdiff_t offset) const { return base() + offset; }
     ptrdiff_t offset() const { return next() - base(); }
     jsbytecode *prologBase() const { return prolog.base; }
     ptrdiff_t prologOffset() const { return prolog.next - prolog.base; }
     void switchToMain() { current = &main; }
     void switchToProlog() { current = &prolog; }
 
     jssrcnote *notes() const { return current->notes; }
-    uintN noteCount() const { return current->noteCount; }
-    uintN noteLimit() const { return current->noteLimit; }
+    unsigned noteCount() const { return current->noteCount; }
+    unsigned noteLimit() const { return current->noteLimit; }
     ptrdiff_t lastNoteOffset() const { return current->lastNoteOffset; }
-    uintN currentLine() const { return current->currentLine; }
+    unsigned currentLine() const { return current->currentLine; }
 
     inline ptrdiff_t countFinalSourceNotes();
 };
 
 inline BytecodeEmitter *
 TreeContext::asBytecodeEmitter()
 {
     JS_ASSERT(compiling());
@@ -949,23 +949,23 @@ enum SrcNoteType {
 namespace frontend {
 
 /*
  * Append a new source note of the given type (and therefore size) to bce's
  * notes dynamic array, updating bce->noteCount. Return the new note's index
  * within the array pointed at by bce->current->notes. Return -1 if out of
  * memory.
  */
-intN
+int
 NewSrcNote(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type);
 
-intN
+int
 NewSrcNote2(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type, ptrdiff_t offset);
 
-intN
+int
 NewSrcNote3(JSContext *cx, BytecodeEmitter *bce, SrcNoteType type, ptrdiff_t offset1,
                ptrdiff_t offset2);
 
 /*
  * NB: this function can add at most one extra extended delta note.
  */
 jssrcnote *
 AddToSrcNoteDelta(JSContext *cx, BytecodeEmitter *bce, jssrcnote *sn, ptrdiff_t delta);
@@ -1035,17 +1035,17 @@ inline bool LetDataToGroupAssign(ptrdiff
 } /* namespace js */
 
 struct JSSrcNoteSpec {
     const char      *name;      /* name for disassembly/debugging output */
     int8_t          arity;      /* number of offset operands */
 };
 
 extern JS_FRIEND_DATA(JSSrcNoteSpec)  js_SrcNoteSpec[];
-extern JS_FRIEND_API(uintN)         js_SrcNoteLength(jssrcnote *sn);
+extern JS_FRIEND_API(unsigned)         js_SrcNoteLength(jssrcnote *sn);
 
 /*
  * Get and set the offset operand identified by which (0 for the first, etc.).
  */
 extern JS_FRIEND_API(ptrdiff_t)
-js_GetSrcNoteOffset(jssrcnote *sn, uintN which);
+js_GetSrcNoteOffset(jssrcnote *sn, unsigned which);
 
 #endif /* BytecodeEmitter_h__ */
--- a/js/src/frontend/ParseNode.h
+++ b/js/src/frontend/ParseNode.h
@@ -584,17 +584,17 @@ struct ParseNode {
             ParseNode   *kid1;          /* condition, discriminant, etc. */
             ParseNode   *kid2;          /* then-part, case list, etc. */
             ParseNode   *kid3;          /* else-part, default case, etc. */
         } ternary;
         struct {                        /* two kids if binary */
             ParseNode   *left;
             ParseNode   *right;
             Value       *pval;          /* switch case value */
-            uintN       iflags;         /* JSITER_* flags for PNK_FOR node */
+            unsigned       iflags;         /* JSITER_* flags for PNK_FOR node */
         } binary;
         struct {                        /* one kid if unary */
             ParseNode   *kid;
             JSBool      hidden;         /* hidden genexp-induced JSOP_YIELD
                                            or directive prologue member (as
                                            pn_prologue) */
         } unary;
         struct {                        /* name, labeled statement, etc. */
@@ -748,27 +748,27 @@ struct ParseNode {
                                            1. shorthand syntax used, at present
                                               object destructuring ({x,y}) only;
                                            2. code evaluating destructuring
                                               arguments occurs before function
                                               body */
 #define PNX_HOLEY      0x400            /* array initialiser has holes */
 #define PNX_NONCONST   0x800            /* initialiser has non-constants */
 
-    uintN frameLevel() const {
+    unsigned frameLevel() const {
         JS_ASSERT(pn_arity == PN_FUNC || pn_arity == PN_NAME);
         return pn_cookie.level();
     }
 
-    uintN frameSlot() const {
+    unsigned frameSlot() const {
         JS_ASSERT(pn_arity == PN_FUNC || pn_arity == PN_NAME);
         return pn_cookie.slot();
     }
 
-    inline bool test(uintN flag) const;
+    inline bool test(unsigned flag) const;
 
     bool isLet() const          { return test(PND_LET); }
     bool isConst() const        { return test(PND_CONST); }
     bool isInitialized() const  { return test(PND_INITIALIZED); }
     bool isBlockChild() const   { return test(PND_BLOCKCHILD); }
     bool isPlaceholder() const  { return test(PND_PLACEHOLDER); }
     bool isDeoptimized() const  { return test(PND_DEOPTIMIZED); }
     bool isAssigned() const     { return test(PND_ASSIGNED); }
@@ -1475,17 +1475,17 @@ class ParseNodeAllocator {
     void prepareNodeForMutation(ParseNode *pn);
 
   private:
     JSContext *cx;
     ParseNode *freelist;
 };
 
 inline bool
-ParseNode::test(uintN flag) const
+ParseNode::test(unsigned flag) const
 {
     JS_ASSERT(pn_defn || pn_arity == PN_FUNC || pn_arity == PN_NAME);
 #ifdef DEBUG
     if ((flag & (PND_ASSIGNED | PND_FUNARG)) && pn_defn && !(pn_dflags & flag)) {
         for (ParseNode *pn = ((Definition *) this)->dn_uses; pn; pn = pn->pn_link) {
             JS_ASSERT(!pn->pn_defn);
             JS_ASSERT(!(pn->pn_dflags & flag));
         }
--- a/js/src/frontend/Parser.cpp
+++ b/js/src/frontend/Parser.cpp
@@ -133,17 +133,17 @@ Parser::Parser(JSContext *cx, JSPrincipa
 {
     cx->activeCompilations++;
     PodArrayZero(tempFreeList);
     setPrincipals(prin, originPrin);
     JS_ASSERT_IF(cfp, cfp->isScriptFrame());
 }
 
 bool
-Parser::init(const jschar *base, size_t length, const char *filename, uintN lineno,
+Parser::init(const jschar *base, size_t length, const char *filename, unsigned lineno,
              JSVersion version)
 {
     JSContext *cx = context;
     if (!cx->ensureParseMapPool())
         return false;
     tempPoolMark = cx->tempLifoAlloc().mark();
     if (!tokenStream.init(base, length, filename, lineno, version)) {
         cx->tempLifoAlloc().release(tempPoolMark);
@@ -324,17 +324,17 @@ JS_STATIC_ASSERT(UpvarCookie::FREE_LEVEL
 #define ENDS_IN_OTHER   0
 #define ENDS_IN_RETURN  1
 #define ENDS_IN_BREAK   2
 
 static int
 HasFinalReturn(ParseNode *pn)
 {
     ParseNode *pn2, *pn3;
-    uintN rv, rv2, hasDefault;
+    unsigned rv, rv2, hasDefault;
 
     switch (pn->getKind()) {
       case PNK_STATEMENTLIST:
         if (!pn->pn_head)
             return ENDS_IN_OTHER;
         return HasFinalReturn(pn->last());
 
       case PNK_IF:
@@ -436,18 +436,18 @@ HasFinalReturn(ParseNode *pn)
         return HasFinalReturn(pn->pn_right);
 
       default:
         return ENDS_IN_OTHER;
     }
 }
 
 static JSBool
-ReportBadReturn(JSContext *cx, TreeContext *tc, ParseNode *pn, uintN flags, uintN errnum,
-                uintN anonerrnum)
+ReportBadReturn(JSContext *cx, TreeContext *tc, ParseNode *pn, unsigned flags, unsigned errnum,
+                unsigned anonerrnum)
 {
     JSAutoByteString name;
     if (tc->fun()->atom) {
         if (!js_AtomToPrintableString(cx, tc->fun()->atom, &name))
             return false;
     } else {
         errnum = anonerrnum;
     }
@@ -507,17 +507,17 @@ CheckStrictBinding(JSContext *cx, TreeCo
             return false;
         return ReportStrictModeError(cx, TS(tc->parser), tc, pn, JSMSG_BAD_BINDING, bytes.ptr());
     }
 
     return true;
 }
 
 static bool
-ReportBadParameter(JSContext *cx, TreeContext *tc, JSAtom *name, uintN errorNumber)
+ReportBadParameter(JSContext *cx, TreeContext *tc, JSAtom *name, unsigned errorNumber)
 {
     Definition *dn = tc->decls.lookupFirst(name);
     JSAutoByteString bytes;
     return js_AtomToPrintableString(cx, name, &bytes) &&
            ReportStrictModeError(cx, TS(tc->parser), tc, dn, errorNumber, bytes.ptr());
 }
 
 /*
@@ -585,17 +585,17 @@ ParseNode *
 Parser::functionBody(FunctionBodyType type)
 {
     JS_ASSERT(tc->inFunction());
 
     StmtInfo stmtInfo;
     PushStatement(tc, &stmtInfo, STMT_BLOCK, -1);
     stmtInfo.flags = SIF_BODY_BLOCK;
 
-    uintN oldflags = tc->flags;
+    unsigned oldflags = tc->flags;
     tc->flags &= ~(TCF_RETURN_EXPR | TCF_RETURN_VOID);
 
     ParseNode *pn;
     if (type == StatementListBody) {
         pn = statements();
     } else {
         JS_ASSERT(type == ExpressionBody);
         JS_ASSERT(JS_HAS_EXPR_CLOSURES);
@@ -662,17 +662,17 @@ Define(ParseNode *pn, JSAtom *atom, Tree
     if (!dn) {
         dn = tc->lexdeps.lookupDefn(atom);
         foundLexdep = !!dn;
     }
 
     if (dn && dn != pn) {
         ParseNode **pnup = &dn->dn_uses;
         ParseNode *pnu;
-        uintN start = let ? pn->pn_blockid : tc->bodyid;
+        unsigned start = let ? pn->pn_blockid : tc->bodyid;
 
         while ((pnu = *pnup) != NULL && pnu->pn_blockid >= start) {
             JS_ASSERT(pnu->isUsed());
             pnu->pn_lexdef = (Definition *) pn;
             pn->pn_dflags |= pnu->pn_dflags & PND_USE2DEF_FLAGS;
             pnup = &pnu->pn_link;
         }
 
@@ -789,17 +789,17 @@ MakeDefIntoUse(Definition *dn, ParseNode
     dn->setUsed(true);
     dn->pn_lexdef = (Definition *) pn;
     dn->pn_cookie.makeFree();
     dn->pn_dflags &= ~PND_BOUND;
     return dn;
 }
 
 bool
-js::DefineArg(ParseNode *pn, JSAtom *atom, uintN i, TreeContext *tc)
+js::DefineArg(ParseNode *pn, JSAtom *atom, unsigned i, TreeContext *tc)
 {
     /* Flag tc so we don't have to lookup arguments on every use. */
     if (atom == tc->parser->context->runtime->atomState.argumentsAtom)
         tc->flags |= TCF_FUN_PARAM_ARGUMENTS;
 
     /*
      * Make an argument definition node, distinguished by being in tc->decls
      * but having PNK_NAME kind and JSOP_NOP op. Insert it in a PNK_ARGSBODY
@@ -854,22 +854,22 @@ struct BindData {
     ParseNode       *pn;        /* name node for definition processing and
                                    error source coordinates */
     JSOp            op;         /* prolog bytecode or nop */
     Binder          binder;     /* binder, discriminates u */
     union {
         struct {
             VarContext varContext;
             StaticBlockObject *blockObj;
-            uintN   overflow;
+            unsigned   overflow;
         } let;
     };
     bool fresh;
 
-    void initLet(VarContext varContext, StaticBlockObject &blockObj, uintN overflow) {
+    void initLet(VarContext varContext, StaticBlockObject &blockObj, unsigned overflow) {
         this->pn = NULL;
         this->op = JSOP_NOP;
         this->binder = BindLet;
         this->let.varContext = varContext;
         this->let.blockObj = &blockObj;
         this->let.overflow = overflow;
     }
 
@@ -882,17 +882,17 @@ struct BindData {
 static bool
 BindLocalVariable(JSContext *cx, TreeContext *tc, ParseNode *pn, BindingKind kind)
 {
     JS_ASSERT(kind == VARIABLE || kind == CONSTANT);
 
     /* 'arguments' can be bound as a local only via a destructuring formal parameter. */
     JS_ASSERT_IF(pn->pn_atom == cx->runtime->atomState.argumentsAtom, kind == VARIABLE);
 
-    uintN index = tc->bindings.countVars();
+    unsigned index = tc->bindings.countVars();
     if (!tc->bindings.add(cx, pn->pn_atom, kind))
         return false;
 
     pn->pn_cookie.set(tc->staticLevel, index);
     pn->pn_dflags |= PND_BOUND;
     return true;
 }
 
@@ -1017,17 +1017,17 @@ EnterFunction(ParseNode *fn, TreeContext
         return NULL;
 
     return funbox;
 }
 
 static bool
 DeoptimizeUsesWithin(Definition *dn, const TokenPos &pos)
 {
-    uintN ndeoptimized = 0;
+    unsigned ndeoptimized = 0;
 
     for (ParseNode *pnu = dn->dn_uses; pnu; pnu = pnu->pn_link) {
         JS_ASSERT(pnu->isUsed());
         JS_ASSERT(!pnu->isDefn());
         if (pnu->pn_pos.begin >= pos.begin && pnu->pn_pos.end <= pos.end) {
             pnu->pn_dflags |= PND_DEOPTIMIZED;
             ++ndeoptimized;
         }
@@ -1469,17 +1469,17 @@ Parser::functionDef(PropertyName *funNam
         if (bodyLevel && tc->inFunction()) {
             /*
              * Define a local in the outer function so that BindNameToSlot
              * can properly optimize accesses. Note that we need a local
              * variable, not an argument, for the function statement. Thus
              * we add a variable even if a parameter with the given name
              * already exists.
              */
-            uintN index;
+            unsigned index;
             switch (tc->bindings.lookup(context, funName, &index)) {
               case NONE:
               case ARGUMENT:
                 index = tc->bindings.countVars();
                 if (!tc->bindings.addVariable(context, funName))
                     return NULL;
                 /* FALL THROUGH */
 
@@ -1932,17 +1932,17 @@ ReportRedeclaration(JSContext *cx, TreeC
 static JSBool
 BindLet(JSContext *cx, BindData *data, JSAtom *atom, TreeContext *tc)
 {
     ParseNode *pn = data->pn;
     if (!CheckStrictBinding(cx, tc, atom->asPropertyName(), pn))
         return false;
 
     StaticBlockObject &blockObj = *data->let.blockObj;
-    uintN blockCount = blockObj.slotCount();
+    unsigned blockCount = blockObj.slotCount();
     if (blockCount == JS_BIT(16)) {
         ReportCompileErrorNumber(cx, TS(tc->parser), pn,
                                  JSREPORT_ERROR, data->let.overflow);
         return false;
     }
 
     /*
      * For bindings that are hoisted to the beginning of the block/function,
@@ -2371,17 +2371,17 @@ BindVarOrConst(JSContext *cx, BindData *
 
     if (tc->inFunction())
         return BindFunctionLocal(cx, data, mdl, tc);
 
     return BindTopLevelVar(cx, data, pn, tc);
 }
 
 static bool
-MakeSetCall(JSContext *cx, ParseNode *pn, TreeContext *tc, uintN msg)
+MakeSetCall(JSContext *cx, ParseNode *pn, TreeContext *tc, unsigned msg)
 {
     JS_ASSERT(pn->isArity(PN_LIST));
     JS_ASSERT(pn->isOp(JSOP_CALL) || pn->isOp(JSOP_EVAL) ||
               pn->isOp(JSOP_FUNCALL) || pn->isOp(JSOP_FUNAPPLY));
     if (!ReportStrictModeError(cx, TS(tc->parser), tc, pn, msg))
         return false;
 
     ParseNode *pn2 = pn->pn_head;
@@ -2389,17 +2389,17 @@ MakeSetCall(JSContext *cx, ParseNode *pn
         ReportCompileErrorNumber(cx, TS(tc->parser), pn, JSREPORT_ERROR, msg);
         return false;
     }
     pn->pn_xflags |= PNX_SETCALL;
     return true;
 }
 
 static void
-NoteLValue(JSContext *cx, ParseNode *pn, TreeContext *tc, uintN dflag = PND_ASSIGNED)
+NoteLValue(JSContext *cx, ParseNode *pn, TreeContext *tc, unsigned dflag = PND_ASSIGNED)
 {
     if (pn->isUsed()) {
         Definition *dn = pn->pn_lexdef;
 
         /*
          * Save the win of PND_INITIALIZED if we can prove 'var x;' and 'x = y'
          * occur as direct kids of the same block with no forward refs to x.
          */
@@ -3316,17 +3316,17 @@ Parser::forStatement()
 
         /*
          * After the following if-else, pn2 will point to the name or
          * destructuring pattern on in's left. pn1 will point to the decl, if
          * any, else NULL. Note that the "declaration with initializer" case
          * rewrites the loop-head, moving the decl and setting pn1 to NULL.
          */
         pn2 = NULL;
-        uintN dflag = PND_ASSIGNED;
+        unsigned dflag = PND_ASSIGNED;
         if (forDecl) {
             /* Tell EmitVariables that pn1 is part of a for/in. */
             pn1->pn_xflags |= PNX_FORINVAR;
 
             pn2 = pn1->pn_head;
             if ((pn2->isKind(PNK_NAME) && pn2->maybeExpr())
 #if JS_HAS_DESTRUCTURING
                 || pn2->isKind(PNK_ASSIGN)
@@ -4215,17 +4215,17 @@ Parser::statement()
       case TOK_RETURN:
         pn = returnOrYield(false);
         if (!pn)
             return NULL;
         break;
 
       case TOK_LC:
       {
-        uintN oldflags;
+        unsigned oldflags;
 
         oldflags = tc->flags;
         tc->flags = oldflags & ~TCF_HAS_FUNCTION_STMT;
         StmtInfo stmtInfo;
         if (!PushBlocklikeStatement(&stmtInfo, STMT_BLOCK, tc))
             return NULL;
         pn = statements();
         if (!pn)
@@ -4560,17 +4560,17 @@ RelationalTokenToParseNodeKind(const Tok
       default:
         JS_ASSERT(token.type == TOK_GE);
         return PNK_GE;
     }
 }
 
 BEGIN_EXPR_PARSER(relExpr1)
 {
-    uintN inForInitFlag = tc->flags & TCF_IN_FOR_INIT;
+    unsigned inForInitFlag = tc->flags & TCF_IN_FOR_INIT;
 
     /*
      * Uses of the in operator in shiftExprs are always unambiguous,
      * so unset the flag that prohibits recognizing it.
      */
     tc->flags &= ~TCF_IN_FOR_INIT;
 
     ParseNode *pn = shiftExpr1i();
@@ -4676,17 +4676,17 @@ Parser::condExpr1()
     if (!condition || !tokenStream.isCurrentTokenType(TOK_HOOK))
         return condition;
 
     /*
      * Always accept the 'in' operator in the middle clause of a ternary,
      * where it's unambiguous, even if we might be parsing the init of a
      * for statement.
      */
-    uintN oldflags = tc->flags;
+    unsigned oldflags = tc->flags;
     tc->flags &= ~TCF_IN_FOR_INIT;
     ParseNode *thenExpr = assignExpr();
     tc->flags = oldflags | (tc->flags & TCF_FUN_FLAGS);
     if (!thenExpr)
         return NULL;
 
     MUST_MATCH_TOKEN(TOK_COLON, JSMSG_COLON_IN_COND);
 
@@ -5012,21 +5012,21 @@ Parser::unaryExpr()
  *
  * NB: This is not a general tree transplanter -- it knows in particular that
  * the one or more bindings induced by V have not yet been created.
  */
 class CompExprTransplanter {
     ParseNode       *root;
     TreeContext     *tc;
     bool            genexp;
-    uintN           adjust;
-    uintN           funcLevel;
+    unsigned           adjust;
+    unsigned           funcLevel;
 
   public:
-    CompExprTransplanter(ParseNode *pn, TreeContext *tc, bool ge, uintN adj)
+    CompExprTransplanter(ParseNode *pn, TreeContext *tc, bool ge, unsigned adj)
       : root(pn), tc(tc), genexp(ge), adjust(adj), funcLevel(0)
     {
     }
 
     bool transplant(ParseNode *pn);
 };
 
 /*
@@ -5136,32 +5136,32 @@ GenexpGuard::maybeNoteGenerator(ParseNod
  * Any definitions nested within the comprehension expression of a generator
  * expression must move "down" one static level, which of course increases the
  * upvar-frame-skip count.
  */
 static bool
 BumpStaticLevel(ParseNode *pn, TreeContext *tc)
 {
     if (!pn->pn_cookie.isFree()) {
-        uintN level = pn->pn_cookie.level() + 1;
+        unsigned level = pn->pn_cookie.level() + 1;
 
         JS_ASSERT(level >= tc->staticLevel);
         if (level >= UpvarCookie::FREE_LEVEL) {
             JS_ReportErrorNumber(tc->parser->context, js_GetErrorMessage, NULL,
                                  JSMSG_TOO_DEEP, js_function_str);
             return false;
         }
 
         pn->pn_cookie.set(level, pn->pn_cookie.slot());
     }
     return true;
 }
 
 static void
-AdjustBlockId(ParseNode *pn, uintN adjust, TreeContext *tc)
+AdjustBlockId(ParseNode *pn, unsigned adjust, TreeContext *tc)
 {
     JS_ASSERT(pn->isArity(PN_LIST) || pn->isArity(PN_FUNC) || pn->isArity(PN_NAME));
     pn->pn_blockid += adjust;
     if (pn->pn_blockid >= tc->blockidGen)
         tc->blockidGen = pn->pn_blockid + 1;
 }
 
 bool
@@ -5337,20 +5337,20 @@ CompExprTransplanter::transplant(ParseNo
  * an expression in an open parenthesis, parse the tail of the comprehension
  * or generator expression signified by this |for| keyword in context.
  *
  * Return null on failure, else return the top-most parse node for the array
  * comprehension or generator expression, with a unary node as the body of the
  * (possibly nested) for-loop, initialized by |kind, op, kid|.
  */
 ParseNode *
-Parser::comprehensionTail(ParseNode *kid, uintN blockid, bool isGenexp,
+Parser::comprehensionTail(ParseNode *kid, unsigned blockid, bool isGenexp,
                           ParseNodeKind kind, JSOp op)
 {
-    uintN adjust;
+    unsigned adjust;
     ParseNode *pn, *pn2, *pn3, **pnp;
     StmtInfo stmtInfo;
     BindData data;
     TokenKind tt;
 
     JS_ASSERT(tokenStream.currentToken().type == TOK_FOR);
 
     if (kind == PNK_SEMI) {
@@ -5959,17 +5959,17 @@ Parser::memberExpr(JSBool allowCallSynta
     if (tt == TOK_ERROR)
         return NULL;
     return lhs;
 }
 
 ParseNode *
 Parser::bracketedExpr()
 {
-    uintN oldflags;
+    unsigned oldflags;
     ParseNode *pn;
 
     /*
      * Always accept the 'in' operator in a parenthesized expression,
      * where it's unambiguous, even if we might be parsing the init of a
      * for statement.
      */
     oldflags = tc->flags;
@@ -7117,17 +7117,17 @@ Parser::primaryExpr(TokenKind tt, bool a
                 AssignmentType oldAssignType = AssignmentType(index);
                 if ((oldAssignType & assignType) &&
                     (oldAssignType != VALUE || assignType != VALUE || tc->needStrictChecks()))
                 {
                     JSAutoByteString name;
                     if (!js_AtomToPrintableString(context, atom, &name))
                         return NULL;
 
-                    uintN flags = (oldAssignType == VALUE &&
+                    unsigned flags = (oldAssignType == VALUE &&
                                    assignType == VALUE &&
                                    !tc->inStrictMode())
                                   ? JSREPORT_WARNING
                                   : JSREPORT_ERROR;
                     if (!ReportCompileErrorNumber(context, &tokenStream, NULL, flags,
                                                   JSMSG_DUPLICATE_PROPERTY, name.ptr()))
                     {
                         return NULL;
--- a/js/src/frontend/Parser.h
+++ b/js/src/frontend/Parser.h
@@ -96,17 +96,17 @@ struct Parser : private AutoGCRooter
 
     /*
      * Initialize a parser. Parameters are passed on to init tokenStream. The
      * compiler owns the arena pool "tops-of-stack" space above the current
      * JSContext.tempLifoAlloc mark. This means you cannot allocate from
      * tempLifoAlloc and save the pointer beyond the next Parser destructor
      * invocation.
      */
-    bool init(const jschar *base, size_t length, const char *filename, uintN lineno,
+    bool init(const jschar *base, size_t length, const char *filename, unsigned lineno,
               JSVersion version);
 
     void setPrincipals(JSPrincipals *prin, JSPrincipals *originPrin);
 
     const char *getFilename() const { return tokenStream.getFilename(); }
     JSVersion versionWithFlags() const { return tokenStream.versionWithFlags(); }
     JSVersion versionNumber() const { return tokenStream.versionNumber(); }
     bool hasXML() const { return tokenStream.hasXML(); }
@@ -134,17 +134,17 @@ struct Parser : private AutoGCRooter
      */
     JSFunction *newFunction(TreeContext *tc, JSAtom *atom, FunctionSyntaxKind kind);
 
     void trace(JSTracer *trc);
 
     /*
      * Report a parse (compile) error.
      */
-    inline bool reportErrorNumber(ParseNode *pn, uintN flags, uintN errorNumber, ...);
+    inline bool reportErrorNumber(ParseNode *pn, unsigned flags, unsigned errorNumber, ...);
 
   private:
     ParseNode *allocParseNode(size_t size) {
         JS_ASSERT(size == sizeof(ParseNode));
         return static_cast<ParseNode *>(allocator.allocNode());
     }
 
     /*
@@ -243,17 +243,17 @@ struct Parser : private AutoGCRooter
     enum FunctionType { Getter, Setter, Normal };
     bool functionArguments(TreeContext &funtc, FunctionBox *funbox, ParseNode **list);
 
     ParseNode *functionDef(PropertyName *name, FunctionType type, FunctionSyntaxKind kind);
 
     ParseNode *unaryOpExpr(ParseNodeKind kind, JSOp op);
 
     ParseNode *condition();
-    ParseNode *comprehensionTail(ParseNode *kid, uintN blockid, bool isGenexp,
+    ParseNode *comprehensionTail(ParseNode *kid, unsigned blockid, bool isGenexp,
                                  ParseNodeKind kind = PNK_SEMI, JSOp op = JSOP_NOP);
     ParseNode *generatorExpr(ParseNode *kid);
     JSBool argumentList(ParseNode *listNode);
     ParseNode *bracketedExpr();
     ParseNode *letBlock(LetContext letContext);
     ParseNode *returnOrYield(bool useAssignExpr);
     ParseNode *destructuringExpr(BindData *data, TokenKind tt);
 
@@ -279,30 +279,30 @@ struct Parser : private AutoGCRooter
     ParseNode *propertyQualifiedIdentifier();
 #endif /* JS_HAS_XML_SUPPORT */
 
     bool setAssignmentLhsOps(ParseNode *pn, JSOp op);
     bool matchInOrOf(bool *isForOfp);
 };
 
 inline bool
-Parser::reportErrorNumber(ParseNode *pn, uintN flags, uintN errorNumber, ...)
+Parser::reportErrorNumber(ParseNode *pn, unsigned flags, unsigned errorNumber, ...)
 {
     va_list args;
     va_start(args, errorNumber);
     bool result = tokenStream.reportCompileErrorNumberVA(pn, flags, errorNumber, args);
     va_end(args);
     return result;
 }
 
 bool
 CheckStrictParameters(JSContext *cx, TreeContext *tc);
 
 bool
-DefineArg(ParseNode *pn, JSAtom *atom, uintN i, TreeContext *tc);
+DefineArg(ParseNode *pn, JSAtom *atom, unsigned i, TreeContext *tc);
 
 } /* namespace js */
 
 /*
  * Convenience macro to access Parser.tokenStream as a pointer.
  */
 #define TS(p) (&(p)->tokenStream)
 
--- a/js/src/frontend/SemanticAnalysis.cpp
+++ b/js/src/frontend/SemanticAnalysis.cpp
@@ -151,20 +151,20 @@ CleanFunctionList(ParseNodeAllocator *al
  * the funbox tree, so we must use a work queue.
  *
  * Return the minimal "skipmin" for funbox and its siblings. This is the delta
  * between the static level of the bodies of funbox and its peers (which must
  * be funbox->level + 1), and the static level of the nearest upvar among all
  * the upvars contained by funbox and its peers. If there are no upvars, return
  * FREE_STATIC_LEVEL. Thus this function never returns 0.
  */
-static uintN
+static unsigned
 FindFunArgs(FunctionBox *funbox, int level, FunctionBoxQueue *queue)
 {
-    uintN allskipmin = UpvarCookie::FREE_LEVEL;
+    unsigned allskipmin = UpvarCookie::FREE_LEVEL;
 
     do {
         ParseNode *fn = funbox->node;
         JS_ASSERT(fn->isArity(PN_FUNC));
         int fnlevel = level;
 
         /*
          * An eval can leak funbox, functions along its ancestor line, and its
@@ -186,34 +186,34 @@ FindFunArgs(FunctionBox *funbox, int lev
                 kid->node->setFunArg();
         }
 
         /*
          * Compute in skipmin the least distance from fun's static level up to
          * an upvar, whether used directly by fun, or indirectly by a function
          * nested in fun.
          */
-        uintN skipmin = UpvarCookie::FREE_LEVEL;
+        unsigned skipmin = UpvarCookie::FREE_LEVEL;
         ParseNode *pn = fn->pn_body;
 
         if (pn->isKind(PNK_UPVARS)) {
             AtomDefnMapPtr &upvars = pn->pn_names;
             JS_ASSERT(upvars->count() != 0);
 
             for (AtomDefnRange r = upvars->all(); !r.empty(); r.popFront()) {
                 Definition *defn = r.front().value();
                 Definition *lexdep = defn->resolve();
 
                 if (!lexdep->isFreeVar()) {
-                    uintN upvarLevel = lexdep->frameLevel();
+                    unsigned upvarLevel = lexdep->frameLevel();
 
                     if (int(upvarLevel) <= fnlevel)
                         fn->setFunArg();
 
-                    uintN skip = (funbox->level + 1) - upvarLevel;
+                    unsigned skip = (funbox->level + 1) - upvarLevel;
                     if (skip < skipmin)
                         skipmin = skip;
                 }
             }
         }
 
         /*
          * If this function escapes, whether directly (the parser detects such
@@ -227,17 +227,17 @@ FindFunArgs(FunctionBox *funbox, int lev
             fnlevel = int(funbox->level);
         }
 
         /*
          * Now process the current function's children, and recalibrate their
          * cumulative skipmin to be relative to the current static level.
          */
         if (funbox->kids) {
-            uintN kidskipmin = FindFunArgs(funbox->kids, fnlevel, queue);
+            unsigned kidskipmin = FindFunArgs(funbox->kids, fnlevel, queue);
 
             JS_ASSERT(kidskipmin != 0);
             if (kidskipmin != UpvarCookie::FREE_LEVEL) {
                 --kidskipmin;
                 if (kidskipmin != 0 && kidskipmin < skipmin)
                     skipmin = kidskipmin;
             }
         }
@@ -299,18 +299,18 @@ MarkFunArgs(JSContext *cx, FunctionBox *
                         /*
                          * A named function expression will not appear to be a
                          * funarg if it is immediately applied. However, if its
                          * name is used in an escaping function nested within
                          * it, then it must become flagged as a funarg again.
                          * See bug 545980.
                          */
                         afunbox = funbox;
-                        uintN calleeLevel = lexdep->pn_cookie.level();
-                        uintN staticLevel = afunbox->level + 1U;
+                        unsigned calleeLevel = lexdep->pn_cookie.level();
+                        unsigned staticLevel = afunbox->level + 1U;
                         while (staticLevel != calleeLevel) {
                             afunbox = afunbox->parent;
                             --staticLevel;
                         }
                         JS_ASSERT(afunbox->level + 1U == calleeLevel);
                         afunbox->node->setFunArg();
                     } else {
                        afunbox = lexdep->pn_funbox;
@@ -362,17 +362,17 @@ CanFlattenUpvar(Definition *dn, Function
      *  }
      *
      * So long as (1) the initialization in 'var x = 42' dominates all uses of
      * g and (2) x is not reassigned, it is safe to optimize the lambda to a
      * flat closure. Uncommenting the early call to g makes this optimization
      * unsafe (z could name a global setter that calls its argument).
      */
     FunctionBox *afunbox = funbox;
-    uintN dnLevel = dn->frameLevel();
+    unsigned dnLevel = dn->frameLevel();
 
     JS_ASSERT(dnLevel <= funbox->level);
     while (afunbox->level != dnLevel) {
         afunbox = afunbox->parent;
 
         /*
          * NB: afunbox can't be null because we are sure to find a function box
          * whose level == dnLevel before we would try to walk above the root of
@@ -484,17 +484,17 @@ CanFlattenUpvar(Definition *dn, Function
             return false;
     }
     return true;
 }
 
 static void
 FlagHeavyweights(Definition *dn, FunctionBox *funbox, uint32_t *tcflags)
 {
-    uintN dnLevel = dn->frameLevel();
+    unsigned dnLevel = dn->frameLevel();
 
     while ((funbox = funbox->parent) != NULL) {
         /*
          * Notice that funbox->level is the static level of the definition or
          * expression of the function parsed into funbox, not the static level
          * of its body. Therefore we must add 1 to match dn's level to find the
          * funbox whose body contains the dn definition.
          */
--- a/js/src/frontend/TokenStream.cpp
+++ b/js/src/frontend/TokenStream.cpp
@@ -161,17 +161,17 @@ TokenStream::TokenStream(JSContext *cx, 
         JSPRINCIPALS_HOLD(cx, originPrincipals);
 }
 
 #ifdef _MSC_VER
 #pragma warning(pop)
 #endif
 
 bool
-TokenStream::init(const jschar *base, size_t length, const char *fn, uintN ln, JSVersion v)
+TokenStream::init(const jschar *base, size_t length, const char *fn, unsigned ln, JSVersion v)
 {
     filename = fn;
     lineno = ln;
     version = v;
     xml = VersionHasXML(v);
 
     userbuf.init(base, length);
     linebase = base;
@@ -375,19 +375,19 @@ TokenStream::ungetCharIgnoreEOL(int32_t 
 
 /*
  * Return true iff |n| raw characters can be read from this without reading past
  * EOF or a newline, and copy those characters into |cp| if so.  The characters
  * are not consumed: use skipChars(n) to do so after checking that the consumed
  * characters had appropriate values.
  */
 bool
-TokenStream::peekChars(intN n, jschar *cp)
+TokenStream::peekChars(int n, jschar *cp)
 {
-    intN i, j;
+    int i, j;
     int32_t c;
 
     for (i = 0; i < n; i++) {
         c = getCharIgnoreEOL();
         if (c == EOF)
             break;
         if (c == '\n') {
             ungetCharIgnoreEOL(c);
@@ -419,26 +419,26 @@ TokenStream::TokenBuf::findEOL()
             break;
         if (TokenBuf::isRawEOLChar(*tmp++))
             break;
     }
     return tmp;
 }
 
 bool
-TokenStream::reportCompileErrorNumberVA(ParseNode *pn, uintN flags, uintN errorNumber, va_list ap)
+TokenStream::reportCompileErrorNumberVA(ParseNode *pn, unsigned flags, unsigned errorNumber, va_list ap)
 {
     JSErrorReport report;
     char *message;
     jschar *linechars;
     char *linebytes;
     bool warning;
     JSBool ok;
     const TokenPos *tp;
-    uintN i;
+    unsigned i;
 
     if (JSREPORT_IS_STRICT(flags) && !cx->hasStrictOption())
         return true;
 
     warning = JSREPORT_IS_WARNING(flags);
     if (warning && cx->hasWErrorOption()) {
         flags &= ~JSREPORT_WARNING;
         warning = false;
@@ -548,23 +548,23 @@ TokenStream::reportCompileErrorNumberVA(
         cx->free_((void *)report.messageArgs);
     }
 
     return warning;
 }
 
 bool
 js::ReportStrictModeError(JSContext *cx, TokenStream *ts, TreeContext *tc, ParseNode *pn,
-                          uintN errorNumber, ...)
+                          unsigned errorNumber, ...)
 {
     JS_ASSERT(ts || tc);
     JS_ASSERT(cx == ts->getContext());
 
     /* In strict mode code, this is an error, not merely a warning. */
-    uintN flags;
+    unsigned flags;
     if ((ts && ts->isStrictMode()) || (tc && (tc->flags & TCF_STRICT_MODE_CODE))) {
         flags = JSREPORT_ERROR;
     } else {
         if (!cx->hasStrictOption())
             return true;
         flags = JSREPORT_WARNING;
     }
 
@@ -572,18 +572,18 @@ js::ReportStrictModeError(JSContext *cx,
     va_start(ap, errorNumber);
     bool result = ts->reportCompileErrorNumberVA(pn, flags, errorNumber, ap);
     va_end(ap);
 
     return result;
 }
 
 bool
-js::ReportCompileErrorNumber(JSContext *cx, TokenStream *ts, ParseNode *pn, uintN flags,
-                             uintN errorNumber, ...)
+js::ReportCompileErrorNumber(JSContext *cx, TokenStream *ts, ParseNode *pn, unsigned flags,
+                             unsigned errorNumber, ...)
 {
     va_list ap;
 
     /*
      * We don't accept a TreeContext argument, so we can't implement
      * JSREPORT_STRICT_MODE_ERROR here.  Use ReportStrictModeError instead,
      * or do the checks in the caller and pass plain old JSREPORT_ERROR.
      */
@@ -1124,17 +1124,17 @@ CharsMatch(const jschar *p, const char *
     return true;
 }
 
 bool
 TokenStream::getAtLine()
 {
     int c;
     jschar cp[5];
-    uintN i, line, temp;
+    unsigned i, line, temp;
     char filenameBuf[1024];
 
     /*
      * Hack for source filters such as the Mozilla XUL preprocessor:
      * "//@line 123\n" sets the number of the *next* line after the
      * comment to 123.  If we reach here, we've already seen "//".
      */
     if (peekChars(5, cp) && CharsMatch(cp, "@line")) {
@@ -1982,17 +1982,17 @@ TokenStream::getTokenInternal()
             cursor = (cursor - 1) & ntokensMask;
             goto retry;
         }
 
         /*
          * Look for a multi-line comment.
          */
         if (matchChar('*')) {
-            uintN linenoBefore = lineno;
+            unsigned linenoBefore = lineno;
             while ((c = getChar()) != EOF &&
                    !(c == '*' && matchChar('/'))) {
                 /* Ignore all characters until comment close. */
             }
             if (c == EOF) {
                 ReportCompileErrorNumber(cx, this, NULL, JSREPORT_ERROR,
                                          JSMSG_UNTERMINATED_COMMENT);
                 goto error;
@@ -2030,17 +2030,17 @@ TokenStream::getTokenInternal()
                                              JSMSG_UNTERMINATED_REGEXP);
                     goto error;
                 }
                 if (!tokenbuf.append(c))
                     goto error;
             }
 
             RegExpFlag reflags = NoFlags;
-            uintN length = tokenbuf.length() + 1;
+            unsigned length = tokenbuf.length() + 1;
             while (true) {
                 c = peekChar();
                 if (c == 'g' && !(reflags & GlobalFlag))
                     reflags = RegExpFlag(reflags | GlobalFlag);
                 else if (c == 'i' && !(reflags & IgnoreCaseFlag))
                     reflags = RegExpFlag(reflags | IgnoreCaseFlag);
                 else if (c == 'm' && !(reflags & MultilineFlag))
                     reflags = RegExpFlag(reflags | MultilineFlag);
--- a/js/src/frontend/TokenStream.h
+++ b/js/src/frontend/TokenStream.h
@@ -446,17 +446,17 @@ class TokenStream
     /* Unicode separators that are treated as line terminators, in addition to \n, \r */
     enum {
         LINE_SEPARATOR = 0x2028,
         PARA_SEPARATOR = 0x2029
     };
 
     static const size_t ntokens = 4;                /* 1 current + 2 lookahead, rounded
                                                        to power of 2 to avoid divmod by 3 */
-    static const uintN ntokensMask = ntokens - 1;
+    static const unsigned ntokensMask = ntokens - 1;
 
   public:
     typedef Vector<jschar, 32> CharBuffer;
 
     /*
      * To construct a TokenStream, first call the constructor, which is
      * infallible, then call |init|, which can fail. To destroy a TokenStream,
      * first call |close| then call the destructor. If |init| fails, do not call
@@ -467,34 +467,34 @@ class TokenStream
      * after calling |close|.
      */
     TokenStream(JSContext *, JSPrincipals *principals, JSPrincipals *originPrincipals);
 
     /*
      * Create a new token stream from an input buffer.
      * Return false on memory-allocation failure.
      */
-    bool init(const jschar *base, size_t length, const char *filename, uintN lineno,
+    bool init(const jschar *base, size_t length, const char *filename, unsigned lineno,
               JSVersion version);
     ~TokenStream();
 
     /* Accessors. */
     JSContext *getContext() const { return cx; }
     bool onCurrentLine(const TokenPos &pos) const { return lineno == pos.end.lineno; }
     const Token &currentToken() const { return tokens[cursor]; }
     bool isCurrentTokenType(TokenKind type) const {
         return currentToken().type == type;
     }
     bool isCurrentTokenType(TokenKind type1, TokenKind type2) const {
         TokenKind type = currentToken().type;
         return type == type1 || type == type2;
     }
     const CharBuffer &getTokenbuf() const { return tokenbuf; }
     const char *getFilename() const { return filename; }
-    uintN getLineno() const { return lineno; }
+    unsigned getLineno() const { return lineno; }
     /* Note that the version and hasXML can get out of sync via setXML. */
     JSVersion versionNumber() const { return VersionNumber(version); }
     JSVersion versionWithFlags() const { return version; }
     bool hasXML() const { return xml || VersionShouldParseXML(versionNumber()); }
     void setXML(bool enabled) { xml = enabled; }
 
     bool isCurrentTokenEquality() const {
         return TokenKindIsEquality(currentToken().type);
@@ -521,31 +521,31 @@ class TokenStream
 
     bool isStrictMode() { return !!(flags & TSF_STRICT_MODE_CODE); }
     bool isXMLTagMode() { return !!(flags & TSF_XMLTAGMODE); }
     bool isXMLOnlyMode() { return !!(flags & TSF_XMLONLYMODE); }
     bool isUnexpectedEOF() { return !!(flags & TSF_UNEXPECTED_EOF); }
     bool isEOF() const { return !!(flags & TSF_EOF); }
     bool hasOctalCharacterEscape() const { return flags & TSF_OCTAL_CHAR; }
 
-    bool reportCompileErrorNumberVA(ParseNode *pn, uintN flags, uintN errorNumber, va_list ap);
+    bool reportCompileErrorNumberVA(ParseNode *pn, unsigned flags, unsigned errorNumber, va_list ap);
 
   private:
     static JSAtom *atomize(JSContext *cx, CharBuffer &cb);
     bool putIdentInTokenbuf(const jschar *identStart);
 
     /*
      * Enables flags in the associated tokenstream for the object lifetime.
      * Useful for lexically-scoped flag toggles.
      */
     class Flagger {
         TokenStream * const parent;
-        uintN       flags;
+        unsigned       flags;
       public:
-        Flagger(TokenStream *parent, uintN withFlags) : parent(parent), flags(withFlags) {
+        Flagger(TokenStream *parent, unsigned withFlags) : parent(parent), flags(withFlags) {
             parent->flags |= flags;
         }
 
         ~Flagger() { parent->flags &= ~flags; }
     };
     friend class Flagger;
 
     void setFlag(bool enabled, TokenStreamFlags flag) {
@@ -570,17 +570,17 @@ class TokenStream
             JS_ASSERT(tt != TOK_EOL);
             return tt;
         }
 
         return getTokenInternal();
     }
 
     /* Similar, but also sets flags. */
-    TokenKind getToken(uintN withFlags) {
+    TokenKind getToken(unsigned withFlags) {
         Flagger flagger(this, withFlags);
         return getToken();
     }
 
     /*
      * Push the last scanned token back into the stream.
      */
     void ungetToken() {
@@ -594,22 +594,22 @@ class TokenStream
             JS_ASSERT(lookahead == 1);
             return tokens[(cursor + lookahead) & ntokensMask].type;
         }
         TokenKind tt = getTokenInternal();
         ungetToken();
         return tt;
     }
 
-    TokenKind peekToken(uintN withFlags) {
+    TokenKind peekToken(unsigned withFlags) {
         Flagger flagger(this, withFlags);
         return peekToken();
     }
 
-    TokenKind peekTokenSameLine(uintN withFlags = 0) {
+    TokenKind peekTokenSameLine(unsigned withFlags = 0) {
         if (!onCurrentLine(currentToken().pos))
             return TOK_EOL;
 
         if (lookahead != 0) {
             JS_ASSERT(lookahead == 1);
             return tokens[(cursor + lookahead) & ntokensMask].type;
         }
 
@@ -632,17 +632,17 @@ class TokenStream
      */
     bool matchToken(TokenKind tt) {
         if (getToken() == tt)
             return true;
         ungetToken();
         return false;
     }
 
-    bool matchToken(TokenKind tt, uintN withFlags) {
+    bool matchToken(TokenKind tt, unsigned withFlags) {
         Flagger flagger(this, withFlags);
         return matchToken(tt);
     }
 
     void consumeKnownToken(TokenKind tt) {
         JS_ALWAYS_TRUE(matchToken(tt));
     }
 
@@ -767,17 +767,17 @@ class TokenStream
     int32_t getChar();
     int32_t getCharIgnoreEOL();
     void ungetChar(int32_t c);
     void ungetCharIgnoreEOL(int32_t c);
     Token *newToken(ptrdiff_t adjust);
     bool peekUnicodeEscape(int32_t *c);
     bool matchUnicodeEscapeIdStart(int32_t *c);
     bool matchUnicodeEscapeIdent(int32_t *c);
-    bool peekChars(intN n, jschar *cp);
+    bool peekChars(int n, jschar *cp);
     bool getAtLine();
     bool getAtSourceMappingURL();
 
     bool getXMLEntity();
     bool getXMLTextOrTag(TokenKind *ttp, Token **tpp);
     bool getXMLMarkup(TokenKind *ttp, Token **tpp);
 
     bool matchChar(int32_t expect) {
@@ -794,29 +794,29 @@ class TokenStream
     }
 
     int32_t peekChar() {
         int32_t c = getChar();
         ungetChar(c);
         return c;
     }
 
-    void skipChars(intN n) {
+    void skipChars(int n) {
         while (--n >= 0)
             getChar();
     }
 
     void updateLineInfoForEOL();
     void updateFlagsForEOL();
 
     Token               tokens[ntokens];/* circular token buffer */
-    uintN               cursor;         /* index of last parsed token */
-    uintN               lookahead;      /* count of lookahead tokens */
-    uintN               lineno;         /* current line number */
-    uintN               flags;          /* flags -- see above */
+    unsigned               cursor;         /* index of last parsed token */
+    unsigned               lookahead;      /* count of lookahead tokens */
+    unsigned               lineno;         /* current line number */
+    unsigned               flags;          /* flags -- see above */
     const jschar        *linebase;      /* start of current line;  points into userbuf */
     const jschar        *prevLinebase;  /* start of previous line;  NULL if on the first line */
     TokenBuf            userbuf;        /* user input buffer */
     const char          *filename;      /* input filename or null */
     jschar              *sourceMap;     /* source map's filename or null */
     void                *listenerTSData;/* listener data for this TokenStream */
     CharBuffer          tokenbuf;       /* current token string buffer */
     int8_t              oneCharTokens[128];  /* table of one-char tokens */
@@ -856,18 +856,18 @@ IsIdentifier(JSLinearString *str);
 #define JSREPORT_UC 0x100
 
 /*
  * Report a compile-time error by its number. Return true for a warning, false
  * for an error. When pn is not null, use it to report error's location.
  * Otherwise use ts, which must not be null.
  */
 bool
-ReportCompileErrorNumber(JSContext *cx, TokenStream *ts, ParseNode *pn, uintN flags,
-                         uintN errorNumber, ...);
+ReportCompileErrorNumber(JSContext *cx, TokenStream *ts, ParseNode *pn, unsigned flags,
+                         unsigned errorNumber, ...);
 
 /*
  * Report a condition that should elicit a warning with JSOPTION_STRICT,
  * or an error if ts or tc is handling strict mode code.  This function
  * defers to ReportCompileErrorNumber to do the real work.  Either tc
  * or ts may be NULL, if there is no tree context or token stream state
  * whose strictness should affect the report.
  *
@@ -878,17 +878,17 @@ ReportCompileErrorNumber(JSContext *cx, 
  * the ~120 ReportCompileErrorNumber calls to pass the additional
  * argument, even though many of those sites would never use it.  Using
  * ts's TSF_STRICT_MODE_CODE flag instead of tc's would be brittle: at some
  * points ts's flags don't correspond to those of the tc relevant to the
  * error.
  */
 bool
 ReportStrictModeError(JSContext *cx, TokenStream *ts, TreeContext *tc, ParseNode *pn,
-                      uintN errorNumber, ...);
+                      unsigned errorNumber, ...);
 
 } /* namespace js */
 
 extern JS_FRIEND_API(int)
 js_fgets(char *buf, int size, FILE *file);
 
 #ifdef DEBUG
 extern const char *
--- a/js/src/jsanalyze.cpp
+++ b/js/src/jsanalyze.cpp
@@ -121,17 +121,17 @@ ScriptAnalysis::checkAliasedName(JSConte
     if (JSOp(*pc) == JSOP_DEFFUN) {
         JSFunction *fun = script->getFunction(GET_UINT32_INDEX(pc));
         atom = fun->atom;
     } else {
         JS_ASSERT(JOF_TYPE(js_CodeSpec[*pc].format) == JOF_ATOM);
         atom = script->getAtom(GET_UINT32_INDEX(pc));
     }
 
-    uintN index;
+    unsigned index;
     BindingKind kind = script->bindings.lookup(cx, atom, &index);
 
     if (kind == ARGUMENT)
         escapedSlots[ArgSlot(index)] = true;
     else if (kind == VARIABLE)
         escapedSlots[LocalSlot(script, index)] = true;
 }
 
--- a/js/src/jsapi-tests/testBug604087.cpp
+++ b/js/src/jsapi-tests/testBug604087.cpp
@@ -31,24 +31,24 @@ wrap(JSContext *cx, JSObject *toWrap, JS
 
     JSObject *wrapper = toWrap;
     if (!JS_WrapObject(cx, &wrapper))
         return NULL;
     return wrapper;
 }
 
 static JSObject *
-PreWrap(JSContext *cx, JSObject *scope, JSObject *obj, uintN flags)
+PreWrap(JSContext *cx, JSObject *scope, JSObject *obj, unsigned flags)
 {
     JS_GC(cx);
     return obj;
 }
 
 static JSObject *
-Wrap(JSContext *cx, JSObject *obj, JSObject *proto, JSObject *parent, uintN flags)
+Wrap(JSContext *cx, JSObject *obj, JSObject *proto, JSObject *parent, unsigned flags)
 {
     return js::Wrapper::New(cx, obj, proto, parent, &js::CrossCompartmentWrapper::singleton);
 }
 
 BEGIN_TEST(testBug604087)
 {
     JSObject *outerObj = js::Wrapper::New(cx, global, global->getProto(), global,
                                           &OuterWrapper::singleton);
--- a/js/src/jsapi-tests/testChromeBuffer.cpp
+++ b/js/src/jsapi-tests/testChromeBuffer.cpp
@@ -25,17 +25,17 @@ JSClass global_class = {
     JS_ConvertStub,
     JS_FinalizeStub,
     JSCLASS_NO_OPTIONAL_MEMBERS
 };
 
 JS::Anchor<JSObject *> trusted_glob, trusted_fun;
 
 JSBool
-CallTrusted(JSContext *cx, uintN argc, jsval *vp)
+CallTrusted(JSContext *cx, unsigned argc, jsval *vp)
 {
     if (!JS_SaveFrameChain(cx))
         return JS_FALSE;
 
     JSBool ok = JS_FALSE;
     {
         JSAutoEnterCompartment ac;
         ok = ac.enter(cx, trusted_glob.get());
--- a/js/src/jsapi-tests/testClassGetter.cpp
+++ b/js/src/jsapi-tests/testClassGetter.cpp
@@ -11,17 +11,17 @@ int called_test_prop_get;
 
 static JSBool test_prop_get( JSContext *cx, JSObject *obj, jsid id, jsval *vp )
 {
     called_test_prop_get++;
     return JS_TRUE;
 }
 
 static JSBool
-PTest(JSContext* cx, uintN argc, jsval *vp)
+PTest(JSContext* cx, unsigned argc, jsval *vp)
 {
     JSObject *obj = JS_NewObjectForConstructor(cx, vp);
     if (!obj)
         return JS_FALSE;
     JS_SET_RVAL(cx, vp, OBJECT_TO_JSVAL(obj));
     return JS_TRUE;
 }
 
@@ -35,17 +35,17 @@ static JSClass ptestClass = {
     JS_StrictPropertyStub, // set
     JS_EnumerateStub,
     JS_ResolveStub,
     JS_ConvertStub,
     JS_FinalizeStub,
     JSCLASS_NO_OPTIONAL_MEMBERS
 };
 
-static JSBool test_fn(JSContext *cx, uintN argc, jsval *vp)
+static JSBool test_fn(JSContext *cx, unsigned argc, jsval *vp)
 {
     called_test_fn++;
     return JS_TRUE;
 }
 
 static JSFunctionSpec ptestFunctions[] = {
     JS_FS( "test_fn", test_fn, 0, 0 ),
     JS_FS_END
--- a/js/src/jsapi-tests/testContexts.cpp