Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/sharedRuntime.cpp @ 4872:aa3d708d67c4
7141200: log some interesting information in ring buffers for crashes
Reviewed-by: kvn, jrose, kevinw, brutisso, twisti, jmasa
author | never |
---|---|
date | Wed, 01 Feb 2012 07:59:01 -0800 |
parents | 15d394228cfa |
children | 0382d2b469b2 |
comparison
equal
deleted
inserted
replaced
4871:f067b4e0e04b | 4872:aa3d708d67c4 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, 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. |
884 assert(exception_kind == IMPLICIT_NULL || exception_kind == IMPLICIT_DIVIDE_BY_ZERO, "wrong implicit exception kind"); | 884 assert(exception_kind == IMPLICIT_NULL || exception_kind == IMPLICIT_DIVIDE_BY_ZERO, "wrong implicit exception kind"); |
885 | 885 |
886 // for AbortVMOnException flag | 886 // for AbortVMOnException flag |
887 NOT_PRODUCT(Exceptions::debug_check_abort("java.lang.NullPointerException")); | 887 NOT_PRODUCT(Exceptions::debug_check_abort("java.lang.NullPointerException")); |
888 if (exception_kind == IMPLICIT_NULL) { | 888 if (exception_kind == IMPLICIT_NULL) { |
889 Events::log("Implicit null exception at " INTPTR_FORMAT " to " INTPTR_FORMAT, pc, target_pc); | 889 Events::log_exception(thread, "Implicit null exception at " INTPTR_FORMAT " to " INTPTR_FORMAT, pc, target_pc); |
890 } else { | 890 } else { |
891 Events::log("Implicit division by zero exception at " INTPTR_FORMAT " to " INTPTR_FORMAT, pc, target_pc); | 891 Events::log_exception(thread, "Implicit division by zero exception at " INTPTR_FORMAT " to " INTPTR_FORMAT, pc, target_pc); |
892 } | 892 } |
893 return target_pc; | 893 return target_pc; |
894 } | 894 } |
895 | 895 |
896 ShouldNotReachHere(); | 896 ShouldNotReachHere(); |
1539 // so no update to the caller is needed. | 1539 // so no update to the caller is needed. |
1540 | 1540 |
1541 if (caller.is_compiled_frame() && !caller.is_deoptimized_frame()) { | 1541 if (caller.is_compiled_frame() && !caller.is_deoptimized_frame()) { |
1542 | 1542 |
1543 address pc = caller.pc(); | 1543 address pc = caller.pc(); |
1544 Events::log("update call-site at pc " INTPTR_FORMAT, pc); | |
1545 | 1544 |
1546 // Default call_addr is the location of the "basic" call. | 1545 // Default call_addr is the location of the "basic" call. |
1547 // Determine the address of the call we a reresolving. With | 1546 // Determine the address of the call we a reresolving. With |
1548 // Inline Caches we will always find a recognizable call. | 1547 // Inline Caches we will always find a recognizable call. |
1549 // With Inline Caches disabled we may or may not find a | 1548 // With Inline Caches disabled we may or may not find a |