comparison src/share/vm/oops/methodData.hpp @ 9080:b84fd7d73702

8007288: Additional WB API for compiler's testing Reviewed-by: kvn, vlivanov
author iignatyev
date Tue, 09 Apr 2013 09:54:17 -0700
parents d05ff4bf41b3
children 89e4d67fdd2a 92ef81e2f571
comparison
equal deleted inserted replaced
9079:f67065f02409 9080:b84fd7d73702
1282 // Determine if a given bytecode can have profile information. 1282 // Determine if a given bytecode can have profile information.
1283 static bool bytecode_has_profile(Bytecodes::Code code) { 1283 static bool bytecode_has_profile(Bytecodes::Code code) {
1284 return bytecode_cell_count(code) != no_profile_data; 1284 return bytecode_cell_count(code) != no_profile_data;
1285 } 1285 }
1286 1286
1287 // Perform initialization of a new MethodData* 1287 // reset into original state
1288 void initialize(methodHandle method); 1288 void init();
1289 1289
1290 // My size 1290 // My size
1291 int size_in_bytes() const { return _size; } 1291 int size_in_bytes() const { return _size; }
1292 int size() const { return align_object_size(align_size_up(_size, BytesPerWord)/BytesPerWord); } 1292 int size() const { return align_object_size(align_size_up(_size, BytesPerWord)/BytesPerWord); }
1293 #if INCLUDE_SERVICES 1293 #if INCLUDE_SERVICES
1363 intx eflags() { return _eflags; } 1363 intx eflags() { return _eflags; }
1364 intx arg_local() { return _arg_local; } 1364 intx arg_local() { return _arg_local; }
1365 intx arg_stack() { return _arg_stack; } 1365 intx arg_stack() { return _arg_stack; }
1366 intx arg_returned() { return _arg_returned; } 1366 intx arg_returned() { return _arg_returned; }
1367 uint arg_modified(int a) { ArgInfoData *aid = arg_info(); 1367 uint arg_modified(int a) { ArgInfoData *aid = arg_info();
1368 assert(aid != NULL, "arg_info must be not null");
1368 assert(a >= 0 && a < aid->number_of_args(), "valid argument number"); 1369 assert(a >= 0 && a < aid->number_of_args(), "valid argument number");
1369 return aid->arg_modified(a); } 1370 return aid->arg_modified(a); }
1370 1371
1371 void set_eflags(intx v) { _eflags = v; } 1372 void set_eflags(intx v) { _eflags = v; }
1372 void set_arg_local(intx v) { _arg_local = v; } 1373 void set_arg_local(intx v) { _arg_local = v; }
1373 void set_arg_stack(intx v) { _arg_stack = v; } 1374 void set_arg_stack(intx v) { _arg_stack = v; }
1374 void set_arg_returned(intx v) { _arg_returned = v; } 1375 void set_arg_returned(intx v) { _arg_returned = v; }
1375 void set_arg_modified(int a, uint v) { ArgInfoData *aid = arg_info(); 1376 void set_arg_modified(int a, uint v) { ArgInfoData *aid = arg_info();
1377 assert(aid != NULL, "arg_info must be not null");
1376 assert(a >= 0 && a < aid->number_of_args(), "valid argument number"); 1378 assert(a >= 0 && a < aid->number_of_args(), "valid argument number");
1377
1378 aid->set_arg_modified(a, v); } 1379 aid->set_arg_modified(a, v); }
1379 1380
1380 void clear_escape_info() { _eflags = _arg_local = _arg_stack = _arg_returned = 0; } 1381 void clear_escape_info() { _eflags = _arg_local = _arg_stack = _arg_returned = 0; }
1381 1382
1382 // Location and size of data area 1383 // Location and size of data area