forked from mirrors/gecko-dev
		
	Bug 1667753 part 2 - Rename RawWord field type to RawInt32. r=anba
emitLoadStubField and emitLoadStubFieldConstant use move32/load32 for this type so RawInt32 is more appropriate than RawWord. Depends on D92601 Differential Revision: https://phabricator.services.mozilla.com/D92602
This commit is contained in:
		
							parent
							
								
									1e3ea0c6ad
								
							
						
					
					
						commit
						1879259682
					
				
					 8 changed files with 49 additions and 49 deletions
				
			
		|  | @ -189,8 +189,8 @@ JS::Symbol* CacheIRCloner::getSymbolField(uint32_t stubOffset) { | |||
| BaseScript* CacheIRCloner::getBaseScriptField(uint32_t stubOffset) { | ||||
|   return reinterpret_cast<BaseScript*>(readStubWord(stubOffset)); | ||||
| } | ||||
| uintptr_t CacheIRCloner::getRawWordField(uint32_t stubOffset) { | ||||
|   return reinterpret_cast<uintptr_t>(readStubWord(stubOffset)); | ||||
| uint32_t CacheIRCloner::getRawInt32Field(uint32_t stubOffset) { | ||||
|   return uint32_t(reinterpret_cast<uintptr_t>(readStubWord(stubOffset))); | ||||
| } | ||||
| const void* CacheIRCloner::getRawPointerField(uint32_t stubOffset) { | ||||
|   return reinterpret_cast<const void*>(readStubWord(stubOffset)); | ||||
|  |  | |||
|  | @ -228,7 +228,7 @@ class StubField { | |||
|  public: | ||||
|   enum class Type : uint8_t { | ||||
|     // These fields take up a single word.
 | ||||
|     RawWord, | ||||
|     RawInt32, | ||||
|     RawPointer, | ||||
|     Shape, | ||||
|     ObjectGroup, | ||||
|  | @ -622,8 +622,8 @@ class MOZ_RAII CacheIRWriter : public JS::CustomAutoRooter { | |||
|     MOZ_ASSERT(script); | ||||
|     addStubField(uintptr_t(script), StubField::Type::BaseScript); | ||||
|   } | ||||
|   void writeRawWordField(uintptr_t word) { | ||||
|     addStubField(word, StubField::Type::RawWord); | ||||
|   void writeRawInt32Field(uint32_t val) { | ||||
|     addStubField(val, StubField::Type::RawInt32); | ||||
|   } | ||||
|   void writeRawPointerField(const void* ptr) { | ||||
|     addStubField(uintptr_t(ptr), StubField::Type::RawPointer); | ||||
|  | @ -1208,7 +1208,7 @@ class MOZ_RAII CacheIRCloner { | |||
|   PropertyName* getPropertyNameField(uint32_t stubOffset); | ||||
|   JS::Symbol* getSymbolField(uint32_t stubOffset); | ||||
|   BaseScript* getBaseScriptField(uint32_t stubOffset); | ||||
|   uintptr_t getRawWordField(uint32_t stubOffset); | ||||
|   uint32_t getRawInt32Field(uint32_t stubOffset); | ||||
|   const void* getRawPointerField(uint32_t stubOffset); | ||||
|   jsid getIdField(uint32_t stubOffset); | ||||
|   const Value getValueField(uint32_t stubOffset); | ||||
|  |  | |||
|  | @ -1107,7 +1107,7 @@ void CacheIRWriter::copyStubData(uint8_t* dest) const { | |||
| 
 | ||||
|   for (const StubField& field : stubFields_) { | ||||
|     switch (field.type()) { | ||||
|       case StubField::Type::RawWord: | ||||
|       case StubField::Type::RawInt32: | ||||
|       case StubField::Type::RawPointer: | ||||
|         *destWords = field.asWord(); | ||||
|         break; | ||||
|  | @ -1155,7 +1155,7 @@ void jit::TraceCacheIRStub(JSTracer* trc, T* stub, | |||
|   while (true) { | ||||
|     StubField::Type fieldType = stubInfo->fieldType(field); | ||||
|     switch (fieldType) { | ||||
|       case StubField::Type::RawWord: | ||||
|       case StubField::Type::RawInt32: | ||||
|       case StubField::Type::RawPointer: | ||||
|       case StubField::Type::RawInt64: | ||||
|       case StubField::Type::DOMExpandoGeneration: | ||||
|  | @ -2008,7 +2008,7 @@ bool CacheIRCompiler::emitGuardDynamicSlotIsSpecificObject( | |||
|   } | ||||
| 
 | ||||
|   // Guard on the expected object.
 | ||||
|   StubFieldOffset slot(slotOffset, StubField::Type::RawWord); | ||||
|   StubFieldOffset slot(slotOffset, StubField::Type::RawInt32); | ||||
|   masm.loadPtr(Address(obj, NativeObject::offsetOfSlots()), scratch1); | ||||
|   emitLoadStubField(slot, scratch2); | ||||
|   BaseObjectSlotIndex expectedSlot(scratch1, scratch2); | ||||
|  | @ -5393,7 +5393,7 @@ bool CacheIRCompiler::emitStoreTypedObjectScalarProperty( | |||
|     Scalar::Type type, uint32_t rhsId) { | ||||
|   JitSpew(JitSpew_Codegen, "%s", __FUNCTION__); | ||||
|   Register obj = allocator.useRegister(masm, objId); | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawWord); | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawInt32); | ||||
| 
 | ||||
|   AutoAvailableFloatRegister floatScratch0(*this, FloatReg0); | ||||
| 
 | ||||
|  | @ -5475,7 +5475,7 @@ bool CacheIRCompiler::emitLoadTypedObjectResult(ObjOperandId objId, | |||
|   AutoScratchRegister scratch1(allocator, masm); | ||||
|   AutoScratchRegister scratch2(allocator, masm); | ||||
| 
 | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawWord); | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawInt32); | ||||
| 
 | ||||
|   // Allocate BigInt if needed. The code after this should be infallible.
 | ||||
|   Maybe<Register> bigInt; | ||||
|  | @ -5574,7 +5574,7 @@ bool CacheIRCompiler::emitStoreFixedSlotUndefinedResult(ObjOperandId objId, | |||
|   Register obj = allocator.useRegister(masm, objId); | ||||
|   ValueOperand val = allocator.useValueRegister(masm, rhsId); | ||||
| 
 | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawWord); | ||||
|   StubFieldOffset offset(offsetOffset, StubField::Type::RawInt32); | ||||
|   emitLoadStubField(offset, scratch); | ||||
| 
 | ||||
|   BaseIndex slot(obj, scratch, TimesOne); | ||||
|  | @ -6968,7 +6968,7 @@ void CacheIRCompiler::emitLoadStubFieldConstant(StubFieldOffset val, | |||
|     case StubField::Type::RawPointer: | ||||
|       masm.movePtr(ImmPtr(pointerStubField(val.getOffset())), dest); | ||||
|       break; | ||||
|     case StubField::Type::RawWord: | ||||
|     case StubField::Type::RawInt32: | ||||
|       masm.move32(Imm32(int32StubField(val.getOffset())), dest); | ||||
|       break; | ||||
|     default: | ||||
|  | @ -7001,7 +7001,7 @@ void CacheIRCompiler::emitLoadStubField(StubFieldOffset val, Register dest) { | |||
|       case StubField::Type::Id: | ||||
|         masm.loadPtr(load, dest); | ||||
|         break; | ||||
|       case StubField::Type::RawWord: | ||||
|       case StubField::Type::RawInt32: | ||||
|         masm.load32(load, dest); | ||||
|         break; | ||||
|       default: | ||||
|  | @ -7013,7 +7013,7 @@ void CacheIRCompiler::emitLoadStubField(StubFieldOffset val, Register dest) { | |||
| Address CacheIRCompiler::emitAddressFromStubField(StubFieldOffset val, | ||||
|                                                   Register base) { | ||||
|   JitSpew(JitSpew_Codegen, "%s", __FUNCTION__); | ||||
|   MOZ_ASSERT(val.getStubFieldType() == StubField::Type::RawWord); | ||||
|   MOZ_ASSERT(val.getStubFieldType() == StubField::Type::RawInt32); | ||||
| 
 | ||||
|   if (stubFieldPolicy_ == StubFieldPolicy::Constant) { | ||||
|     int32_t offset = int32StubField(val.getOffset()); | ||||
|  | @ -7245,7 +7245,7 @@ bool CacheIRCompiler::emitLoadInt32Constant(uint32_t valOffset, | |||
|                                             Int32OperandId resultId) { | ||||
|   JitSpew(JitSpew_Codegen, "%s", __FUNCTION__); | ||||
|   Register reg = allocator.defineRegister(masm, resultId); | ||||
|   StubFieldOffset val(valOffset, StubField::Type::RawWord); | ||||
|   StubFieldOffset val(valOffset, StubField::Type::RawInt32); | ||||
|   emitLoadStubField(val, reg); | ||||
|   return true; | ||||
| } | ||||
|  |  | |||
|  | @ -852,11 +852,11 @@ class MOZ_RAII CacheIRCompiler { | |||
|   } | ||||
|   int32_t int32StubField(uint32_t offset) { | ||||
|     MOZ_ASSERT(stubFieldPolicy_ == StubFieldPolicy::Constant); | ||||
|     return readStubWord(offset, StubField::Type::RawWord); | ||||
|     return readStubWord(offset, StubField::Type::RawInt32); | ||||
|   } | ||||
|   uint32_t uint32StubField(uint32_t offset) { | ||||
|     MOZ_ASSERT(stubFieldPolicy_ == StubFieldPolicy::Constant); | ||||
|     return readStubWord(offset, StubField::Type::RawWord); | ||||
|     return readStubWord(offset, StubField::Type::RawInt32); | ||||
|   } | ||||
|   Shape* shapeStubField(uint32_t offset) { | ||||
|     MOZ_ASSERT(stubFieldPolicy_ == StubFieldPolicy::Constant); | ||||
|  |  | |||
|  | @ -437,7 +437,7 @@ | |||
|   args: | ||||
|     fun: ObjId | ||||
|     expected: ObjectField | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: GuardFunctionScript | ||||
|   shared: false | ||||
|  | @ -447,7 +447,7 @@ | |||
|   args: | ||||
|     obj: ObjId | ||||
|     expected: BaseScriptField | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: GuardSpecificAtom | ||||
|   shared: false | ||||
|  | @ -605,7 +605,7 @@ | |||
|   args: | ||||
|     obj: ObjId | ||||
|     expected: ObjId | ||||
|     slot: RawWordField | ||||
|     slot: RawInt32Field | ||||
| 
 | ||||
| - name: GuardNoAllocationMetadataBuilder | ||||
|   shared: true | ||||
|  | @ -825,7 +825,7 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
| 
 | ||||
| - name: StoreDynamicSlot | ||||
|  | @ -834,7 +834,7 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
| 
 | ||||
| - name: AddAndStoreFixedSlot | ||||
|  | @ -843,7 +843,7 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
|     changeGroup: BoolImm | ||||
|     newGroup: GroupField | ||||
|  | @ -855,7 +855,7 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
|     changeGroup: BoolImm | ||||
|     newGroup: GroupField | ||||
|  | @ -867,12 +867,12 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
|     changeGroup: BoolImm | ||||
|     newGroup: GroupField | ||||
|     newShape: ShapeField | ||||
|     numNewSlots: RawWordField | ||||
|     numNewSlots: RawInt32Field | ||||
| 
 | ||||
| - name: StoreTypedObjectReferenceProperty | ||||
|   shared: false | ||||
|  | @ -880,7 +880,7 @@ | |||
|   cost_estimate: 6 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     layout: TypedThingLayoutImm | ||||
|     type: ReferenceTypeImm | ||||
|     rhs: ValId | ||||
|  | @ -891,7 +891,7 @@ | |||
|   cost_estimate: 2 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     layout: TypedThingLayoutImm | ||||
|     type: ScalarTypeImm | ||||
|     rhs: RawId | ||||
|  | @ -967,7 +967,7 @@ | |||
|   transpile: true | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     rhs: ValId | ||||
| 
 | ||||
| - name: IsObjectResult | ||||
|  | @ -1461,7 +1461,7 @@ | |||
|     setter: ObjectField | ||||
|     rhs: ValId | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallScriptedSetter | ||||
|   shared: false | ||||
|  | @ -1473,7 +1473,7 @@ | |||
|     setter: ObjectField | ||||
|     rhs: ValId | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallInlinedSetter | ||||
|   shared: false | ||||
|  | @ -1486,7 +1486,7 @@ | |||
|     rhs: ValId | ||||
|     icScript: RawPointerField | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallDOMSetter | ||||
|   shared: false | ||||
|  | @ -1625,7 +1625,7 @@ | |||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
| 
 | ||||
| - name: LoadFixedSlotTypedResult | ||||
|   shared: false | ||||
|  | @ -1633,7 +1633,7 @@ | |||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
|     type: ValueTypeImm | ||||
| 
 | ||||
| - name: LoadDynamicSlotResult | ||||
|  | @ -1642,7 +1642,7 @@ | |||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
| 
 | ||||
| - name: LoadTypedObjectResult | ||||
|   shared: true | ||||
|  | @ -1652,7 +1652,7 @@ | |||
|     obj: ObjId | ||||
|     layout: TypedThingLayoutImm | ||||
|     typeDescr: ByteImm | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
| 
 | ||||
| - name: LoadDenseElementResult | ||||
|   shared: true | ||||
|  | @ -1860,7 +1860,7 @@ | |||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
| 
 | ||||
| - name: LoadEnvironmentDynamicSlotResult | ||||
|   shared: false | ||||
|  | @ -1868,7 +1868,7 @@ | |||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     obj: ObjId | ||||
|     offset: RawWordField | ||||
|     offset: RawInt32Field | ||||
| 
 | ||||
| - name: LoadObjectResult | ||||
|   shared: true | ||||
|  | @ -1921,7 +1921,7 @@ | |||
|     receiver: ValId | ||||
|     getter: ObjectField | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallInlinedGetterResult | ||||
|   shared: false | ||||
|  | @ -1933,7 +1933,7 @@ | |||
|     getter: ObjectField | ||||
|     icScript: RawPointerField | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallNativeGetterResult | ||||
|   shared: false | ||||
|  | @ -1944,7 +1944,7 @@ | |||
|     receiver: ValId | ||||
|     getter: ObjectField | ||||
|     sameRealm: BoolImm | ||||
|     nargsAndFlags: RawWordField | ||||
|     nargsAndFlags: RawInt32Field | ||||
| 
 | ||||
| - name: CallDOMGetterResult | ||||
|   shared: false | ||||
|  | @ -2022,7 +2022,7 @@ | |||
|   transpile: true | ||||
|   cost_estimate: 1 | ||||
|   args: | ||||
|     val: RawWordField | ||||
|     val: RawInt32Field | ||||
|     result: Int32Id | ||||
| 
 | ||||
| - name: LoadBooleanConstant | ||||
|  |  | |||
|  | @ -79,7 +79,7 @@ arg_writer_info = { | |||
|     'PropertyNameField': ('PropertyName*', 'writeStringField'), | ||||
|     'SymbolField': ('JS::Symbol*', 'writeSymbolField'), | ||||
|     'BaseScriptField': ('BaseScript*', 'writeBaseScriptField'), | ||||
|     'RawWordField': ('uintptr_t', 'writeRawWordField'), | ||||
|     'RawInt32Field': ('uint32_t', 'writeRawInt32Field'), | ||||
|     'RawPointerField': ('const void*', 'writeRawPointerField'), | ||||
|     'IdField': ('jsid', 'writeIdField'), | ||||
|     'ValueField': ('const Value&', 'writeValueField'), | ||||
|  | @ -177,7 +177,7 @@ arg_reader_info = { | |||
|     'PropertyNameField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'SymbolField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'BaseScriptField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'RawWordField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'RawInt32Field': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'RawPointerField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'IdField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|     'ValueField': ('uint32_t', 'Offset', 'reader.stubOffset()'), | ||||
|  | @ -261,7 +261,7 @@ arg_spewer_method = { | |||
|     'PropertyNameField': 'spewField', | ||||
|     'SymbolField': 'spewField', | ||||
|     'BaseScriptField': 'spewField', | ||||
|     'RawWordField': 'spewField', | ||||
|     'RawInt32Field': 'spewField', | ||||
|     'RawPointerField': 'spewField', | ||||
|     'IdField': 'spewField', | ||||
|     'ValueField': 'spewField', | ||||
|  | @ -395,7 +395,7 @@ arg_length = { | |||
|     'PropertyNameField': 1, | ||||
|     'SymbolField': 1, | ||||
|     'BaseScriptField': 1, | ||||
|     'RawWordField': 1, | ||||
|     'RawInt32Field': 1, | ||||
|     'RawPointerField': 1, | ||||
|     'DOMExpandoGenerationField': 1, | ||||
|     'IdField': 1, | ||||
|  |  | |||
|  | @ -1043,7 +1043,7 @@ bool WarpScriptOracle::replaceNurseryPointers(ICStub* stub, | |||
|   while (true) { | ||||
|     StubField::Type fieldType = stubInfo->fieldType(field); | ||||
|     switch (fieldType) { | ||||
|       case StubField::Type::RawWord: | ||||
|       case StubField::Type::RawInt32: | ||||
|       case StubField::Type::RawPointer: | ||||
|       case StubField::Type::RawInt64: | ||||
|       case StubField::Type::DOMExpandoGeneration: | ||||
|  |  | |||
|  | @ -323,7 +323,7 @@ void WarpCacheIR::traceData(JSTracer* trc) { | |||
|     while (true) { | ||||
|       StubField::Type fieldType = stubInfo_->fieldType(field); | ||||
|       switch (fieldType) { | ||||
|         case StubField::Type::RawWord: | ||||
|         case StubField::Type::RawInt32: | ||||
|         case StubField::Type::RawPointer: | ||||
|         case StubField::Type::RawInt64: | ||||
|         case StubField::Type::DOMExpandoGeneration: | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Jan de Mooij
						Jan de Mooij