1fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org// Copyright 2013 the V8 project authors. All rights reserved. 23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be 33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file. 47979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 5fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org#ifndef V8_HYDROGEN_BCH_H_ 6fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org#define V8_HYDROGEN_BCH_H_ 77979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 8196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/hydrogen.h" 97979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 10fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.orgnamespace v8 { 11fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.orgnamespace internal { 127979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 137979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 14fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.orgclass HBoundsCheckHoistingPhase : public HPhase { 15fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org public: 16fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org explicit HBoundsCheckHoistingPhase(HGraph* graph) 17fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org : HPhase("H_Bounds checks hoisting", graph) { } 18fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org 19fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org void Run() { 20fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org HoistRedundantBoundsChecks(); 21fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org } 22fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org 23fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org private: 24fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org void HoistRedundantBoundsChecks(); 25fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org 26fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org DISALLOW_COPY_AND_ASSIGN(HBoundsCheckHoistingPhase); 27fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org}; 28fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org 297979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 30fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org} } // namespace v8::internal 317979bbb1df2eaff193e85d44c8da1ffa1525b7fcfschneider@chromium.org 32fb732b17922ea75830be4db6b80534c4827d8a55jkummerow@chromium.org#endif // V8_HYDROGEN_BCE_H_ 33