Bug 174994 - Make more things LLInt constexprs
Summary: Make more things LLInt constexprs
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Keith Miller
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-07-31 15:00 PDT by Keith Miller
Modified: 2017-07-31 15:48 PDT (History)
6 users (show)

See Also:


Attachments
Patch (11.74 KB, patch)
2017-07-31 15:02 PDT, Keith Miller
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Keith Miller 2017-07-31 15:00:40 PDT
Make more things LLInt constexprs
Comment 1 Keith Miller 2017-07-31 15:02:52 PDT
Created attachment 316807 [details]
Patch
Comment 2 Saam Barati 2017-07-31 15:06:07 PDT
Comment on attachment 316807 [details]
Patch

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

r=me

> Source/JavaScriptCore/llint/LLIntData.cpp:-228
> -    
> -    STATIC_ASSERT(StringType == 6);
> -    STATIC_ASSERT(SymbolType == 7);
> -    STATIC_ASSERT(ObjectType == 23);
> -    STATIC_ASSERT(FinalObjectType == 24);
> -    STATIC_ASSERT(JSFunctionType == 26);
> -    STATIC_ASSERT(ArrayType == 34);
> -    STATIC_ASSERT(DerivedArrayType == 35);
> -    STATIC_ASSERT(ProxyObjectType == 53);
> -    STATIC_ASSERT(Int8ArrayType == 36);
> -    STATIC_ASSERT(Int16ArrayType == 37);
> -    STATIC_ASSERT(Int32ArrayType == 38);
> -    STATIC_ASSERT(Uint8ArrayType == 39);
> -    STATIC_ASSERT(Uint8ClampedArrayType == 40);
> -    STATIC_ASSERT(Uint16ArrayType == 41);
> -    STATIC_ASSERT(Uint32ArrayType == 42);
> -    STATIC_ASSERT(Float32ArrayType == 43);
> -    STATIC_ASSERT(Float64ArrayType == 44);
> -    STATIC_ASSERT(MasqueradesAsUndefined == 1);
> -    STATIC_ASSERT(ImplementsDefaultHasInstance == 2);
> -    STATIC_ASSERT(FirstConstantRegisterIndex == 0x40000000);
> -    STATIC_ASSERT(GlobalCode == 0);
> -    STATIC_ASSERT(EvalCode == 1);
> -    STATIC_ASSERT(FunctionCode == 2);
> -    STATIC_ASSERT(ModuleCode == 3);
> -    
> -    STATIC_ASSERT(IsArray == 0x01);
> -    STATIC_ASSERT(IndexingShapeMask == 0x0E);
> -    STATIC_ASSERT(NoIndexingShape == 0x00);
> -    STATIC_ASSERT(Int32Shape == 0x04);
> -    STATIC_ASSERT(DoubleShape == 0x06);
> -    STATIC_ASSERT(ContiguousShape == 0x08);
> -    STATIC_ASSERT(ArrayStorageShape == 0x0A);
> -    STATIC_ASSERT(SlowPutArrayStorageShape == 0x0C);
>  
>      ASSERT(!(reinterpret_cast<ptrdiff_t>((reinterpret_cast<WriteBarrier<JSCell>*>(0x4000)->slot())) - 0x4000));
> -    static_assert(PutByIdPrimaryTypeMask == 0x6, "LLInt assumes PutByIdPrimaryTypeMask is == 0x6");
> -    static_assert(PutByIdPrimaryTypeSecondary == 0x0, "LLInt assumes PutByIdPrimaryTypeSecondary is == 0x0");
> -    static_assert(PutByIdPrimaryTypeObjectWithStructure == 0x2, "LLInt assumes PutByIdPrimaryTypeObjectWithStructure is == 0x2");
> -    static_assert(PutByIdPrimaryTypeObjectWithStructureOrOther == 0x4, "LLInt assumes PutByIdPrimaryTypeObjectWithStructureOrOther is == 0x4");
> -    static_assert(PutByIdSecondaryTypeMask == -0x8, "LLInt assumes PutByIdSecondaryTypeMask is == -0x8");
> -    static_assert(PutByIdSecondaryTypeBottom == 0x0, "LLInt assumes PutByIdSecondaryTypeBottom is == 0x0");
> -    static_assert(PutByIdSecondaryTypeBoolean == 0x8, "LLInt assumes PutByIdSecondaryTypeBoolean is == 0x8");
> -    static_assert(PutByIdSecondaryTypeOther == 0x10, "LLInt assumes PutByIdSecondaryTypeOther is == 0x10");
> -    static_assert(PutByIdSecondaryTypeInt32 == 0x18, "LLInt assumes PutByIdSecondaryTypeInt32 is == 0x18");
> -    static_assert(PutByIdSecondaryTypeNumber == 0x20, "LLInt assumes PutByIdSecondaryTypeNumber is == 0x20");
> -    static_assert(PutByIdSecondaryTypeString == 0x28, "LLInt assumes PutByIdSecondaryTypeString is == 0x28");
> -    static_assert(PutByIdSecondaryTypeSymbol == 0x30, "LLInt assumes PutByIdSecondaryTypeSymbol is == 0x30");
> -    static_assert(PutByIdSecondaryTypeObject == 0x38, "LLInt assumes PutByIdSecondaryTypeObject is == 0x38");
> -    static_assert(PutByIdSecondaryTypeObjectOrOther == 0x40, "LLInt assumes PutByIdSecondaryTypeObjectOrOther is == 0x40");
> -    static_assert(PutByIdSecondaryTypeTop == 0x48, "LLInt assumes PutByIdSecondaryTypeTop is == 0x48");
> -
> -    static_assert(GlobalProperty == 0, "LLInt assumes GlobalProperty ResultType is == 0");
> -    static_assert(GlobalVar == 1, "LLInt assumes GlobalVar ResultType is == 1");
> -    static_assert(GlobalLexicalVar == 2, "LLInt assumes GlobalLexicalVar ResultType is == 2");
> -    static_assert(ClosureVar == 3, "LLInt assumes ClosureVar ResultType is == 3");
> -    static_assert(LocalClosureVar == 4, "LLInt assumes LocalClosureVar ResultType is == 4");
> -    static_assert(ModuleVar == 5, "LLInt assumes ModuleVar ResultType is == 5");
> -    static_assert(GlobalPropertyWithVarInjectionChecks == 6, "LLInt assumes GlobalPropertyWithVarInjectionChecks ResultType is == 6");
> -    static_assert(GlobalVarWithVarInjectionChecks == 7, "LLInt assumes GlobalVarWithVarInjectionChecks ResultType is == 7");
> -    static_assert(GlobalLexicalVarWithVarInjectionChecks == 8, "LLInt assumes GlobalLexicalVarWithVarInjectionChecks ResultType is == 8");
> -    static_assert(ClosureVarWithVarInjectionChecks == 9, "LLInt assumes ClosureVarWithVarInjectionChecks ResultType is == 9");
> -
> -    static_assert(static_cast<unsigned>(InitializationMode::NotInitialization) == 2, "LLInt assumes that InitializationMode::NotInitialization is 0");
> -    
> -    STATIC_ASSERT(GetPutInfo::typeBits == 0x3ff);
> -    STATIC_ASSERT(GetPutInfo::initializationShift == 10);
> -    STATIC_ASSERT(GetPutInfo::initializationBits == 0xffc00);
> -
> -    STATIC_ASSERT(MarkedBlock::blockSize == 16 * 1024);
> -    STATIC_ASSERT(blackThreshold == 0);
> -
> -    ASSERT(bitwise_cast<uintptr_t>(ShadowChicken::Packet::tailMarker()) == static_cast<uintptr_t>(0x7a11));

Nice
Comment 3 WebKit Commit Bot 2017-07-31 15:47:08 PDT
Comment on attachment 316807 [details]
Patch

Clearing flags on attachment: 316807

Committed r220078: <http://trac.webkit.org/changeset/220078>
Comment 4 WebKit Commit Bot 2017-07-31 15:47:09 PDT
All reviewed patches have been landed.  Closing bug.
Comment 5 Radar WebKit Bug Importer 2017-07-31 15:48:01 PDT
<rdar://problem/33637416>