comparison src/share/vm/c1/c1_Runtime1.cpp @ 18041:52b4284cb496

Merge with jdk8u20-b26
author Gilles Duboscq <duboscq@ssw.jku.at>
date Wed, 15 Oct 2014 16:02:50 +0200
parents 6b2d8d20ecbd 78bbf4d43a14
children 7848fc12602b
comparison
equal deleted inserted replaced
17606:45d7b2c7029d 18041:52b4284cb496
1 /* 1 /*
2 * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
530 // debugging support 530 // debugging support
531 // tracing 531 // tracing
532 if (TraceExceptions) { 532 if (TraceExceptions) {
533 ttyLocker ttyl; 533 ttyLocker ttyl;
534 ResourceMark rm; 534 ResourceMark rm;
535 tty->print_cr("Exception <%s> (0x%x) thrown in compiled method <%s> at PC " PTR_FORMAT " for thread 0x%x", 535 tty->print_cr("Exception <%s> (" INTPTR_FORMAT ") thrown in compiled method <%s> at PC " INTPTR_FORMAT " for thread " INTPTR_FORMAT "",
536 exception->print_value_string(), (address)exception(), nm->method()->print_value_string(), pc, thread); 536 exception->print_value_string(), p2i((address)exception()), nm->method()->print_value_string(), p2i(pc), p2i(thread));
537 } 537 }
538 // for AbortVMOnException flag 538 // for AbortVMOnException flag
539 NOT_PRODUCT(Exceptions::debug_check_abort(exception)); 539 NOT_PRODUCT(Exceptions::debug_check_abort(exception));
540 540
541 // Clear out the exception oop and pc since looking up an 541 // Clear out the exception oop and pc since looking up an
561 561
562 if (TraceExceptions) { 562 if (TraceExceptions) {
563 ttyLocker ttyl; 563 ttyLocker ttyl;
564 ResourceMark rm; 564 ResourceMark rm;
565 tty->print_cr("Thread " PTR_FORMAT " continuing at PC " PTR_FORMAT " for exception thrown at PC " PTR_FORMAT, 565 tty->print_cr("Thread " PTR_FORMAT " continuing at PC " PTR_FORMAT " for exception thrown at PC " PTR_FORMAT,
566 thread, continuation, pc); 566 p2i(thread), p2i(continuation), p2i(pc));
567 } 567 }
568 568
569 return continuation; 569 return continuation;
570 JRT_END 570 JRT_END
571 571
968 unsigned char* byte_skip = (unsigned char*) (stub_location - 2); 968 unsigned char* byte_skip = (unsigned char*) (stub_location - 2);
969 unsigned char* being_initialized_entry_offset = (unsigned char*) (stub_location - 3); 969 unsigned char* being_initialized_entry_offset = (unsigned char*) (stub_location - 3);
970 address copy_buff = stub_location - *byte_skip - *byte_count; 970 address copy_buff = stub_location - *byte_skip - *byte_count;
971 address being_initialized_entry = stub_location - *being_initialized_entry_offset; 971 address being_initialized_entry = stub_location - *being_initialized_entry_offset;
972 if (TracePatching) { 972 if (TracePatching) {
973 tty->print_cr(" Patching %s at bci %d at address 0x%x (%s)", Bytecodes::name(code), bci, 973 tty->print_cr(" Patching %s at bci %d at address " INTPTR_FORMAT " (%s)", Bytecodes::name(code), bci,
974 instr_pc, (stub_id == Runtime1::access_field_patching_id) ? "field" : "klass"); 974 p2i(instr_pc), (stub_id == Runtime1::access_field_patching_id) ? "field" : "klass");
975 nmethod* caller_code = CodeCache::find_nmethod(caller_frame.pc()); 975 nmethod* caller_code = CodeCache::find_nmethod(caller_frame.pc());
976 assert(caller_code != NULL, "nmethod not found"); 976 assert(caller_code != NULL, "nmethod not found");
977 977
978 // NOTE we use pc() not original_pc() because we already know they are 978 // NOTE we use pc() not original_pc() because we already know they are
979 // identical otherwise we'd have never entered this block of code 979 // identical otherwise we'd have never entered this block of code
1428 stringStream ss1, ss2; 1428 stringStream ss1, ss2;
1429 vframeStream vfst(thread); 1429 vframeStream vfst(thread);
1430 methodHandle inlinee = methodHandle(vfst.method()); 1430 methodHandle inlinee = methodHandle(vfst.method());
1431 inlinee->print_short_name(&ss1); 1431 inlinee->print_short_name(&ss1);
1432 m->print_short_name(&ss2); 1432 m->print_short_name(&ss2);
1433 tty->print_cr("Predicate failed trap in method %s at bci %d inlined in %s at pc %x", ss1.as_string(), vfst.bci(), ss2.as_string(), caller_frame.pc()); 1433 tty->print_cr("Predicate failed trap in method %s at bci %d inlined in %s at pc " INTPTR_FORMAT, ss1.as_string(), vfst.bci(), ss2.as_string(), p2i(caller_frame.pc()));
1434 } 1434 }
1435 1435
1436 1436
1437 Deoptimization::deoptimize_frame(thread, caller_frame.id()); 1437 Deoptimization::deoptimize_frame(thread, caller_frame.id());
1438 1438