Bug 730511: remove obsolete typedefs intN, uintN, r=luke
authorDavid Mandelin <dmandelin@mozilla.com>
Tue, 28 Feb 2012 15:11:11 -0800
changeset 90846 9dde6af30ab201c2fdb0084e298182533eac48ff
parent 90845 20db0f825b05015847ba3acc2f08126406839d5f
child 90847 9b7d19dbb281aa8d6ebde4ee0e7ee1af2b8adbf0
push id783
push userlsblakk@mozilla.com
push dateTue, 24 Apr 2012 17:33:42 +0000
treeherdermozilla-beta@11faed19f136 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersluke
bugs730511
milestone13.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
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;
     {
         JSAutoEnterCompa