/js/src/jit-test/tests/jaeger/recompile/bug651119.js
http://github.com/zpao/v8monkey · JavaScript · 51 lines · 51 code · 0 blank · 0 comment · 4 complexity · a9bd8c91170cf39d01d6332adf70b955 MD5 · raw file
- Object.extend = function(destination, source) {
- for (var property in source)
- destination[property] = source[property];
- };
- var Enumerable = {
- _each: function(iterator) {
- for (var i = 0, length = this.length; i < length; i++)
- iterator(this[i]);
- },
- each: function(iterator, context) {
- var index = 0;
- this._each(function(value) {
- iterator.call(context, value, index++);
- });
- },
- map: function(iterator, context) {
- var results = [];
- this.each(function(value, index) {
- var res = iterator.call(context, value);
- results.push(res);
- });
- return results;
- },
- invoke: function(method) {
- var args = $A(arguments).slice(1);
- return this.map(function(value) {
- return value[method].apply(value, args);
- });
- },
- };
- Object.extend(Array.prototype, Enumerable);
- function $A(iterable) {
- var length = iterable.length || 0, results = new Array(length);
- while (length--) results[length] = iterable[length];
- return results;
- }
- function g() {
- return [1, 2, 3, 4, 5].each(function(part) {
- return 0;
- });
- }
- function f() {
- g();
- g();
- g();
- g();
- var result = [[2, 1, 3], [6, 5, 4]];
- result = result.invoke('invoke', 'toString', 2);
- result[0].join(', ');
- };
- f();