Mercurial > hg > truffle
comparison src/share/vm/opto/library_call.cpp @ 2405:3d58a4983660
7022998: JSR 292 recursive method handle calls inline themselves infinitely
Reviewed-by: never, kvn
author | twisti |
---|---|
date | Mon, 28 Mar 2011 03:58:07 -0700 |
parents | 0e3ed5a14f73 |
children | 07acc51c1d2a 92add02409c9 |
comparison
equal
deleted
inserted
replaced
2404:b40d4fa697bf | 2405:3d58a4983660 |
---|---|
23 */ | 23 */ |
24 | 24 |
25 #include "precompiled.hpp" | 25 #include "precompiled.hpp" |
26 #include "classfile/systemDictionary.hpp" | 26 #include "classfile/systemDictionary.hpp" |
27 #include "classfile/vmSymbols.hpp" | 27 #include "classfile/vmSymbols.hpp" |
28 #include "compiler/compileBroker.hpp" | |
28 #include "compiler/compileLog.hpp" | 29 #include "compiler/compileLog.hpp" |
29 #include "oops/objArrayKlass.hpp" | 30 #include "oops/objArrayKlass.hpp" |
30 #include "opto/addnode.hpp" | 31 #include "opto/addnode.hpp" |
31 #include "opto/callGenerator.hpp" | 32 #include "opto/callGenerator.hpp" |
32 #include "opto/cfgnode.hpp" | 33 #include "opto/cfgnode.hpp" |
386 tty->print_cr("Intrinsic %s", str); | 387 tty->print_cr("Intrinsic %s", str); |
387 } | 388 } |
388 #endif | 389 #endif |
389 if (kit.try_to_inline()) { | 390 if (kit.try_to_inline()) { |
390 if (PrintIntrinsics || PrintInlining NOT_PRODUCT( || PrintOptoInlining) ) { | 391 if (PrintIntrinsics || PrintInlining NOT_PRODUCT( || PrintOptoInlining) ) { |
391 tty->print("Inlining intrinsic %s%s at bci:%d in", | 392 CompileTask::print_inlining(kit.callee(), jvms->depth() - 1, kit.bci(), is_virtual() ? "(intrinsic, virtual)" : "(intrinsic)"); |
392 vmIntrinsics::name_at(intrinsic_id()), | |
393 (is_virtual() ? " (virtual)" : ""), kit.bci()); | |
394 kit.caller()->print_short_name(tty); | |
395 tty->print_cr(" (%d bytes)", kit.caller()->code_size()); | |
396 } | 393 } |
397 C->gather_intrinsic_statistics(intrinsic_id(), is_virtual(), Compile::_intrinsic_worked); | 394 C->gather_intrinsic_statistics(intrinsic_id(), is_virtual(), Compile::_intrinsic_worked); |
398 if (C->log()) { | 395 if (C->log()) { |
399 C->log()->elem("intrinsic id='%s'%s nodes='%d'", | 396 C->log()->elem("intrinsic id='%s'%s nodes='%d'", |
400 vmIntrinsics::name_at(intrinsic_id()), | 397 vmIntrinsics::name_at(intrinsic_id()), |