8199736: Define WIN32_LEAN_AND_MEAN before including windows.h
27 #include "oops/method.hpp"
28 #include "utilities/align.hpp"
29 #include "utilities/bytes.hpp"
30
31
32 #if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER < 1600))
33 // Windows AMD64 Compiler Hangs compiling this file
34 // unless optimization is off
35 #ifdef _M_AMD64
36 #pragma optimize ("", off)
37 #endif
38 #endif
39
40
41 bool Bytecodes::_is_initialized = false;
42 const char* Bytecodes::_name [Bytecodes::number_of_codes];
43 BasicType Bytecodes::_result_type [Bytecodes::number_of_codes];
44 s_char Bytecodes::_depth [Bytecodes::number_of_codes];
45 u_char Bytecodes::_lengths [Bytecodes::number_of_codes];
46 Bytecodes::Code Bytecodes::_java_code [Bytecodes::number_of_codes];
47 u_short Bytecodes::_flags [(1<<BitsPerByte)*2];
48
49 #ifdef ASSERT
50 bool Bytecodes::check_method(const Method* method, address bcp) {
51 return method->contains(bcp);
52 }
53 #endif
54
55 bool Bytecodes::check_must_rewrite(Bytecodes::Code code) {
56 assert(can_rewrite(code), "post-check only");
57
58 // Some codes are conditionally rewriting. Look closely at them.
59 switch (code) {
60 case Bytecodes::_aload_0:
61 // Even if RewriteFrequentPairs is turned on,
62 // the _aload_0 code might delay its rewrite until
63 // a following _getfield rewrites itself.
64 return false;
65
66 case Bytecodes::_lookupswitch:
|
27 #include "oops/method.hpp"
28 #include "utilities/align.hpp"
29 #include "utilities/bytes.hpp"
30
31
32 #if defined(WIN32) && (defined(_MSC_VER) && (_MSC_VER < 1600))
33 // Windows AMD64 Compiler Hangs compiling this file
34 // unless optimization is off
35 #ifdef _M_AMD64
36 #pragma optimize ("", off)
37 #endif
38 #endif
39
40
41 bool Bytecodes::_is_initialized = false;
42 const char* Bytecodes::_name [Bytecodes::number_of_codes];
43 BasicType Bytecodes::_result_type [Bytecodes::number_of_codes];
44 s_char Bytecodes::_depth [Bytecodes::number_of_codes];
45 u_char Bytecodes::_lengths [Bytecodes::number_of_codes];
46 Bytecodes::Code Bytecodes::_java_code [Bytecodes::number_of_codes];
47 unsigned short Bytecodes::_flags [(1<<BitsPerByte)*2];
48
49 #ifdef ASSERT
50 bool Bytecodes::check_method(const Method* method, address bcp) {
51 return method->contains(bcp);
52 }
53 #endif
54
55 bool Bytecodes::check_must_rewrite(Bytecodes::Code code) {
56 assert(can_rewrite(code), "post-check only");
57
58 // Some codes are conditionally rewriting. Look closely at them.
59 switch (code) {
60 case Bytecodes::_aload_0:
61 // Even if RewriteFrequentPairs is turned on,
62 // the _aload_0 code might delay its rewrite until
63 // a following _getfield rewrites itself.
64 return false;
65
66 case Bytecodes::_lookupswitch:
|