< prev index next >

src/hotspot/share/interpreter/bytecodes.cpp

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:
< prev index next >