Оптимизация Javascript V8 и «утечка аргументов»

Я читаю вразличные места что желательно быть осторожным сarguments объект и что это нормально ...

    var i = arguments.length, args = new Array(i);
    while (i--) args[i] = arguments[i];

Но это нормально или нет? ...

function makeArray (l) {
    var i = l.length, array = new Array(i);
    while (i--) array[i] = l[i];
    return array;
};
//...
//EDIT: put the function on an object to better represent the actual case
var o = {};
o.f = function (callback) {
    var args = makeArray (arguments);
    callback.apply(args[0] = this, args);
};

Что подразумевается под «утечкой аргументов» и как это влияет на оптимизацию?

Я сосредоточен на V8, но я предполагаю, что это относится и к другим компиляторам?

чтобы доказать это работает ...

function makeArray (l) {
    var i = l.length, array = new Array(i);
    while (i--) array[i] = l[i];
    return array;
};
//...
//EDIT: put the function on an object to better represent the actual case
var o = {};
o.f = function (callback) {
    var args = makeArray (arguments);
    callback.apply(args[0] = this, args);
};
o.m = "Hello, ";
function test(f, n) {
    alert(this.m + " " + n)
}
o.f(test, "it works...")

Ответы на вопрос(2)

Ваш ответ на вопрос