Avoid delete in favor of null assignment to prevent deoptimizations

This commit is contained in:
Dan Abramov
2015-01-16 19:59:04 +03:00
parent 938026abeb
commit 4f01f67dd6
2 changed files with 10 additions and 11 deletions

View File

@@ -5,7 +5,7 @@ exports.Function = function (node, parent, file) {
if (!node.rest) return;
var rest = node.rest;
delete node.rest;
node.rest = null;
t.ensureBlock(node);

View File

@@ -102,7 +102,6 @@ function traverse(parent, opts, scope) {
return;
}
// unknown node type to traverse
var keys = t.VISITOR_KEYS[parent.type];
if (!keys) return;
@@ -139,15 +138,15 @@ function traverse(parent, opts, scope) {
traverse.removeProperties = function (tree) {
var clear = function (node) {
delete node._declarations;
delete node.extendedRange;
delete node._scopeInfo;
delete node.tokens;
delete node.range;
delete node.start;
delete node.end;
delete node.loc;
delete node.raw;
node._declarations = null;
node.extendedRange = null;
node._scopeInfo = null;
node.tokens = null;
node.range = null;
node.start = null;
node.end = null;
node.loc = null;
node.raw = null;
clearComments(node.trailingComments);
clearComments(node.leadingComments);