| 15.2.3.9-0-1.js | 
          ---
es5id: 15.2.3.9-0-1
description: Object.freeze must exist as a function
--- | 
          321 | 
        
        
          | 15.2.3.9-0-2.js | 
          ---
es5id: 15.2.3.9-0-2
description: Object.freeze must exist as a function taking 1 parameter
--- | 
          329 | 
        
        
          | 15.2.3.9-1-1.js | 
          ---
es5id: 15.2.3.9-1-1
description: >
    Object.freeze does not throw TypeError if type of first param is
    undefined
--- | 
          315 | 
        
        
          | 15.2.3.9-1-2.js | 
          ---
es5id: 15.2.3.9-1-2
description: >
    Object.freeze does not throw TypeError if type of first param is
    null
--- | 
          305 | 
        
        
          | 15.2.3.9-1-3.js | 
          ---
es5id: 15.2.3.9-1-3
description: >
    Object.freeze does not throw TypeError if type of first param is
    boolean primitive
--- | 
          340 | 
        
        
          | 15.2.3.9-1-4.js | 
          ---
es5id: 15.2.3.9-1-4
description: >
    Object.freeze does not throw TypeError if type of first param is
    string primitive
--- | 
          318 | 
        
        
          | 15.2.3.9-1.js | 
          ---
es5id: 15.2.3.9-1
description: >
    Object.freeze does not throw TypeError if type of first param is
    not Object
--- | 
          306 | 
        
        
          | 15.2.3.9-2-1.js | 
          ---
es5id: 15.2.3.9-2-1
description: >
    Object.freeze - extensible of 'O' is set as false even if 'O' has
    no own property
--- | 
          411 | 
        
        
          | 15.2.3.9-2-2.js | 
          ---
es5id: 15.2.3.9-2-2
description: Object.freeze - inherited data properties are not frozen
--- | 
          682 | 
        
        
          | 15.2.3.9-2-3.js | 
          ---
es5id: 15.2.3.9-2-3
description: Object.freeze - inherited accessor properties are not frozen
--- | 
          713 | 
        
        
          | 15.2.3.9-2-4.js | 
          ---
es5id: 15.2.3.9-2-4
description: Object.freeze - Non-enumerable own properties of 'O' are frozen
includes: [propertyHelper.js]
--- | 
          505 | 
        
        
          | 15.2.3.9-2-a-1.js | 
          ---
es5id: 15.2.3.9-2-a-1
description: Object.freeze - 'P' is own data property
includes: [propertyHelper.js]
--- | 
          473 | 
        
        
          | 15.2.3.9-2-a-2.js | 
          ---
es5id: 15.2.3.9-2-a-2
description: >
    Object.freeze - 'P' is own data property that overrides an
    inherited data property
includes: [propertyHelper.js]
--- | 
          674 | 
        
        
          | 15.2.3.9-2-a-3.js | 
          ---
es5id: 15.2.3.9-2-a-3
description: >
    Object.freeze - 'P' is own data property that overrides an
    inherited accessor property
includes: [propertyHelper.js]
--- | 
          715 | 
        
        
          | 15.2.3.9-2-a-4.js | 
          ---
es5id: 15.2.3.9-2-a-4
description: Object.freeze - 'P' is own accessor property
includes: [propertyHelper.js]
--- | 
          507 | 
        
        
          | 15.2.3.9-2-a-5.js | 
          ---
es5id: 15.2.3.9-2-a-5
description: >
    Object.freeze - 'P' is own accessor property that overrides an
    inherited data property
includes: [propertyHelper.js]
--- | 
          716 | 
        
        
          | 15.2.3.9-2-a-6.js | 
          ---
es5id: 15.2.3.9-2-a-6
description: >
    Object.freeze - 'P' is own accessor property that overrides an
    inherited accessor property
includes: [propertyHelper.js]
--- | 
          749 | 
        
        
          | 15.2.3.9-2-a-7.js | 
          ---
es5id: 15.2.3.9-2-a-7
description: >
    Object.freeze - 'P' is own named property of an Arguments object
    that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          598 | 
        
        
          | 15.2.3.9-2-a-8.js | 
          ---
es5id: 15.2.3.9-2-a-8
description: >
    Object.freeze - 'P' is own named property of the String object
    that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          575 | 
        
        
          | 15.2.3.9-2-a-9.js | 
          ---
es5id: 15.2.3.9-2-a-9
description: >
    Object.freeze - 'P' is own property of the Function object that
    uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          562 | 
        
        
          | 15.2.3.9-2-a-10.js | 
          ---
es5id: 15.2.3.9-2-a-10
description: >
    Object.freeze - 'P' is own named property of an Array object that
    uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          554 | 
        
        
          | 15.2.3.9-2-a-11.js | 
          ---
es5id: 15.2.3.9-2-a-11
description: >
    Object.freeze - 'P' is own index property of the Arguments object
    that implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          587 | 
        
        
          | 15.2.3.9-2-a-12.js | 
          ---
es5id: 15.2.3.9-2-a-12
description: >
    Object.freeze - 'P' is own index property of a String object that
    implements its own [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          556 | 
        
        
          | 15.2.3.9-2-a-13.js | 
          ---
es5id: 15.2.3.9-2-a-13
description: Object.freeze - 'P' is own index property of the Object
includes: [propertyHelper.js]
--- | 
          501 | 
        
        
          | 15.2.3.9-2-a-14.js | 
          ---
es5id: 15.2.3.9-2-a-14
description: >
    Object.freeze - 'P' is own index property of an Array object that
    uses Object's [[GetOwnProperty]]
includes: [propertyHelper.js]
--- | 
          540 | 
        
        
          | 15.2.3.9-2-b-i-1.js | 
          ---
es5id: 15.2.3.9-2-b-i-1
description: >
    Object.freeze - The [[Wrtiable]] attribute of own data property of
    'O' is set to false while other attributes are unchanged
includes: [propertyHelper.js]
--- | 
          630 | 
        
        
          | 15.2.3.9-2-b-i-2.js | 
          ---
es5id: 15.2.3.9-2-b-i-2
description: >
    Object.freeze - The [[Wrtiable]] attribute of all own data
    property of 'O' is set to false while other attributes are
    unchanged
includes: [propertyHelper.js]
--- | 
          868 | 
        
        
          | 15.2.3.9-2-c-1.js | 
          ---
es5id: 15.2.3.9-2-c-1
description: >
    Object.freeze - The [[Configurable]] attribute of own data
    property of 'O' is set to false while other attributes are
    unchanged
includes: [propertyHelper.js]
--- | 
          636 | 
        
        
          | 15.2.3.9-2-c-2.js | 
          ---
es5id: 15.2.3.9-2-c-2
description: >
    Object.freeze - The [[Configurable]] attribute of own accessor
    property of 'O' is set to false while other attributes are
    unchanged
includes: [propertyHelper.js]
--- | 
          855 | 
        
        
          | 15.2.3.9-2-c-3.js | 
          ---
es5id: 15.2.3.9-2-c-3
description: >
    Object.freeze - The [[Configurable]] attribute of all own data
    property of 'O' is set to false while other attributes are
    unchanged
includes: [propertyHelper.js]
--- | 
          1367 | 
        
        
          | 15.2.3.9-2-c-4.js | 
          ---
es5id: 15.2.3.9-2-c-4
description: >
    Object.freeze - all own properties of 'O' are not writable and not
    configurable
includes: [propertyHelper.js]
--- | 
          1312 | 
        
        
          | 15.2.3.9-2-d-1.js | 
          ---
es5id: 15.2.3.9-2-d-1
description: Object.freeze - 'O' is a Function object
--- | 
          369 | 
        
        
          | 15.2.3.9-2-d-2.js | 
          ---
es5id: 15.2.3.9-2-d-2
description: Object.freeze - 'O' is an Array object
--- | 
          360 | 
        
        
          | 15.2.3.9-2-d-3.js | 
          ---
es5id: 15.2.3.9-2-d-3
description: Object.freeze - 'O' is a String object
--- | 
          369 | 
        
        
          | 15.2.3.9-2-d-4.js | 
          ---
es5id: 15.2.3.9-2-d-4
description: Object.freeze - 'O' is a Boolean object
--- | 
          377 | 
        
        
          | 15.2.3.9-2-d-5.js | 
          ---
es5id: 15.2.3.9-2-d-5
description: Object.freeze - 'O' is a Number object
--- | 
          367 | 
        
        
          | 15.2.3.9-2-d-6.js | 
          ---
es5id: 15.2.3.9-2-d-6
description: Object.freeze - 'O' is a Date object
--- | 
          367 | 
        
        
          | 15.2.3.9-2-d-7.js | 
          ---
es5id: 15.2.3.9-2-d-7
description: Object.freeze - 'O' is a RegExp object
--- | 
          366 | 
        
        
          | 15.2.3.9-2-d-8.js | 
          ---
es5id: 15.2.3.9-2-d-8
description: Object.freeze - 'O' is an Error object
--- | 
          371 | 
        
        
          | 15.2.3.9-2-d-9.js | 
          ---
es5id: 15.2.3.9-2-d-9
description: Object.freeze - 'O' is the Arguments object
--- | 
          397 | 
        
        
          | 15.2.3.9-3-1.js | 
          ---
es5id: 15.2.3.9-3-1
description: Object.freeze - returned object is not extensible
--- | 
          368 | 
        
        
          | 15.2.3.9-4-1.js | 
          ---
es5id: 15.2.3.9-4-1
description: Object.freeze - 'O' is sealed already
--- | 
          440 | 
        
        
          | 15.2.3.9-4-2.js | 
          ---
es5id: 15.2.3.9-4-2
description: Object.freeze - 'O' is frozen already
--- | 
          442 | 
        
        
          | 15.2.3.9-4-3.js | 
          ---
es5id: 15.2.3.9-4-3
description: Object.freeze - the extensions of 'O' is prevented already
--- | 
          474 | 
        
        
          | abrupt-completion.js | 
          ---
esid: sec-object.freeze
description: >
  O.[[PreventExtensions]]() returns abrupt completion.
info: |
  Object.freeze ( O )
  ...
  2. Let status be ? SetIntegrityLevel(O, frozen).
  SetIntegrityLevel ( O, level )
  ...
  3. Let status be ? O.[[PreventExtensions]]().
features: [Proxy]
--- | 
          618 | 
        
        
          | browser.js | 
           | 
          0 | 
        
        
          | frozen-object-contains-symbol-properties-non-strict.js | 
          ---
es6id: 19.1.2.5
description: >
    Frozen object contains symbol properties.
flags: [noStrict]
features: [Symbol]
--- | 
          507 | 
        
        
          | frozen-object-contains-symbol-properties-strict-strict.js | 
          ---
es6id: 19.1.2.5
description: >
    Frozen object contains symbol properties.
flags: [onlyStrict]
features: [Symbol]
--- | 
          433 | 
        
        
          | name.js | 
          ---
es6id: 19.1.2.5
description: >
  Object.freeze.name is "freeze".
info: |
  Object.freeze ( O )
  17 ECMAScript Standard Built-in Objects:
    Every built-in Function object, including constructors, that is not
    identified as an anonymous function has a name property whose value
    is a String.
    Unless otherwise specified, the name property of a built-in Function
    object, if it exists, has the attributes { [[Writable]]: false,
    [[Enumerable]]: false, [[Configurable]]: true }.
includes: [propertyHelper.js]
--- | 
          816 | 
        
        
          | not-a-constructor.js | 
          ---
esid: sec-ecmascript-standard-built-in-objects
description: >
  Object.freeze does not implement [[Construct]], is not new-able
info: |
  ECMAScript Function Objects
  Built-in function objects that are not identified as constructors do not
  implement the [[Construct]] internal method unless otherwise specified in
  the description of a particular function.
  sec-evaluatenew
  ...
  7. If IsConstructor(constructor) is false, throw a TypeError exception.
  ...
includes: [isConstructor.js]
features: [Reflect.construct, arrow-function]
--- | 
          876 | 
        
        
          | proxy-no-ownkeys-returned-keys-order.js | 
          ---
esid: sec-object.freeze
description: >
  If Proxy "ownKeys" trap is missing, keys are sorted by type in ascending
  chronological order.
info: |
  SetIntegrityLevel ( O, level )
  [...]
  5. Let keys be ? O.[[OwnPropertyKeys]]().
  6. If level is sealed, then
    [...]
  7. Else,
    a. Assert: level is frozen.
    b. For each element k of keys, do
      i. Let currentDesc be ? O.[[GetOwnProperty]](k).
  [[OwnPropertyKeys]] ( )
  [...]
  6. If trap is undefined, then
    a. Return ? target.[[OwnPropertyKeys]]().
  OrdinaryOwnPropertyKeys ( O )
  [...]
  3. For each own property key P of O such that Type(P) is String and P is
  not an array index, in ascending chronological order of property creation, do
    a. Add P as the last element of keys.
  4. For each own property key P of O such that Type(P) is Symbol,
  in ascending chronological order of property creation, do
    a. Add P as the last element of keys.
  5. Return keys.
features: [Proxy, Symbol, Reflect]
includes: [compareArray.js]
--- | 
          1534 | 
        
        
          | proxy-with-defineProperty-handler.js | 
          ---
esid: sec-object.freeze
description: >
  [[DefineOwnProperty]] is called with partial descriptor with only [[Configurable]] and
  [[Writable]] (for data properties only) fields present.
info: |
  SetIntegrityLevel ( O, level )
  [...]
  5. Let keys be ? O.[[OwnPropertyKeys]]().
  [...]
  7. Else,
    a. Assert: level is frozen.
    b. For each element k of keys, do
      i. Let currentDesc be ? O.[[GetOwnProperty]](k).
      ii. If currentDesc is not undefined, then
        1. If IsAccessorDescriptor(currentDesc) is true, then
          a. Let desc be the PropertyDescriptor { [[Configurable]]: false }.
        2. Else,
          a. Let desc be the PropertyDescriptor { [[Configurable]]: false, [[Writable]]: false }.
        3. Perform ? DefinePropertyOrThrow(O, k, desc).
features: [Symbol, Proxy, Reflect]
--- | 
          1848 | 
        
        
          | shell.js | 
          ---
description: |
    Collection of helper constants and functions for testing resizable array buffers.
defines:
  - floatCtors
  - ctors
  - MyBigInt64Array
  - CreateResizableArrayBuffer
  - MayNeedBigInt
  - Convert
  - ToNumbers
  - CreateRabForTest
  - CollectValuesAndResize
  - TestIterationAndResize
features: [BigInt]
--- | 
          3893 | 
        
        
          | throws-when-false.js | 
          ---
esid: sec-object.freeze
description: >
  Object.freeze throws if SetIntegrityLevel(O, frozen) returns false.
info: |
  Object.freeze ( O )
  ...
  2. Let status be ? SetIntegrityLevel(O, frozen).
  3. If status is false, throw a TypeError exception.
  SetIntegrityLevel ( O, level )
  ...
  3. Let status be ? O.[[PreventExtensions]]().
  4. If status is false, return false.
--- | 
          682 | 
        
        
          | typedarray-backed-by-resizable-buffer.js | 
          ---
esid: sec-object.freeze
description: >
  Object.freeze throws on non-0-length TypedArrays backed by resizable
  buffers
features: [resizable-arraybuffer]
includes: [resizableArrayBufferUtils.js]
--- | 
          2263 |