Ignore:
Timestamp:
Jan 10, 2018, 11:41:12 AM (8 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r226667 and r226673.
https://bugs.webkit.org/show_bug.cgi?id=181488

This caused a flaky crash. (Requested by mlewis13 on #webkit).

Reverted changesets:

"CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226667

"REGRESSION (r226667): CodeBlocks should be in IsoSubspaces"
https://bugs.webkit.org/show_bug.cgi?id=180884
https://trac.webkit.org/changeset/226673

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/VM.h

    r226667 r226725  
    11/*
    2  * Copyright (C) 2008-2018 Apple Inc. All rights reserved.
     2 * Copyright (C) 2008-2017 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    340340   
    341341    IsoSubspace directEvalExecutableSpace;
    342     IsoSubspace executableToCodeBlockEdgeSpace;
    343342    IsoSubspace functionExecutableSpace;
    344343    IsoSubspace indirectEvalExecutableSpace;
     
    354353    IsoSubspace weakMapSpace;
    355354   
    356     IsoCellSet executableToCodeBlockEdgesWithConstraints;
    357     IsoCellSet executableToCodeBlockEdgesWithFinalizers;
    358355    IsoCellSet inferredTypesWithFinalizers;
    359356    IsoCellSet inferredValuesWithFinalizers;
    360    
    361     struct SpaceAndFinalizerSet {
    362         IsoSubspace space;
    363         IsoCellSet finalizerSet;
    364        
    365         template<typename... Arguments>
    366         SpaceAndFinalizerSet(Arguments&&... arguments)
    367             : space(std::forward<Arguments>(arguments)...)
    368             , finalizerSet(space)
    369         {
    370         }
    371        
    372         static IsoCellSet& finalizerSetFor(Subspace& space)
    373         {
    374             return *bitwise_cast<IsoCellSet*>(
    375                 bitwise_cast<char*>(&space) -
    376                 OBJECT_OFFSETOF(SpaceAndFinalizerSet, space) +
    377                 OBJECT_OFFSETOF(SpaceAndFinalizerSet, finalizerSet));
    378         }
    379     };
    380    
    381     SpaceAndFinalizerSet evalCodeBlockSpace;
    382     SpaceAndFinalizerSet functionCodeBlockSpace;
    383     SpaceAndFinalizerSet moduleProgramCodeBlockSpace;
    384     SpaceAndFinalizerSet programCodeBlockSpace;
    385 
    386     template<typename Func>
    387     void forEachCodeBlockSpace(const Func& func)
    388     {
    389         // This should not include webAssemblyCodeBlockSpace because this is about subsclasses of
    390         // JSC::CodeBlock.
    391         func(evalCodeBlockSpace);
    392         func(functionCodeBlockSpace);
    393         func(moduleProgramCodeBlockSpace);
    394         func(programCodeBlockSpace);
    395     }
    396    
     357
    397358    VMType vmType;
    398359    ClientData* clientData;
     
    458419    Strong<Structure> mapIteratorStructure;
    459420    Strong<Structure> bigIntStructure;
    460     Strong<Structure> executableToCodeBlockEdgeStructure;
    461421
    462422    Strong<JSCell> emptyPropertyNameEnumerator;
Note: See TracChangeset for help on using the changeset viewer.