mirror of https://github.com/lukechilds/node.git
Browse Source
PR-URL: https://github.com/nodejs/node/pull/2482 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>v4.0.0-rc
Michaël Zasso
9 years ago
8 changed files with 88 additions and 24 deletions
@ -0,0 +1,26 @@ |
|||
// Copyright 2015 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.
|
|||
|
|||
function Parent() {} |
|||
|
|||
function Child() {} |
|||
Child.prototype = new Parent(); |
|||
var child = new Child(); |
|||
|
|||
function crash() { |
|||
return child.__proto__; |
|||
} |
|||
|
|||
crash(); |
|||
crash(); |
|||
|
|||
// Trigger a fast->slow->fast dance of Parent.prototype's map...
|
|||
Parent.prototype.__defineSetter__("foo", function() { print("A"); }); |
|||
Parent.prototype.__defineSetter__("foo", function() { print("B"); }); |
|||
// ...and collect more type feedback.
|
|||
crash(); |
|||
|
|||
// Now modify the prototype chain. The right cell fails to get invalidated.
|
|||
delete Object.prototype.__proto__; |
|||
crash(); |
Loading…
Reference in new issue