Ignore:
Timestamp:
Jun 13, 2017, 3:39:34 PM (8 years ago)
Author:
[email protected]
Message:

Refactor AbsenceOfSetter to AbsenceOfSetEffects
https://bugs.webkit.org/show_bug.cgi?id=173322

Reviewed by Filip Pizlo.

  • bytecode/ObjectPropertyCondition.h:

(JSC::ObjectPropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::ObjectPropertyCondition::absenceOfSetEffect):
(JSC::ObjectPropertyCondition::absenceOfSetterWithoutBarrier): Deleted.
(JSC::ObjectPropertyCondition::absenceOfSetter): Deleted.

  • bytecode/ObjectPropertyConditionSet.cpp:

(JSC::generateConditionsForPropertySetterMiss):
(JSC::generateConditionsForPropertySetterMissConcurrently):

  • bytecode/PropertyCondition.cpp:

(JSC::PropertyCondition::dumpInContext):
(JSC::PropertyCondition::isStillValidAssumingImpurePropertyWatchpoint):
(JSC::PropertyCondition::isStillValid):
(WTF::printInternal):

  • bytecode/PropertyCondition.h:

(JSC::PropertyCondition::absenceOfSetEffectWithoutBarrier):
(JSC::PropertyCondition::absenceOfSetEffect):
(JSC::PropertyCondition::hasPrototype):
(JSC::PropertyCondition::hash):
(JSC::PropertyCondition::operator==):
(JSC::PropertyCondition::absenceOfSetterWithoutBarrier): Deleted.
(JSC::PropertyCondition::absenceOfSetter): Deleted.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/PropertyCondition.cpp

    r218203 r218218  
    4848        return;
    4949    case Absence:
    50     case AbsenceOfSetter:
     50    case AbsenceOfSetEffect:
    5151        out.print(" with prototype ", inContext(JSValue(prototype()), context));
    5252        return;
     
    125125    }
    126126   
    127     case AbsenceOfSetter: {
     127    case AbsenceOfSetEffect: {
    128128        if (structure->isDictionary()) {
    129129            if (verbose)
     
    135135        PropertyOffset currentOffset = structure->getConcurrently(uid(), currentAttributes);
    136136        if (currentOffset != invalidOffset) {
    137             // FIXME: Given the addition of the check for ReadOnly attributes, we should refactor
    138             // instances of AbsenceOfSetter.
    139             // https://bugs.webkit.org/show_bug.cgi?id=173322 - Refactor AbsenceOfSetter to something like AbsenceOfSetEffects
    140137            if (currentAttributes & (ReadOnly | Accessor | CustomAccessor)) {
    141138                if (verbose) {
     
    224221    // Currently we assume that an impure property can cause a property to appear, and can also
    225222    // "shadow" an existing JS property on the same object. Hence it affects both presence and
    226     // absence. It doesn't affect AbsenceOfSetter because impure properties aren't ever setters.
     223    // absence. It doesn't affect AbsenceOfSetEffect because impure properties aren't ever setters.
    227224    switch (m_kind) {
    228225    case Absence:
     
    355352        out.print("Absence");
    356353        return;
    357     case JSC::PropertyCondition::AbsenceOfSetter:
     354    case JSC::PropertyCondition::AbsenceOfSetEffect:
    358355        out.print("Absence");
    359356        return;
Note: See TracChangeset for help on using the changeset viewer.