1// Copyright 2014 the V8 project authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef V8_COMPILER_NODE_AUX_DATA_INL_H_ 6#define V8_COMPILER_NODE_AUX_DATA_INL_H_ 7 8#include "src/compiler/graph.h" 9#include "src/compiler/node.h" 10#include "src/compiler/node-aux-data.h" 11 12namespace v8 { 13namespace internal { 14namespace compiler { 15 16template <class T> 17NodeAuxData<T>::NodeAuxData(Zone* zone) 18 : aux_data_(zone) {} 19 20 21template <class T> 22void NodeAuxData<T>::Set(Node* node, const T& data) { 23 int id = node->id(); 24 if (id >= static_cast<int>(aux_data_.size())) { 25 aux_data_.resize(id + 1); 26 } 27 aux_data_[id] = data; 28} 29 30 31template <class T> 32T NodeAuxData<T>::Get(Node* node) { 33 int id = node->id(); 34 if (id >= static_cast<int>(aux_data_.size())) { 35 return T(); 36 } 37 return aux_data_[id]; 38} 39} 40} 41} // namespace v8::internal::compiler 42 43#endif 44