From 3a7d256596463753e25ed2f4fbfcc2a4f65fdad7 Mon Sep 17 00:00:00 2001 From: "sandholm@chromium.org" Date: Mon, 23 Aug 2010 11:46:59 +0000 Subject: [PATCH] Don't do a smi check twice in the TO_INTEGER macro. Review URL: http://codereview.chromium.org/3115024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/macros.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/macros.py b/src/macros.py index 643a285..1ceb620 100644 --- a/src/macros.py +++ b/src/macros.py @@ -120,7 +120,7 @@ macro IS_SPEC_OBJECT(arg) = (%_IsSpecObject(arg)); # Inline macros. Use %IS_VAR to make sure arg is evaluated only once. macro NUMBER_IS_NAN(arg) = (!%_IsSmi(%IS_VAR(arg)) && !(arg == arg)); -macro TO_INTEGER(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : ToInteger(arg)); +macro TO_INTEGER(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : %NumberToInteger(ToNumber(arg))); macro TO_INTEGER_MAP_MINUS_ZERO(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : %NumberToIntegerMapMinusZero(ToNumber(arg))); macro TO_INT32(arg) = (%_IsSmi(%IS_VAR(arg)) ? arg : (arg >> 0)); macro TO_UINT32(arg) = (arg >>> 0); -- 2.7.4