Bug 70968

Summary: De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject
Product: WebKit Reporter: Mark Hahnenberg <mhahnenberg>
Component: JavaScriptCoreAssignee: Mark Hahnenberg <mhahnenberg>
Status: RESOLVED FIXED    
Severity: Normal CC: abarth, ggaren, japhet, webkit.review.bot
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 70960    
Attachments:
Description Flags
Patch ggaren: review+

Description Mark Hahnenberg 2011-10-26 14:24:05 PDT
These can all be de-virtualized by augmenting JSType with additional types.
Comment 1 Mark Hahnenberg 2011-10-27 12:43:04 PDT
Created attachment 112732 [details]
Patch
Comment 2 Geoffrey Garen 2011-10-28 10:52:53 PDT
Comment on attachment 112732 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=112732&action=review

Seems like TypeInfo should eventually move to being specified in ClassInfo, even if a copy is cached in Structure. More elegant to specify TypeInfo declaratively, instead of through a bunch of function call arguments.

> Source/JavaScriptCore/runtime/JSType.h:47
> +    // VariableObjectType must be greater than all of the types of its subclasses.

Less than!
Comment 3 Mark Hahnenberg 2011-10-28 12:15:03 PDT
Committed r98747: <http://trac.webkit.org/changeset/98747>