< prev index next >

src/share/vm/jfr/jni/jfrJavaCall.cpp

Print this page
rev 9060 : 8216064: -XX:StartFlightRecording:settings= doesn't work properly
Reviewed-by: mgronlun


 167         args.push_long(values(i).get_jlong());
 168         break;
 169       case T_FLOAT:
 170         args.push_float(values(i).get_jfloat());
 171         break;
 172       case T_DOUBLE:
 173         args.push_double(values(i).get_jdouble());
 174         break;
 175       case T_OBJECT:
 176         args.push_oop(Handle(THREAD, (oop)values(i).get_jobject()));
 177         break;
 178       case T_ADDRESS:
 179         args.push_oop(Handle(THREAD, JNIHandles::resolve(values(i).get_jobject())));
 180         break;
 181       default:
 182         ShouldNotReachHere();
 183     }
 184   }
 185 }
 186 
 187 JfrJavaArguments::JfrJavaArguments(JavaValue* result) : _result(result), _klass(NULL), _name(NULL), _signature(NULL), _array_length(0) {
 188   assert(result != NULL, "invariant");
 189 }
 190 
 191 JfrJavaArguments::JfrJavaArguments(JavaValue* result, const char* klass_name, const char* name, const char* signature, TRAPS) :
 192   _result(result),
 193   _klass(NULL),
 194   _name(NULL),
 195   _signature(NULL),
 196   _array_length(0) {
 197   assert(result != NULL, "invariant");
 198   if (klass_name != NULL) {
 199     set_klass(klass_name, CHECK);
 200   }
 201   if (name != NULL) {
 202     set_name(name, CHECK);
 203   }
 204   if (signature != NULL) {
 205     set_signature(signature, THREAD);
 206   }
 207 }
 208 
 209 JfrJavaArguments::JfrJavaArguments(JavaValue* result, const Klass* klass, const Symbol* name, const Symbol* signature) : _result(result),
 210   _klass(NULL),
 211   _name(NULL),
 212   _signature(NULL),
 213   _array_length(0) {
 214   assert(result != NULL, "invariant");
 215   if (klass != NULL) {
 216     set_klass(klass);
 217   }
 218   if (name != NULL) {
 219     set_name(name);
 220   }
 221   if (signature != NULL) {
 222     set_signature(signature);
 223   }
 224 }
 225 
 226 Klass* JfrJavaArguments::klass() const {
 227   assert(_klass != NULL, "invariant");
 228   return const_cast<Klass*>(_klass);
 229 }
 230 
 231 void JfrJavaArguments::set_klass(const char* klass_name, TRAPS) {
 232   assert(klass_name != NULL, "invariant");
 233   Symbol* const k_sym = resolve(klass_name, CHECK);




 167         args.push_long(values(i).get_jlong());
 168         break;
 169       case T_FLOAT:
 170         args.push_float(values(i).get_jfloat());
 171         break;
 172       case T_DOUBLE:
 173         args.push_double(values(i).get_jdouble());
 174         break;
 175       case T_OBJECT:
 176         args.push_oop(Handle(THREAD, (oop)values(i).get_jobject()));
 177         break;
 178       case T_ADDRESS:
 179         args.push_oop(Handle(THREAD, JNIHandles::resolve(values(i).get_jobject())));
 180         break;
 181       default:
 182         ShouldNotReachHere();
 183     }
 184   }
 185 }
 186 
 187 JfrJavaArguments::JfrJavaArguments(JavaValue* result) : _result(result), _klass(NULL), _name(NULL), _signature(NULL), _array_length(-1) {
 188   assert(result != NULL, "invariant");
 189 }
 190 
 191 JfrJavaArguments::JfrJavaArguments(JavaValue* result, const char* klass_name, const char* name, const char* signature, TRAPS) :
 192   _result(result),
 193   _klass(NULL),
 194   _name(NULL),
 195   _signature(NULL),
 196   _array_length(-1) {
 197   assert(result != NULL, "invariant");
 198   if (klass_name != NULL) {
 199     set_klass(klass_name, CHECK);
 200   }
 201   if (name != NULL) {
 202     set_name(name, CHECK);
 203   }
 204   if (signature != NULL) {
 205     set_signature(signature, THREAD);
 206   }
 207 }
 208 
 209 JfrJavaArguments::JfrJavaArguments(JavaValue* result, const Klass* klass, const Symbol* name, const Symbol* signature) : _result(result),
 210   _klass(NULL),
 211   _name(NULL),
 212   _signature(NULL),
 213   _array_length(-1) {
 214   assert(result != NULL, "invariant");
 215   if (klass != NULL) {
 216     set_klass(klass);
 217   }
 218   if (name != NULL) {
 219     set_name(name);
 220   }
 221   if (signature != NULL) {
 222     set_signature(signature);
 223   }
 224 }
 225 
 226 Klass* JfrJavaArguments::klass() const {
 227   assert(_klass != NULL, "invariant");
 228   return const_cast<Klass*>(_klass);
 229 }
 230 
 231 void JfrJavaArguments::set_klass(const char* klass_name, TRAPS) {
 232   assert(klass_name != NULL, "invariant");
 233   Symbol* const k_sym = resolve(klass_name, CHECK);


< prev index next >