Reviewers: William Hesse, Description: Refactor type checks in v8natives.js and runtime.js.
This includes adding a new inline IsSpecObject method to the code generator. The old approach was somehow ineffecient since we would call both IsObject, IsUndetectable and IsFunction to determine if something was an object according to the spec. This change introduces a new macro that determines if something is an object according to the spec (and this does not include null). This change also corrects a few places where undetectable objects was not allowed even when they should be (priorly they would use only IS_SPEC_OBJECT_OR_NULL, which would return false on an undetectable object, the new IS_SPEC_OBJECT returns true on an undetectable object. Please review this at http://codereview.chromium.org/2877018/show 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/arm/full-codegen-arm.cc M src/full-codegen.h M src/full-codegen.cc M src/ia32/full-codegen-ia32.cc M src/macros.py M src/mips/codegen-mips.h M src/mips/codegen-mips.cc M src/runtime.js M src/v8natives.js M src/x64/codegen-x64.h M src/x64/codegen-x64.cc M src/x64/full-codegen-x64.cc -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
