Bug 1316850 - make sure we don't fall through into endFunction. r=bbouvier
authorLars T Hansen <lhansen@mozilla.com>
Wed, 16 Nov 2016 11:24:34 +0100
changeset 350842 b0f086350aaf4da3625b9dc520c4a0d4f9027625
parent 350841 e9b36809646cecbc04bdb09e6cf86d46cf3d4e93
child 350843 a8873fe7b7c83793a1015555a7b641e0577094c2
push id10621
push userjlund@mozilla.com
push dateMon, 23 Jan 2017 16:02:43 +0000
treeherdermozilla-aurora@dca7b42e6c67 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbbouvier
bugs1316850
milestone53.0a1
Bug 1316850 - make sure we don't fall through into endFunction. r=bbouvier
js/src/wasm/WasmBaselineCompile.cpp
--- a/js/src/wasm/WasmBaselineCompile.cpp
+++ b/js/src/wasm/WasmBaselineCompile.cpp
@@ -2046,16 +2046,19 @@ class BaseCompiler
             ScratchI32 scratch(*this);
             masm.mov(ImmWord(0), scratch);
             for (int32_t i = varLow_ ; i < varHigh_ ; i += 4)
                 storeToFrameI32(scratch, i + 4);
         }
     }
 
     bool endFunction() {
+        // Always branch to outOfLinePrologue_ or returnLabel_.
+        masm.breakpoint();
+
         // Out-of-line prologue.  Assumes that the in-line prologue has
         // been executed and that a frame of size = localSize_ + sizeof(Frame)
         // has been allocated.
 
         masm.bind(&outOfLinePrologue_);
 
         MOZ_ASSERT(maxFramePushed_ >= localSize_);