comparison src/share/vm/opto/callGenerator.hpp @ 12355:cefad50507d8

Merge with hs25-b53
author Gilles Duboscq <duboscq@ssw.jku.at>
date Fri, 11 Oct 2013 10:38:03 +0200
parents 836a62f43af9 29bdcf12457c
children 096c224171c4
comparison
equal deleted inserted replaced
12058:ccb4f2af2319 12355:cefad50507d8
1 /* 1 /*
2 * Copyright (c) 2000, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2000, 2013, 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.
63 virtual bool is_deferred() const { return false; } 63 virtual bool is_deferred() const { return false; }
64 // is_predicted: Uses an explicit check against a predicted type. 64 // is_predicted: Uses an explicit check against a predicted type.
65 virtual bool is_predicted() const { return false; } 65 virtual bool is_predicted() const { return false; }
66 // is_trap: Does not return to the caller. (E.g., uncommon trap.) 66 // is_trap: Does not return to the caller. (E.g., uncommon trap.)
67 virtual bool is_trap() const { return false; } 67 virtual bool is_trap() const { return false; }
68 // does_virtual_dispatch: Should try inlining as normal method first.
69 virtual bool does_virtual_dispatch() const { return false; }
68 70
69 // is_late_inline: supports conversion of call into an inline 71 // is_late_inline: supports conversion of call into an inline
70 virtual bool is_late_inline() const { return false; } 72 virtual bool is_late_inline() const { return false; }
71 // same but for method handle calls 73 // same but for method handle calls
72 virtual bool is_mh_late_inline() const { return false; } 74 virtual bool is_mh_late_inline() const { return false; }
157 virtual Node* generate_predicate(JVMState* jvms) { return NULL; }; 159 virtual Node* generate_predicate(JVMState* jvms) { return NULL; };
158 160
159 virtual void print_inlining_late(const char* msg) { ShouldNotReachHere(); } 161 virtual void print_inlining_late(const char* msg) { ShouldNotReachHere(); }
160 162
161 static void print_inlining(Compile* C, ciMethod* callee, int inline_level, int bci, const char* msg) { 163 static void print_inlining(Compile* C, ciMethod* callee, int inline_level, int bci, const char* msg) {
162 if (PrintInlining) 164 if (C->print_inlining()) {
163 C->print_inlining(callee, inline_level, bci, msg); 165 C->print_inlining(callee, inline_level, bci, msg);
166 }
164 } 167 }
165 }; 168 };
166 169
167 170
168 //------------------------InlineCallGenerator---------------------------------- 171 //------------------------InlineCallGenerator----------------------------------
258 261
259 public: 262 public:
260 // Because WarmInfo objects live over the entire lifetime of the 263 // Because WarmInfo objects live over the entire lifetime of the
261 // Compile object, they are allocated into the comp_arena, which 264 // Compile object, they are allocated into the comp_arena, which
262 // does not get resource marked or reset during the compile process 265 // does not get resource marked or reset during the compile process
263 void *operator new( size_t x, Compile* C ) { return C->comp_arena()->Amalloc(x); } 266 void *operator new( size_t x, Compile* C ) throw() { return C->comp_arena()->Amalloc(x); }
264 void operator delete( void * ) { } // fast deallocation 267 void operator delete( void * ) { } // fast deallocation
265 268
266 static WarmCallInfo* always_hot(); 269 static WarmCallInfo* always_hot();
267 static WarmCallInfo* always_cold(); 270 static WarmCallInfo* always_cold();
268 271