Mercurial > hg > truffle
comparison src/share/vm/oops/method.cpp @ 20651:600c44255e5f
8056071: compiler/whitebox/IsMethodCompilableTest.java fails with 'method() is not compilable after 3 iterations'
Summary: Always use MDO if valid and always compile trivial methods with C1 if available.
Reviewed-by: kvn, iveresov
author | thartmann |
---|---|
date | Tue, 11 Nov 2014 11:05:41 +0100 |
parents | b12a2a9b05ca |
children | 7848fc12602b |
comparison
equal
deleted
inserted
replaced
20650:f84125b6f69a | 20651:600c44255e5f |
---|---|
556 if (java_code_at(4) != Bytecodes::_areturn && | 556 if (java_code_at(4) != Bytecodes::_areturn && |
557 java_code_at(4) != Bytecodes::_ireturn ) return false; | 557 java_code_at(4) != Bytecodes::_ireturn ) return false; |
558 return true; | 558 return true; |
559 } | 559 } |
560 | 560 |
561 bool Method::is_constant_getter() const { | |
562 int last_index = code_size() - 1; | |
563 // Check if the first 1-3 bytecodes are a constant push | |
564 // and the last bytecode is a return. | |
565 return (2 <= code_size() && code_size() <= 4 && | |
566 Bytecodes::is_const(java_code_at(0)) && | |
567 Bytecodes::length_for(java_code_at(0)) == last_index && | |
568 Bytecodes::is_return(java_code_at(last_index))); | |
569 } | |
561 | 570 |
562 bool Method::is_initializer() const { | 571 bool Method::is_initializer() const { |
563 return name() == vmSymbols::object_initializer_name() || is_static_initializer(); | 572 return name() == vmSymbols::object_initializer_name() || is_static_initializer(); |
564 } | 573 } |
565 | 574 |