Mercurial > hg > graal-jvmci-8
comparison src/share/vm/runtime/deoptimization.cpp @ 23286:dd9cc155639c
Merge with jdk8u66-b17
author | Gilles Duboscq <gilles.m.duboscq@oracle.com> |
---|---|
date | Thu, 07 Jan 2016 17:28:46 +0100 |
parents | 1dc87d090f96 bf41eee321e5 |
children | 3ef45d0a6d77 |
comparison
equal
deleted
inserted
replaced
22786:ac649db7fec4 | 23286:dd9cc155639c |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2015, 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. |
65 #endif | 65 #endif |
66 #ifdef TARGET_ARCH_ppc | 66 #ifdef TARGET_ARCH_ppc |
67 # include "vmreg_ppc.inline.hpp" | 67 # include "vmreg_ppc.inline.hpp" |
68 #endif | 68 #endif |
69 #ifdef COMPILER2 | 69 #ifdef COMPILER2 |
70 #ifdef TARGET_ARCH_MODEL_x86_32 | 70 #if defined AD_MD_HPP |
71 # include AD_MD_HPP | |
72 #elif defined TARGET_ARCH_MODEL_x86_32 | |
71 # include "adfiles/ad_x86_32.hpp" | 73 # include "adfiles/ad_x86_32.hpp" |
72 #endif | 74 #elif defined TARGET_ARCH_MODEL_x86_64 |
73 #ifdef TARGET_ARCH_MODEL_x86_64 | |
74 # include "adfiles/ad_x86_64.hpp" | 75 # include "adfiles/ad_x86_64.hpp" |
75 #endif | 76 #elif defined TARGET_ARCH_MODEL_sparc |
76 #ifdef TARGET_ARCH_MODEL_sparc | |
77 # include "adfiles/ad_sparc.hpp" | 77 # include "adfiles/ad_sparc.hpp" |
78 #endif | 78 #elif defined TARGET_ARCH_MODEL_zero |
79 #ifdef TARGET_ARCH_MODEL_zero | |
80 # include "adfiles/ad_zero.hpp" | 79 # include "adfiles/ad_zero.hpp" |
81 #endif | 80 #elif defined TARGET_ARCH_MODEL_ppc_64 |
82 #ifdef TARGET_ARCH_MODEL_arm | |
83 # include "adfiles/ad_arm.hpp" | |
84 #endif | |
85 #ifdef TARGET_ARCH_MODEL_ppc_32 | |
86 # include "adfiles/ad_ppc_32.hpp" | |
87 #endif | |
88 #ifdef TARGET_ARCH_MODEL_ppc_64 | |
89 # include "adfiles/ad_ppc_64.hpp" | 81 # include "adfiles/ad_ppc_64.hpp" |
90 #endif | 82 #endif |
91 #endif // COMPILER2 | 83 #endif // COMPILER2 |
92 | 84 |
93 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC | 85 PRAGMA_FORMAT_MUTE_WARNINGS_FOR_GCC |
1708 // allows the compiled code to stay around until enough traps are seen, | 1700 // allows the compiled code to stay around until enough traps are seen, |
1709 // and until the compiler gets around to recompiling the trapping method. | 1701 // and until the compiler gets around to recompiling the trapping method. |
1710 // | 1702 // |
1711 // The other actions cause immediate removal of the present code. | 1703 // The other actions cause immediate removal of the present code. |
1712 | 1704 |
1713 bool update_trap_state = true; | 1705 // Traps caused by injected profile shouldn't pollute trap counts. |
1706 bool injected_profile_trap = trap_method->has_injected_profile() && | |
1707 (reason == Reason_intrinsic || reason == Reason_unreached); | |
1708 bool update_trap_state = !injected_profile_trap; | |
1714 bool make_not_entrant = false; | 1709 bool make_not_entrant = false; |
1715 bool make_not_compilable = false; | 1710 bool make_not_compilable = false; |
1716 bool reprofile = false; | 1711 bool reprofile = false; |
1717 switch (action) { | 1712 switch (action) { |
1718 case Action_none: | 1713 case Action_none: |