def METHOD_NAME(this, args):
    obj = get_arg(args, 0)
    if not is_object(obj):
        raise MakeError('TypeError',
                        'Object.isFrozen called on non-object')
    if obj.extensible:
        return False
    for desc in obj.own.values():
        if desc.get('configurable'):
            return False
        if is_data_descriptor(desc) and desc.get('writable'):
            return False
    return True