< prev index next >

src/hotspot/share/c1/c1_LIRAssembler.hpp

BarrierSetC1

0 /*                                                                                                                                   
1  * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.                                                      
2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.                                                                     
3  *                                                                                                                                   
4  * This code is free software; you can redistribute it and/or modify it                                                              
5  * under the terms of the GNU General Public License version 2 only, as                                                              
6  * published by the Free Software Foundation.                                                                                        
7  *                                                                                                                                   
8  * This code is distributed in the hope that it will be useful, but WITHOUT                                                          
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or                                                             
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License                                                             
11  * version 2 for more details (a copy is included in the LICENSE file that                                                           
12  * accompanied this code).                                                                                                           
13  *                                                                                                                                   
14  * You should have received a copy of the GNU General Public License version                                                         
15  * 2 along with this work; if not, write to the Free Software Foundation,                                                            
16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.                                                                     
17  *                                                                                                                                   
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA                                                           
19  * or visit www.oracle.com if you need additional information or have any                                                            
20  * questions.                                                                                                                        

0 /*
1  * Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3  *
4  * This code is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License version 2 only, as
6  * published by the Free Software Foundation.
7  *
8  * This code is distributed in the hope that it will be useful, but WITHOUT
9  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
10  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
11  * version 2 for more details (a copy is included in the LICENSE file that
12  * accompanied this code).
13  *
14  * You should have received a copy of the GNU General Public License version
15  * 2 along with this work; if not, write to the Free Software Foundation,
16  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
17  *
18  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
19  * or visit www.oracle.com if you need additional information or have any
20  * questions.

241   void negate(LIR_Opr left, LIR_Opr dest);                                                                                           
242   void leal(LIR_Opr left, LIR_Opr dest);                                                                                             
243 
244   void rt_call(LIR_Opr result, address dest, const LIR_OprList* args, LIR_Opr tmp, CodeEmitInfo* info);                              
245 
246   void membar();                                                                                                                     
247   void membar_acquire();                                                                                                             
248   void membar_release();                                                                                                             
249   void membar_loadload();                                                                                                            
250   void membar_storestore();                                                                                                          
251   void membar_loadstore();                                                                                                           
252   void membar_storeload();                                                                                                           
253   void on_spin_wait();                                                                                                               
254   void get_thread(LIR_Opr result);                                                                                                   
255 
256   void verify_oop_map(CodeEmitInfo* info);                                                                                           
257 
258   void atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp);                                               
259 
260 #include CPU_HEADER(c1_LIRAssembler)                                                                                                 
                                                                                                                                     
                                                                                                                                     
261 
262   static int call_stub_size() {                                                                                                      
263     if (UseAOT) {                                                                                                                    
264       return _call_stub_size + _call_aot_stub_size;                                                                                  
265     } else {                                                                                                                         
266       return _call_stub_size;                                                                                                        
267     }                                                                                                                                
268   }                                                                                                                                  
269 
270   static int exception_handler_size() {                                                                                              
271     return _exception_handler_size;                                                                                                  
272   }                                                                                                                                  
273 
274   static int deopt_handler_size() {                                                                                                  
275     return _deopt_handler_size;                                                                                                      
276   }                                                                                                                                  
277 };                                                                                                                                   
278 
279 #endif // SHARE_VM_C1_C1_LIRASSEMBLER_HPP                                                                                            

241   void negate(LIR_Opr left, LIR_Opr dest);
242   void leal(LIR_Opr left, LIR_Opr dest);
243 
244   void rt_call(LIR_Opr result, address dest, const LIR_OprList* args, LIR_Opr tmp, CodeEmitInfo* info);
245 
246   void membar();
247   void membar_acquire();
248   void membar_release();
249   void membar_loadload();
250   void membar_storestore();
251   void membar_loadstore();
252   void membar_storeload();
253   void on_spin_wait();
254   void get_thread(LIR_Opr result);
255 
256   void verify_oop_map(CodeEmitInfo* info);
257 
258   void atomic_op(LIR_Code code, LIR_Opr src, LIR_Opr data, LIR_Opr dest, LIR_Opr tmp);
259 
260 #include CPU_HEADER(c1_LIRAssembler)
261 
262  public:
263 
264   static int call_stub_size() {
265     if (UseAOT) {
266       return _call_stub_size + _call_aot_stub_size;
267     } else {
268       return _call_stub_size;
269     }
270   }
271 
272   static int exception_handler_size() {
273     return _exception_handler_size;
274   }
275 
276   static int deopt_handler_size() {
277     return _deopt_handler_size;
278   }
279 };
280 
281 #endif // SHARE_VM_C1_C1_LIRASSEMBLER_HPP
< prev index next >