hotspot/src/share/vm/c1/c1_CodeStubs.hpp
changeset 28637 69d08079c4a3
parent 25715 d5a8dbdc5150
child 38031 e0b822facc03
equal deleted inserted replaced
28636:90325b56a612 28637:69d08079c4a3
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   599 class G1PostBarrierStub: public CodeStub {
   599 class G1PostBarrierStub: public CodeStub {
   600  private:
   600  private:
   601   LIR_Opr _addr;
   601   LIR_Opr _addr;
   602   LIR_Opr _new_val;
   602   LIR_Opr _new_val;
   603 
   603 
   604   static jbyte* _byte_map_base;
       
   605   static jbyte* byte_map_base_slow();
       
   606   static jbyte* byte_map_base() {
       
   607     if (_byte_map_base == NULL) {
       
   608       _byte_map_base = byte_map_base_slow();
       
   609     }
       
   610     return _byte_map_base;
       
   611   }
       
   612 
       
   613  public:
   604  public:
   614   // addr (the address of the object head) and new_val must be registers.
   605   // addr (the address of the object head) and new_val must be registers.
   615   G1PostBarrierStub(LIR_Opr addr, LIR_Opr new_val): _addr(addr), _new_val(new_val) { }
   606   G1PostBarrierStub(LIR_Opr addr, LIR_Opr new_val): _addr(addr), _new_val(new_val) { }
   616 
   607 
   617   LIR_Opr addr() const { return _addr; }
   608   LIR_Opr addr() const { return _addr; }