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([]); |