Mercurial > hg > graal-compiler
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 |