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: