tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

EffectiveAddressAnalysis.h (886B)


      1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
      2 * vim: set ts=8 sts=2 et sw=2 tw=80:
      3 * This Source Code Form is subject to the terms of the Mozilla Public
      4 * License, v. 2.0. If a copy of the MPL was not distributed with this
      5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
      6 
      7 #ifndef jit_EffectiveAddressAnalysis_h
      8 #define jit_EffectiveAddressAnalysis_h
      9 
     10 namespace js {
     11 namespace jit {
     12 
     13 class MIRGenerator;
     14 class MIRGraph;
     15 
     16 class EffectiveAddressAnalysis {
     17  const MIRGenerator* mir_;
     18  MIRGraph& graph_;
     19 
     20  template <typename AsmJSMemoryAccess>
     21  void analyzeAsmJSHeapAccess(AsmJSMemoryAccess* ins);
     22 
     23 public:
     24  EffectiveAddressAnalysis(const MIRGenerator* mir, MIRGraph& graph)
     25      : mir_(mir), graph_(graph) {}
     26 
     27  [[nodiscard]] bool analyze();
     28 };
     29 
     30 } /* namespace jit */
     31 } /* namespace js */
     32 
     33 #endif /* jit_EffectiveAddressAnalysis_h */