Merge.
authorAndreas Gal <gal@mozilla.com>
Sun, 06 Jul 2008 11:19:06 -0700
changeset 17463 fcd3450f9272bba03d987ed0fe90040c2253a801
parent 17462 a53c3daea0e8bce5abd06e13a810b60177cf5ba5 (current diff)
parent 17461 a2e3ea92df6516cb0f4f4f0dd04f49ee0cba5218 (diff)
child 17464 f89cf130bd52037f006c1b950abfebe0e1c6df7f
push id1452
push usershaver@mozilla.com
push dateFri, 22 Aug 2008 00:08:22 +0000
treeherderautoland@d13bb0868596 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone1.9.1a1pre
Merge.
js/src/jsbuiltins.cpp
js/src/jstracer.cpp
js/src/jstracer.h
--- a/js/src/jsbuiltins.cpp
+++ b/js/src/jsbuiltins.cpp
@@ -82,17 +82,17 @@ FASTCALL jsval builtin_BoxDouble(JSConte
 
 FASTCALL jsval builtin_BoxInt32(JSContext* cx, jsint i)
 {
     if (JS_LIKELY(INT_FITS_IN_JSVAL(i)))
         return INT_TO_JSVAL(i);
     return builtin_BoxDouble(cx, (jsdouble)i);
 } 
 
-FASTCALL jsint builtin_UnboxInt32(JSContext* cx, jsval v)
+FASTCALL jsint builtin_UnboxInt32(jsval v)
 {
     if (JS_LIKELY(JSVAL_IS_INT(v)))
         return JSVAL_TO_INT(v);
     jsint i;
     if (JSVAL_IS_DOUBLE(v) && JSDOUBLE_IS_INT(*JSVAL_TO_DOUBLE(v), i))
         return i;
     return INT32_ERROR_COOKIE;
 }
--- a/js/src/jstracer.cpp
+++ b/js/src/jstracer.cpp
@@ -1029,16 +1029,19 @@ TraceRecorder::test_property_cache(JSObj
 
     if (PCVCAP_TAG(entry->vcap == 1))
         return false; // need to look in the prototype, NYI
 
     if (OBJ_SCOPE(obj)->object != obj)
         return false; // need to normalize to the owner of the shared scope, NYI
     
     LIns* shape_ins = lir->insLoadi(map_ins, offsetof(JSScope, shape));
+#ifdef DEBUG
+    lirbuf->names->addName(shape_ins, "shape");
+#endif
     guard(true, lir->ins2i(LIR_eq, shape_ins, OBJ_SCOPE(obj)->shape));
     return true;
 }
 
 void
 TraceRecorder::stobj_set_slot(LIns* obj_ins, unsigned slot, LIns*& dslots_ins, LIns* v_ins)
 {
     if (slot < JS_INITIAL_NSLOTS)
--- a/js/src/jstracer.h
+++ b/js/src/jstracer.h
@@ -429,17 +429,17 @@ public:
     bool JSOP_LENGTH();
     bool JSOP_NEWARRAY();
     bool JSOP_HOLE();
 };
 
 FASTCALL jsdouble builtin_dmod(jsdouble a, jsdouble b);
 FASTCALL jsval builtin_BoxDouble(JSContext* cx, jsdouble d);
 FASTCALL jsval builtin_BoxInt32(JSContext* cx, jsint i);
-FASTCALL jsint builtin_UnboxInt32(JSContext* cx, jsval v);
+FASTCALL jsint builtin_UnboxInt32(jsval v);
 FASTCALL int32 builtin_doubleToInt32(jsdouble d);
 FASTCALL int32 builtin_doubleToUint32(jsdouble d);
 
 /*
  * Trace monitor. Every runtime is associated with a trace monitor that keeps
  * track of loop frequencies for all JavaScript code loaded into that runtime.
  * For this we use a loop table. Adjacent slots in the loop table, one for each
  * loop header in a given script, are requested using lock-free synchronization