Changeset 273107 in webkit for trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
- Timestamp:
- Feb 18, 2021, 3:48:28 PM (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
r272883 r273107 983 983 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 984 984 985 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );986 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get() );985 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 986 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get(), privateTraits.isStatic()); 987 987 988 988 return generator.emitGetFromScope(dst, scope.get(), var, ThrowIfNotFound); … … 993 993 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 994 994 995 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );996 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get() );995 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 996 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get(), privateTraits.isStatic()); 997 997 998 998 RefPtr<RegisterID> getterSetterObj = generator.emitGetFromScope(generator.newTemporary(), scope.get(), var, ThrowIfNotFound); … … 1008 1008 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 1009 1009 1010 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );1011 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get() );1010 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 1011 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get(), privateTraits.isStatic()); 1012 1012 generator.emitThrowTypeError("Trying to access an undefined private getter"); 1013 1013 return dst; … … 1048 1048 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 1049 1049 1050 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );1051 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get() );1050 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 1051 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get(), privateTraits.isStatic()); 1052 1052 1053 1053 RefPtr<RegisterID> getterSetterObj = generator.emitGetFromScope(generator.newTemporary(), scope.get(), var, ThrowIfNotFound); … … 1065 1065 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 1066 1066 1067 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );1068 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get() );1067 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 1068 generator.emitCheckPrivateBrand(base, privateBrandSymbol.get(), privateTraits.isStatic()); 1069 1069 1070 1070 generator.emitThrowTypeError("Trying to access an undefined private setter"); … … 2413 2413 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 2414 2414 2415 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );2416 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get() );2415 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 2416 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get(), privateTraits.isStatic()); 2417 2417 2418 2418 generator.emitExpressionInfo(divot(), divotStart(), divotEnd()); … … 2424 2424 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 2425 2425 2426 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );2427 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get() );2426 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 2427 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get(), privateTraits.isStatic()); 2428 2428 2429 2429 RefPtr<RegisterID> value; … … 2702 2702 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 2703 2703 2704 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );2705 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get() );2704 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 2705 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get(), privateTraits.isStatic()); 2706 2706 2707 2707 generator.emitExpressionInfo(divot(), divotStart(), divotEnd()); … … 2713 2713 RefPtr<RegisterID> scope = generator.emitResolveScope(nullptr, var); 2714 2714 2715 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get() );2716 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get() );2715 RefPtr<RegisterID> privateBrandSymbol = generator.emitGetPrivateBrand(generator.newTemporary(), scope.get(), privateTraits.isStatic()); 2716 generator.emitCheckPrivateBrand(base.get(), privateBrandSymbol.get(), privateTraits.isStatic()); 2717 2717 2718 2718 if (privateTraits.isGetter()) { … … 5153 5153 5154 5154 bool hasPrivateNames = !!m_lexicalVariables.privateNamesSize(); 5155 bool shouldEmitPrivateBrand = m_lexicalVariables.hasPrivateMethodOrAccessor(); 5155 bool shouldEmitPrivateBrand = m_lexicalVariables.hasInstancePrivateMethodOrAccessor(); 5156 bool shouldInstallBrandOnConstructor = m_lexicalVariables.hasStaticPrivateMethodOrAccessor(); 5156 5157 if (hasPrivateNames) 5157 5158 generator.pushPrivateAccessNames(m_lexicalVariables.privateNameEnvironment()); … … 5244 5245 generator.emitPutToScope(scope.get(), classNameVar, constructor.get(), ThrowIfNotFound, InitializationMode::Initialization); 5245 5246 } 5247 5248 if (shouldInstallBrandOnConstructor) 5249 generator.emitInstallPrivateClassBrand(constructor.get()); 5246 5250 5247 5251 if (!staticFieldLocations.isEmpty()) {
Note:
See TracChangeset
for help on using the changeset viewer.