--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Mon Apr 04 14:41:00 2016 -0700
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Mon Apr 04 14:49:19 2016 -0700
@@ -2954,7 +2954,7 @@
Method* moop = fr.interpreter_frame_method();
int max_locals = moop->max_locals();
// Allocate temp buffer, 1 word per local & 2 per active monitor
- int buf_size_words = max_locals + active_monitor_count*2;
+ int buf_size_words = max_locals + active_monitor_count * BasicObjectLock::size();
intptr_t *buf = NEW_C_HEAP_ARRAY(intptr_t,buf_size_words, mtCode);
// Copy the locals. Order is preserved so that loading of longs works.