• adamk's avatar
    [modules] Detect and throw exceptions for cyclic dependencies · b48eb569
    adamk authored
    Use an unordered_map<Module, unordered_set<String>> to keep track
    of visited Module/ExportName pairs during ResolveExport.
    
    This required adding a Hash() method to Module, which is accomplished
    by allocating a Symbol and storing it in the SharedFunctionInfo::name
    slot, then delegating the hash to that Symbol.
    
    Also added a helper method Module::shared() to easily get ahold of
    the SharedFunctionInfo and call it in the appropriate places instead
    of re-doing the ternary operator.
    
    BUG=v8:1569
    
    Review-Url: https://codereview.chromium.org/2367623004
    Cr-Commit-Position: refs/heads/master@{#39743}
    b48eb569
Name
Last commit
Last update
..
ArrayLiterals.golden Loading commit data...
ArrayLiteralsWide.golden Loading commit data...
AssignmentsInBinaryExpression.golden Loading commit data...
BasicBlockToBoolean.golden Loading commit data...
BasicLoops.golden Loading commit data...
BreakableBlocks.golden Loading commit data...
CallGlobal.golden Loading commit data...
CallLookupSlot.golden Loading commit data...
CallNew.golden Loading commit data...
CallRuntime.golden Loading commit data...
ClassAndSuperClass.golden Loading commit data...
ClassDeclarations.golden Loading commit data...
CompoundExpressions.golden Loading commit data...
Conditional.golden Loading commit data...
ConstVariable.golden Loading commit data...
ConstVariableContextSlot.golden Loading commit data...
ContextParameters.golden Loading commit data...
ContextVariables.golden Loading commit data...
CountOperators.golden Loading commit data...
CreateArguments.golden Loading commit data...
CreateRestParameter.golden Loading commit data...
DeadCodeRemoval.golden Loading commit data...
DeclareGlobals.golden Loading commit data...
Delete.golden Loading commit data...
DeleteLookupSlotInEval.golden Loading commit data...
DoDebugger.golden Loading commit data...
DoExpression.golden Loading commit data...
Eval.golden Loading commit data...
ForIn.golden Loading commit data...
ForOf.golden Loading commit data...
FunctionLiterals.golden Loading commit data...
Generators.golden Loading commit data...
GlobalCompoundExpressions.golden Loading commit data...
GlobalCountOperators.golden Loading commit data...
GlobalDelete.golden Loading commit data...
HeapNumberConstants.golden Loading commit data...
IfConditions.golden Loading commit data...
IntegerConstants.golden Loading commit data...
JumpsRequiringConstantWideOperands.golden Loading commit data...
LetVariable.golden Loading commit data...
LetVariableContextSlot.golden Loading commit data...
LoadGlobal.golden Loading commit data...
LogicalExpressions.golden Loading commit data...
LookupSlot.golden Loading commit data...
LookupSlotInEval.golden Loading commit data...
LookupSlotWideInEval.golden Loading commit data...
NewTarget.golden Loading commit data...
ObjectLiterals.golden Loading commit data...
ObjectLiteralsWide.golden Loading commit data...
OuterContextVariables.golden Loading commit data...
Parameters.golden Loading commit data...
PrimitiveExpressions.golden Loading commit data...
PrimitiveReturnStatements.golden Loading commit data...
PropertyCall.golden Loading commit data...
PropertyLoads.golden Loading commit data...
PropertyStores.golden Loading commit data...
RegExpLiterals.golden Loading commit data...
RegExpLiteralsWide.golden Loading commit data...
RemoveRedundantLdar.golden Loading commit data...
StoreGlobal.golden Loading commit data...
StringConstants.golden Loading commit data...
Switch.golden Loading commit data...
ThisFunction.golden Loading commit data...
Throw.golden Loading commit data...
TopLevelObjectLiterals.golden Loading commit data...
TryCatch.golden Loading commit data...
TryFinally.golden Loading commit data...
Typeof.golden Loading commit data...
UnaryOperators.golden Loading commit data...
WideRegisters.golden Loading commit data...
WithStatement.golden Loading commit data...