diff options
author | Michaël Zasso <mic.besace@gmail.com> | 2015-08-27 09:10:22 +0200 |
---|---|---|
committer | Michaël Zasso <mic.besace@gmail.com> | 2015-08-28 08:17:46 +0200 |
commit | 422d56e36bc4396317f44d1ea0652268c8f7e6a8 (patch) | |
tree | fc8dd723715f74ade8b70628d6c113996d096f31 /deps/v8/test | |
parent | b11e2565744acaf714451f49fbdf5ec16cfdc061 (diff) | |
download | node-new-422d56e36bc4396317f44d1ea0652268c8f7e6a8.tar.gz |
deps: update V8 to 4.4.63.30
PR-URL: https://github.com/nodejs/node/pull/2482
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/test')
-rw-r--r-- | deps/v8/test/cctest/test-api.cc | 3 | ||||
-rw-r--r-- | deps/v8/test/mjsunit/regress/regress-crbug-513602.js | 26 |
2 files changed, 29 insertions, 0 deletions
diff --git a/deps/v8/test/cctest/test-api.cc b/deps/v8/test/cctest/test-api.cc index 35e27c3118..145d9bc64d 100644 --- a/deps/v8/test/cctest/test-api.cc +++ b/deps/v8/test/cctest/test-api.cc @@ -15010,6 +15010,9 @@ TEST(TestIdleNotification) { (v8::base::TimeTicks::HighResolutionNow().ToInternalValue() / static_cast<double>(v8::base::Time::kMicrosecondsPerSecond)) + IdlePauseInSeconds); + if (CcTest::heap()->mark_compact_collector()->sweeping_in_progress()) { + CcTest::heap()->mark_compact_collector()->EnsureSweepingCompleted(); + } } intptr_t final_size = CcTest::heap()->SizeOfObjects(); CHECK(finished); diff --git a/deps/v8/test/mjsunit/regress/regress-crbug-513602.js b/deps/v8/test/mjsunit/regress/regress-crbug-513602.js new file mode 100644 index 0000000000..ae0441cbc7 --- /dev/null +++ b/deps/v8/test/mjsunit/regress/regress-crbug-513602.js @@ -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(); |