���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/deps/v8/src/compiler/ |
// Copyright 2014 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_ #define V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_ #include "src/base/compiler-specific.h" #include "src/codegen/source-position.h" #include "src/common/globals.h" #include "src/compiler/node-aux-data.h" namespace v8 { namespace internal { namespace compiler { class V8_EXPORT_PRIVATE SourcePositionTable final : public NON_EXPORTED_BASE(ZoneObject) { public: class Scope final { public: Scope(SourcePositionTable* source_positions, SourcePosition position) : source_positions_(source_positions), prev_position_(source_positions->current_position_) { Init(position); } Scope(SourcePositionTable* source_positions, Node* node) : source_positions_(source_positions), prev_position_(source_positions->current_position_) { Init(source_positions_->GetSourcePosition(node)); } ~Scope() { source_positions_->current_position_ = prev_position_; } private: void Init(SourcePosition position) { if (position.IsKnown()) source_positions_->current_position_ = position; } SourcePositionTable* const source_positions_; SourcePosition const prev_position_; DISALLOW_COPY_AND_ASSIGN(Scope); }; explicit SourcePositionTable(Graph* graph); void AddDecorator(); void RemoveDecorator(); SourcePosition GetSourcePosition(Node* node) const; void SetSourcePosition(Node* node, SourcePosition position); void SetCurrentPosition(const SourcePosition& pos) { current_position_ = pos; } void PrintJson(std::ostream& os) const; private: class Decorator; Graph* const graph_; Decorator* decorator_; SourcePosition current_position_; NodeAuxData<SourcePosition, SourcePosition::Unknown> table_; DISALLOW_COPY_AND_ASSIGN(SourcePositionTable); }; } // namespace compiler } // namespace internal } // namespace v8 #endif // V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_