diff -r 2fecd8bdc8e9 -r 9fc139ad74b5 hotspot/src/share/vm/runtime/sharedRuntime.cpp --- 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.