equal
deleted
inserted
replaced
59 #include "runtime/arguments.hpp" |
59 #include "runtime/arguments.hpp" |
60 #include "runtime/atomic.hpp" |
60 #include "runtime/atomic.hpp" |
61 #include "runtime/handles.inline.hpp" |
61 #include "runtime/handles.inline.hpp" |
62 #include "runtime/init.hpp" |
62 #include "runtime/init.hpp" |
63 #include "runtime/interfaceSupport.inline.hpp" |
63 #include "runtime/interfaceSupport.inline.hpp" |
|
64 #include "runtime/deoptimization.hpp" |
64 #include "runtime/java.hpp" |
65 #include "runtime/java.hpp" |
65 #include "runtime/javaCalls.hpp" |
66 #include "runtime/javaCalls.hpp" |
66 #include "runtime/jfieldIDWorkaround.hpp" |
67 #include "runtime/jfieldIDWorkaround.hpp" |
67 #include "runtime/jniHandles.inline.hpp" |
68 #include "runtime/jniHandles.inline.hpp" |
68 #include "runtime/orderAccess.hpp" |
69 #include "runtime/orderAccess.hpp" |
1243 is_privileged = true; |
1244 is_privileged = true; |
1244 |
1245 |
1245 javaVFrame *priv = vfst.asJavaVFrame(); // executePrivileged |
1246 javaVFrame *priv = vfst.asJavaVFrame(); // executePrivileged |
1246 |
1247 |
1247 StackValueCollection* locals = priv->locals(); |
1248 StackValueCollection* locals = priv->locals(); |
1248 privileged_context = locals->obj_at(1); |
1249 StackValue* ctx_sv = locals->at(1); // AccessControlContext context |
1249 Handle caller = locals->obj_at(2); |
1250 StackValue* clr_sv = locals->at(2); // Class<?> caller |
|
1251 assert(!ctx_sv->obj_is_scalar_replaced(), "found scalar-replaced object"); |
|
1252 assert(!clr_sv->obj_is_scalar_replaced(), "found scalar-replaced object"); |
|
1253 privileged_context = ctx_sv->get_obj(); |
|
1254 Handle caller = clr_sv->get_obj(); |
1250 |
1255 |
1251 Klass *caller_klass = java_lang_Class::as_Klass(caller()); |
1256 Klass *caller_klass = java_lang_Class::as_Klass(caller()); |
1252 protection_domain = caller_klass->protection_domain(); |
1257 protection_domain = caller_klass->protection_domain(); |
1253 } else { |
1258 } else { |
1254 protection_domain = method->method_holder()->protection_domain(); |
1259 protection_domain = method->method_holder()->protection_domain(); |