Ignore:
Timestamp:
Sep 10, 2013, 2:55:45 PM (12 years ago)
Author:
[email protected]
Message:

Introduce a SpecInt48 type and be more careful about what we mean by "Top"
https://bugs.webkit.org/show_bug.cgi?id=121116

Reviewed by Oliver Hunt.

SpecInt48 will mean that we have something that would be a double if it was a JSValue,
but it's profitable to represent it as something other than a double.

SpecInt48AsDouble means that it has a value that could have been represented like
SpecInt48, but we're making a heuristic decision not to do it.

  • bytecode/SpeculatedType.h:

(JSC::isInt48Speculation):

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):
(JSC::DFG::::clobberCapturedVars):

  • dfg/DFGAbstractValue.cpp:

(JSC::DFG::AbstractValue::filter):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::makeHeapTop):
(JSC::DFG::AbstractValue::makeBytecodeTop):
(JSC::DFG::AbstractValue::isHeapTop):
(JSC::DFG::AbstractValue::heapTop):
(JSC::DFG::AbstractValue::validateType):
(JSC::DFG::AbstractValue::validate):
(JSC::DFG::AbstractValue::makeTop):

  • dfg/DFGInPlaceAbstractState.cpp:

(JSC::DFG::InPlaceAbstractState::initialize):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::noticeOSREntry):

  • dfg/DFGUseKind.h:

(JSC::DFG::typeFilterFor):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/dfg/DFGUseKind.h

    r155201 r155480  
    6363    switch (useKind) {
    6464    case UntypedUse:
    65         return SpecEmptyOrTop; // TOP isn't good enough; untyped uses may use the normally unseen empty value, in the case of lazy registers.
     65        return SpecFullTop;
    6666    case Int32Use:
    6767    case KnownInt32Use:
     
    9898    default:
    9999        RELEASE_ASSERT_NOT_REACHED();
    100         return SpecTop;
     100        return SpecFullTop;
    101101    }
    102102}
Note: See TracChangeset for help on using the changeset viewer.