text: // 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.
  
  // Flags: --allow-natives-syntax
  
  function test() {
    assertEquals("string", typeof "");
    assertEquals("number", typeof 1.1);
    assertEquals("number", typeof 1);
    assertEquals("boolean", typeof true);
    assertEquals("function", typeof function() {});
    assertEquals("object", typeof null);
    assertEquals("object", typeof {});
    assertEquals("object", typeof /regex/);
  
    assertTrue(%_IsSmi(1));
    assertFalse(%_IsSmi(1.1));
    assertFalse(%_IsSmi({}));
  
    assertTrue(%_IsArray([1]));
    assertFalse(%_IsArray(function() {}));
  
    assertTrue(%_IsJSReceiver(new Date()));
    assertFalse(%_IsJSReceiver(1));
  }
  
  
  test();
  test();
  %OptimizeFunctionOnNextCall(test);
  test();
  