| Index: test/mjsunit/global.js | 
| diff --git a/test/mjsunit/compiler/control-flow-1.js b/test/mjsunit/global.js | 
| similarity index 54% | 
| copy from test/mjsunit/compiler/control-flow-1.js | 
| copy to test/mjsunit/global.js | 
| index ca7ad8785017200dc3b37b26f0bd95b896846185..05e8453bab2543ca3a383fa2c5e50fce9598d3c0 100644 | 
| --- a/test/mjsunit/compiler/control-flow-1.js | 
| +++ b/test/mjsunit/global.js | 
| @@ -24,32 +24,45 @@ | 
| // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 
| // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 
| // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
| - | 
| +// | 
| var global = this; | 
|  | 
| -function f0(x) { | 
| -  assertTrue(this === global); | 
| -  return x; | 
| -} | 
| - | 
| -function g0(x, y) { | 
| -  return f0(x == y); | 
| +function testNamedProperty(key, value) { | 
| +  global[key] = value; | 
| +  assertTrue(global.hasOwnProperty(key)); | 
| +  assertTrue(-1 < Object.keys(global).indexOf(key)); | 
| +  assertTrue(-1 < Object.getOwnPropertyNames(global).indexOf(key)); | 
| +  assertTrue(-1 == Object.getOwnPropertySymbols(global).indexOf(key)); | 
| } | 
|  | 
| -assertTrue(g0(0, 0)); | 
| -assertFalse(g0(0, 1)); | 
| - | 
| +testNamedProperty('property0', 'value'); | 
| +testNamedProperty('0property', 'value'); | 
| +testNamedProperty('42', 'value'); | 
|  | 
| -var o = {}; | 
| -o.f1 = f1; | 
| -function f1(x) { | 
| -  assertTrue(this === o); | 
| -  return x; | 
| +function testNamedNonEnumerableProperty(key, value) { | 
| +  Object.defineProperty(global, key, { | 
| +    enumerable: false, | 
| +    value: value | 
| +  }); | 
| +  assertTrue(global.hasOwnProperty(key)); | 
| +  assertTrue(-1 == Object.keys(global).indexOf(key)); | 
| +  assertTrue(-1 < Object.getOwnPropertyNames(global).indexOf(key)); | 
| +  assertTrue(-1 == Object.getOwnPropertySymbols(global).indexOf(key)); | 
| } | 
|  | 
| -function g1(x, y) { | 
| -  return o.f1(x == y); | 
| +testNamedNonEnumerableProperty('property1', 'value'); | 
| +testNamedNonEnumerableProperty('1property', 'value'); | 
| +testNamedNonEnumerableProperty('43', 'value'); | 
| + | 
| +function testSymbolProperty(key, value) { | 
| +  key = Symbol(key); | 
| +  global[key] = value; | 
| +  assertTrue(global.hasOwnProperty(key)); | 
| +  assertTrue(-1 == Object.keys(global).indexOf(key)); | 
| +  assertTrue(-1 == Object.getOwnPropertyNames(global).indexOf(key)); | 
| +  assertTrue(-1 < Object.getOwnPropertySymbols(global).indexOf(key)); | 
| } | 
|  | 
| -assertTrue(g1(0, 0)); | 
| -assertFalse(g1(0, 1)); | 
| +testSymbolProperty('property2', 'value'); | 
| +testSymbolProperty('2property', 'value'); | 
| +testSymbolProperty('43', 'value'); | 
|  |