github.com/igggame/nebulas-go@v2.1.0+incompatible/nf/nvm/v8/lib/instruction_counter.h (about)

     1  // Copyright (C) 2017 go-nebulas authors
     2  //
     3  // This file is part of the go-nebulas library.
     4  //
     5  // the go-nebulas library is free software: you can redistribute it and/or
     6  // modify it under the terms of the GNU General Public License as published by
     7  // the Free Software Foundation, either version 3 of the License, or
     8  // (at your option) any later version.
     9  //
    10  // the go-nebulas library is distributed in the hope that it will be useful,
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  // GNU General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU General Public License
    16  // along with the go-nebulas library.  If not, see
    17  // <http://www.gnu.org/licenses/>.
    18  //
    19  
    20  #ifndef _NEBULAS_NF_NVM_V8_LIB_INSTRUCTION_COUNTER_H_
    21  #define _NEBULAS_NF_NVM_V8_LIB_INSTRUCTION_COUNTER_H_
    22  
    23  #include <v8.h>
    24  
    25  using namespace v8;
    26  
    27  typedef void (*InstructionCounterIncrListener)(Isolate *isolate, size_t count,
    28                                                 void *context);
    29  void SetInstructionCounterIncrListener(InstructionCounterIncrListener listener);
    30  
    31  void NewInstructionCounterInstance(Isolate *isolate, Local<Context> context,
    32                                     size_t *counter, void *listenerContext);
    33  
    34  void IncrCounterCallback(const FunctionCallbackInfo<Value> &info);
    35  void CountGetterCallback(Local<String> property,
    36                           const PropertyCallbackInfo<Value> &info);
    37  
    38  void IncrCounter(Isolate *isolate, Local<Context> context, size_t count);
    39  
    40  #endif // _NEBULAS_NF_NVM_V8_LIB_INSTRUCTION_COUNTER_H_