Mercurial > hg > truffle
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 |