# HG changeset patch # User Gilles Duboscq # Date 1443608504 -7200 # Node ID d06159da32c7514615da9dc5c776526e0f47e163 # Parent 939d5da65929eaaa5f7c752875b82e8f7389254d 8137192: [JVMCI] GetNextStackFrameTest SIGSEGV @ ScopeDesc::objects()+0x1 Summary: Handle native wrappers diff -r 939d5da65929 -r d06159da32c7 src/share/vm/jvmci/jvmciCompilerToVM.cpp --- a/src/share/vm/jvmci/jvmciCompilerToVM.cpp Fri Oct 02 10:13:56 2015 +0200 +++ b/src/share/vm/jvmci/jvmciCompilerToVM.cpp Wed Sep 30 12:21:44 2015 +0200 @@ -943,13 +943,13 @@ if (initialSkip > 0) { initialSkip --; } else { - GrowableArray* objects = cvf->scope()->objects(); - bool realloc_failures = false; - if (objects != NULL) { - realloc_failures = Deoptimization::realloc_objects(thread, fst.current(), objects, THREAD); - Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects, realloc_failures, false); + ScopeDesc* scope = cvf->scope(); + // native wrapper do not have a scope + if (scope != NULL && scope->objects() != NULL) { + bool realloc_failures = Deoptimization::realloc_objects(thread, fst.current(), scope->objects(), THREAD); + Deoptimization::reassign_fields(fst.current(), fst.register_map(), scope->objects(), realloc_failures, false); - GrowableArray* local_values = cvf->scope()->locals(); + GrowableArray* local_values = scope->locals(); typeArrayHandle array = oopFactory::new_boolArray(local_values->length(), thread); for (int i = 0; i < local_values->length(); i++) { ScopeValue* value = local_values->at(i);