Upgrade to 3.29
Update V8 to 3.29.88.17 and update makefiles to support building on
all the relevant platforms.
Bug: 17370214
Change-Id: Ia3407c157fd8d72a93e23d8318ccaf6ecf77fa4e
diff --git a/test/mjsunit/array-push.js b/test/mjsunit/array-push.js
index 2a25a9c..c87fd12 100644
--- a/test/mjsunit/array-push.js
+++ b/test/mjsunit/array-push.js
@@ -25,6 +25,8 @@
// (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: --allow-natives-syntax
+
// Check pushes with various number of arguments.
(function() {
var a = [];
@@ -113,3 +115,34 @@
assertEquals(i + 1, x.length, i + 'th iteration');
}
})();
+
+(function() {
+ function f(a, i) {
+ a.push(i);
+ }
+
+ var a = [1,2,3];
+ a.f = function() { return 10; }
+ f(a, 4);
+ f(a, 5);
+ f(a, 6);
+ f(a, 7);
+ f(a, {});
+ assertEquals(10, a.f());
+})();
+
+(function() {
+ function f(a, i) {
+ a.push(i);
+ }
+
+ var a = [1,2,3];
+ a.f = function() { return 10; }
+ f(a, 4);
+ f(a, 5);
+ f(a, 6);
+ %OptimizeFunctionOnNextCall(f);
+ f(a, 7);
+ f(a, {});
+ assertEquals(10, a.f());
+})();