// Copyright 2016 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.

var re;

function Global() {
  var g = re.global;
}

function Flags() {
  var f = re.flags;
}

function Setup() {
  re = /[Cz]/giym;
}

var benchmarks = [ [Global, Setup],
                   [Flags, Setup],
                 ];
