diff --git a/src/compiler/Ralloc.cc b/src/compiler/Ralloc.cc
index dfb25ab..b170d81 100644
--- a/src/compiler/Ralloc.cc
+++ b/src/compiler/Ralloc.cc
@@ -420,8 +420,9 @@
     /* Figure out the frame size */
     static const uint32_t kAlignMask = kStackAlignment - 1;
     uint32_t size = (cUnit->numCoreSpills + cUnit->numFPSpills +
-                     cUnit->numRegs + cUnit->numOuts + cUnit->numCompilerTemps +
-                     1 /* curMethod* */) * sizeof(uint32_t);
+                     1 /* filler word */ + cUnit->numRegs + cUnit->numOuts +
+                     cUnit->numCompilerTemps + 1 /* curMethod* */)
+                     * sizeof(uint32_t);
     /* Align and set */
     cUnit->frameSize = (size + kAlignMask) & ~(kAlignMask);
 }
diff --git a/src/stack.cc b/src/stack.cc
index e4d1133..83169fd 100644
--- a/src/stack.cc
+++ b/src/stack.cc
@@ -65,6 +65,8 @@
  *     +------------------------+
  *     | fp callee-save spill   |
  *     +------------------------+
+ *     | filler word            |  {For compatibility, if V[locals-1] used as wide
+ *     +------------------------+
  *     | V[locals-1]            |
  *     | V[locals-2]            |
  *     |      .                 |
@@ -90,7 +92,7 @@
                          size_t frame_size, int reg)
 {
   DCHECK_EQ( frame_size & (kStackAlignment - 1), 0U);
-  int num_spills = __builtin_popcount(core_spills) + __builtin_popcount(fp_spills);
+  int num_spills = __builtin_popcount(core_spills) + __builtin_popcount(fp_spills) + 1 /* filler */;
   int num_ins = code_item->ins_size_;
   int num_regs = code_item->registers_size_ - num_ins;
   int locals_start = frame_size - ((num_spills + num_regs) * sizeof(uint32_t));
