Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(756)

Unified Diff: test/mjsunit/regress/respect-setters.js

Issue 35413006: Correct handling of arrays with callbacks in the prototype chain. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: A few test updates and simpler prototype updating. Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: test/mjsunit/regress/respect-setters.js
diff --git a/test/mjsunit/compiler/osr-one.js b/test/mjsunit/regress/respect-setters.js
similarity index 89%
copy from test/mjsunit/compiler/osr-one.js
copy to test/mjsunit/regress/respect-setters.js
index 2c27192d2773607f90aa508c466b12d9f6c3ca9f..5d79fa581ea24cdff83f503a8d1f860140234e8c 100644
--- a/test/mjsunit/compiler/osr-one.js
+++ b/test/mjsunit/regress/respect-setters.js
@@ -24,17 +24,16 @@
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-// Flags: --use-osr
-
-function f(x) {
- var sum = 0;
- var count = 10000000;
- while (count > 0) {
- sum += x;
- count--;
+var ouches = 0;
+function foo(array) {
+ for (var i = 0; i < 100; ++i) {
+ array[0] = true;
}
- return sum;
+ assertEquals(100, ouches);
}
-assertEquals(50000000, f(5));
+Array.prototype.__defineSetter__(0, function() {
+ ouches++;
+});
+
+foo([]);

Powered by Google App Engine
This is Rietveld 408576698