From 658e323e87088f3d5a9b6ce6f52d4566fc02fb06 Mon Sep 17 00:00:00 2001 From: "vitalyr@chromium.org" Date: Thu, 12 May 2011 16:19:03 +0000 Subject: [PATCH] Micro-optimize passing of args to HasLocalProperty. Review URL: http://codereview.chromium.org/7018001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/macros.py | 2 +- src/v8natives.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/macros.py b/src/macros.py index 69f36c09c..28d501f37 100644 --- a/src/macros.py +++ b/src/macros.py @@ -127,7 +127,7 @@ macro TO_INT32(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : (arg >> 0)); macro TO_UINT32(arg) = (arg >>> 0); macro TO_STRING_INLINE(arg) = (IS_STRING(%IS_VAR(arg)) ? arg : NonStringToString(arg)); macro TO_NUMBER_INLINE(arg) = (IS_NUMBER(%IS_VAR(arg)) ? arg : NonNumberToNumber(arg)); - +macro TO_OBJECT_INLINE(arg) = (IS_SPEC_OBJECT(%IS_VAR(arg)) ? arg : ToObject(arg)); # Macros implemented in Python. python macro CHAR_CODE(str) = ord(str[1]); diff --git a/src/v8natives.js b/src/v8natives.js index 7a4be276d..f5c251ee0 100644 --- a/src/v8natives.js +++ b/src/v8natives.js @@ -234,7 +234,7 @@ function ObjectValueOf() { // ECMA-262 - 15.2.4.5 function ObjectHasOwnProperty(V) { - return %HasLocalProperty(ToObject(this), ToString(V)); + return %HasLocalProperty(TO_OBJECT_INLINE(this), TO_STRING_INLINE(V)); } -- 2.34.1