Nuking types should be recognized as a recompilation by enclosing monitors, bug 735012. r=dvander
authorBrian Hackett <bhackett1024@gmail.com>
Tue, 10 Apr 2012 12:10:04 -0700
changeset 91334 db71aaa60195df39d781cd375ae898b3a8ed42a0
parent 91333 a44bebea2bc8abe1dbfdc70465f5d2579793570c
child 91335 ab09a3d4692694cbb94468a05847ce78e1498fa2
push id8157
push userbhackett@mozilla.com
push dateTue, 10 Apr 2012 19:10:12 +0000
treeherdermozilla-inbound@db71aaa60195 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs735012
milestone14.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
Nuking types should be recognized as a recompilation by enclosing monitors, bug 735012. r=dvander
js/src/methodjit/Retcon.cpp
--- a/js/src/methodjit/Retcon.cpp
+++ b/js/src/methodjit/Retcon.cpp
@@ -357,16 +357,18 @@ ExpandInlineFrames(JSCompartment *compar
 void
 ClearAllFrames(JSCompartment *compartment)
 {
     if (!compartment || !compartment->hasJaegerCompartment())
         return;
 
     ExpandInlineFrames(compartment);
 
+    compartment->types.recompilations++;
+
     for (VMFrame *f = compartment->jaegerCompartment()->activeFrame();
          f != NULL;
          f = f->previous) {
 
         Recompiler::patchFrame(compartment, f, f->fp()->script());
 
         // Clear ncode values from all frames associated with the VMFrame.
         // Patching the VMFrame's return address will cause all its frames to