*** Running test #1 (0): Test Object.prototype.__proto__ attributes
get: function() {
    [native code]
}
set: function() {
    [native code]
}
enumerable: false
configurable: true
PASSED
*** Running test #2 (1): Read built-in __proto__
PASSED
*** Running test #3 (2): Change built-in's __proto__ chain
Number.prototype -> Array.prototype -> Object.prototype
Boolean.prototype -> "abc" -> String.prototype -> Object.prototype
PASSED
*** Running test #4 (3): Change __proto__ to null/undefined
PASSED
*** Running test #5 (4): Change __proto__ to neither Object nor null, should throw
PASSED
*** Running test #6 (5): Change object.__proto__ to an object
b: 200
c: 200
a (inherited): 100

-- delete b.b --
c: 200
a (inherited): 100
b (inherited): 100
PASSED
*** Running test #7 (6): Change object.__proto__ to an array
b: 200
0 (inherited): 8
1 (inherited): 3
2 (inherited): 9
3 (inherited): 5

-- a.sort --
b: 200
0 (inherited): 3
1 (inherited): 5
2 (inherited): 8
3 (inherited): 9

-- b.sort --
0: 3
1: 5
2: 8
3: 9
b: 200
PASSED
*** Running test #8 (7): Change array.__proto__ to an object
0: 8
1: 3
2: 9
3: 5
a (inherited): 100

-- sort.apply --
0: 3
1: 5
2: 8
3: 9
a (inherited): 100
PASSED
*** Running test #9 (8): Attempt to change DOM object __proto__
PASSED
*** Running test #10 (9): __proto__ and instanceof/isPrototypeOf
PASSED
*** Running test #11 (10): Verify we reject simple __proto__ cycle
PASSED
*** Running test #12 (11): Verify proto cache is discarded
Before change
1, 2
After change
3, 4
PASSED
*** Running test #13 (12): Verify proto getter cache is discarded
Before change
1, 7
After change
3, 4
PASSED
*** Running test #14 (13): Verify the new proto object is marked as proto, so that changing the proto object invalidates related proto cache
Before change
undefined, undefined
After change
3, 4
After change proto property
9, 4
PASSED
*** Running test #15 (14): Verify changing __proto__ works safely with ObjTypeSpec
PASSED
*** Running test #16 (15): Verify PathTypeHandler successor Types continue to work, case 1
PASSED
*** Running test #17 (16): Verify PathTypeHandler successor Types continue to work, case 2
PASSED
*** Running test #18 (17): Verify that we can shadow __proto__ property
PASSED
*** Running test #19 (18): Test fast path o[i] with changed prototype
PASSED
*** Running test #20 (19): Test fast path o[i] when o.__proto__ == null
PASSED
*** Running test #21 (20): Test fast path o[i] when o.__proto__.__proto__ == null
PASSED
*** Running test #22 (21): Test Array methods with changed prototype
PASSED
*** Running test #23 (22): Test cross-site change prototype
PASSED
*** Running test #24 (23): Test change prototype of global object
PASSED
*** Running test #25 (24): Blue 62526: __proto__: ArrayElementEnumerator does not expect non-TypeIds_Object on prototype
PASSED
*** Running test #26 (25): Blue 114364: __proto__: Object.preventExtensions should make [[prototype]] immutable
PASSED
*** Running test #27 (26): Blue 245453: __proto__: Invalid has-only-writable-data-property cache
PASSED
*** Running test #28 (27): Blue 245453: __proto__: Invalid has-only-writable-data-property cache -- verify cross-context
PASSED
Summary of tests: total executed: 28; passed: 28; failed: 0
