349 accessing_klass->get_instanceKlass()->constants());
350 LinkResolver::resolve_field(result, c_pool, _cp_index,
351 Bytecodes::java_code(bc),
352 true, false, KILL_COMPILE_ON_FATAL_(false));
353
354 // update the hit-cache, unless there is a problem with memory scoping:
355 if (accessing_klass->is_shared() || !is_shared()) {
356 if (is_put) {
357 _known_to_link_with_put = accessing_klass;
358 } else {
359 _known_to_link_with_get = accessing_klass;
360 }
361 }
362
363 return true;
364 }
365
366 // ------------------------------------------------------------------
367 // ciField::print
368 void ciField::print() {
369 tty->print("<ciField ");
370 _holder->print_name();
371 tty->print(".");
372 _name->print_symbol();
373 tty->print(" offset=%d type=", _offset);
374 if (_type != NULL) _type->print_name();
375 else tty->print("(reference)");
376 tty->print(" is_constant=%s", bool_to_str(_is_constant));
377 if (_is_constant && is_static()) {
378 tty->print(" constant_value=");
379 _constant_value.print();
380 }
381 tty->print(">");
382 }
383
384 // ------------------------------------------------------------------
385 // ciField::print_name_on
386 //
387 // Print the name of this field
388 void ciField::print_name_on(outputStream* st) {
389 name()->print_symbol_on(st);
390 }
|
349 accessing_klass->get_instanceKlass()->constants());
350 LinkResolver::resolve_field(result, c_pool, _cp_index,
351 Bytecodes::java_code(bc),
352 true, false, KILL_COMPILE_ON_FATAL_(false));
353
354 // update the hit-cache, unless there is a problem with memory scoping:
355 if (accessing_klass->is_shared() || !is_shared()) {
356 if (is_put) {
357 _known_to_link_with_put = accessing_klass;
358 } else {
359 _known_to_link_with_get = accessing_klass;
360 }
361 }
362
363 return true;
364 }
365
366 // ------------------------------------------------------------------
367 // ciField::print
368 void ciField::print() {
369 tty->print("<ciField name=");
370 _holder->print_name();
371 tty->print(".");
372 _name->print_symbol();
373 tty->print(" signature=");
374 _signature->print_symbol();
375 tty->print(" offset=%d type=", _offset);
376 if (_type != NULL) _type->print_name();
377 else tty->print("(reference)");
378 tty->print(" is_constant=%s", bool_to_str(_is_constant));
379 if (_is_constant && is_static()) {
380 tty->print(" constant_value=");
381 _constant_value.print();
382 }
383 tty->print(">");
384 }
385
386 // ------------------------------------------------------------------
387 // ciField::print_name_on
388 //
389 // Print the name of this field
390 void ciField::print_name_on(outputStream* st) {
391 name()->print_symbol_on(st);
392 }
|