Reviewers: Mads Ager, Description: Implement IS_OBJECT and IS_FUNCTION as inlined runtime functions.
Summary: This change fixes a performance regression introduced by the special handling of regular expressions in typeof expressions. As a result we regain ~8% speedup on 3d-raytrace and ~13% on boyer (vs bleeding edge) Description: The macros IS_OBJECT and IS_FUNCTION are frequently used in the JS runtime functions. By introducing new inlined runtime functions %_IsFunction and %_IsObject we avoid invoking the more expensive %_ClassOf function plus comparing its result to a string. Please review this at http://codereview.chromium.org/399111 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/arm/codegen-arm.h M src/arm/codegen-arm.cc M src/codegen.cc M src/ia32/codegen-ia32.h M src/ia32/codegen-ia32.cc M src/macros.py M src/x64/codegen-x64.h M src/x64/codegen-x64.cc --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
