Changeset 194976 in webkit
- Timestamp:
- Jan 13, 2016 12:52:46 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 deleted
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r194969 r194976 1 2016-01-13 Commit Queue <commit-queue@webkit.org> 2 3 Unreviewed, rolling out r194969. 4 https://bugs.webkit.org/show_bug.cgi?id=153075 5 6 This change broke the iOS build (Requested by ryanhaddad on 7 #webkit). 8 9 Reverted changeset: 10 11 "[JSC] Legalize Memory Offsets for ARM64 before lowering to 12 Air" 13 https://bugs.webkit.org/show_bug.cgi?id=153065 14 http://trac.webkit.org/changeset/194969 15 1 16 2016-01-13 Benjamin Poulain <bpoulain@apple.com> 2 17 -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r194969 r194976 1153 1153 43422A661C16267500E2EB98 /* B3ReduceDoubleToFloat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43422A641C16221E00E2EB98 /* B3ReduceDoubleToFloat.cpp */; }; 1154 1154 43422A671C16267800E2EB98 /* B3ReduceDoubleToFloat.h in Headers */ = {isa = PBXBuildFile; fileRef = 43422A651C16221E00E2EB98 /* B3ReduceDoubleToFloat.h */; }; 1155 436E54531C468E7400B5AF73 /* B3LegalizeMemoryOffsets.h in Headers */ = {isa = PBXBuildFile; fileRef = 436E54521C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.h */; };1156 436E54541C468E7700B5AF73 /* B3LegalizeMemoryOffsets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 436E54511C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.cpp */; };1157 1155 43AB26C61C1A535900D82AE6 /* B3MathExtras.h in Headers */ = {isa = PBXBuildFile; fileRef = 43AB26C51C1A52F700D82AE6 /* B3MathExtras.h */; }; 1158 1156 43AB26C71C1A535C00D82AE6 /* B3MathExtras.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 43AB26C41C1A52F700D82AE6 /* B3MathExtras.cpp */; }; … … 3263 3261 43422A641C16221E00E2EB98 /* B3ReduceDoubleToFloat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3ReduceDoubleToFloat.cpp; path = b3/B3ReduceDoubleToFloat.cpp; sourceTree = "<group>"; }; 3264 3262 43422A651C16221E00E2EB98 /* B3ReduceDoubleToFloat.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3ReduceDoubleToFloat.h; path = b3/B3ReduceDoubleToFloat.h; sourceTree = "<group>"; }; 3265 436E54511C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3LegalizeMemoryOffsets.cpp; path = b3/B3LegalizeMemoryOffsets.cpp; sourceTree = "<group>"; };3266 436E54521C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3LegalizeMemoryOffsets.h; path = b3/B3LegalizeMemoryOffsets.h; sourceTree = "<group>"; };3267 3263 43AB26C41C1A52F700D82AE6 /* B3MathExtras.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3MathExtras.cpp; path = b3/B3MathExtras.cpp; sourceTree = "<group>"; }; 3268 3264 43AB26C51C1A52F700D82AE6 /* B3MathExtras.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = B3MathExtras.h; path = b3/B3MathExtras.h; sourceTree = "<group>"; }; … … 3377 3373 7035587C1C418419004BD7BF /* MapPrototype.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = MapPrototype.js; sourceTree = "<group>"; }; 3378 3374 7035587D1C418419004BD7BF /* SetPrototype.js */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.javascript; path = SetPrototype.js; sourceTree = "<group>"; }; 3379 7035587E1C418458004BD7BF /* MapPrototype.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MapPrototype.lut.h; sourceTree = "<group>"; };3380 7035587F1C418458004BD7BF /* SetPrototype.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SetPrototype.lut.h; sourceTree = "<group>"; };3375 7035587E1C418458004BD7BF /* MapPrototype.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MapPrototype.lut.h; path = MapPrototype.lut.h; sourceTree = "<group>"; }; 3376 7035587F1C418458004BD7BF /* SetPrototype.lut.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SetPrototype.lut.h; path = SetPrototype.lut.h; sourceTree = "<group>"; }; 3381 3377 704FD35305697E6D003DBED9 /* BooleanObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = BooleanObject.h; sourceTree = "<group>"; tabWidth = 8; }; 3382 3378 705B41A31A6E501E00716757 /* Symbol.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Symbol.cpp; sourceTree = "<group>"; }; … … 4715 4711 0FEC85B51BE1462F0080FF74 /* B3InsertionSet.h */, 4716 4712 0FEC85B61BE1462F0080FF74 /* B3InsertionSetInlines.h */, 4717 436E54511C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.cpp */,4718 436E54521C468E5F00B5AF73 /* B3LegalizeMemoryOffsets.h */,4719 4713 0F338E191BF286EA0013C88F /* B3LowerMacros.cpp */, 4720 4714 0F338E1A1BF286EA0013C88F /* B3LowerMacros.h */, … … 7944 7938 7E4EE7090EBB7963005934AA /* StructureChain.h in Headers */, 7945 7939 2AAAA31218BD49D100394CC8 /* StructureIDBlob.h in Headers */, 7946 436E54531C468E7400B5AF73 /* B3LegalizeMemoryOffsets.h in Headers */,7947 7940 2AF7382D18BBBF92008A5A37 /* StructureIDTable.h in Headers */, 7948 7941 0FD2C92416D01EE900C7803F /* StructureInlines.h in Headers */, … … 8622 8615 0FEC850B1BDACDAC0080FF74 /* B3Commutativity.cpp in Sources */, 8623 8616 0FEC850D1BDACDAC0080FF74 /* B3Const32Value.cpp in Sources */, 8624 436E54541C468E7700B5AF73 /* B3LegalizeMemoryOffsets.cpp in Sources */,8625 8617 0FEC850F1BDACDAC0080FF74 /* B3Const64Value.cpp in Sources */, 8626 8618 0FEC85111BDACDAC0080FF74 /* B3ConstDoubleValue.cpp in Sources */, -
trunk/Source/JavaScriptCore/b3/B3Generate.cpp
r194969 r194976 33 33 #include "AirInstInlines.h" 34 34 #include "B3Common.h" 35 #include "B3LegalizeMemoryOffsets.h"36 35 #include "B3LowerMacros.h" 37 36 #include "B3LowerMacrosAfterOptimizations.h" … … 87 86 lowerMacrosAfterOptimizations(procedure); 88 87 89 legalizeMemoryOffsets(procedure);90 91 88 moveConstants(procedure); 92 89 -
trunk/Source/JavaScriptCore/b3/B3LowerToAir.cpp
r194969 r194976 358 358 Arg effectiveAddr(Value* address, int32_t offset, Arg::Width width) 359 359 { 360 // B3 allows any memory operation to have a 32-bit offset. That's not how some architectures 361 // work. We solve this by requiring a just-before-lowering phase that legalizes offsets. 362 // FIXME: Implement such a legalization phase. 363 // https://bugs.webkit.org/show_bug.cgi?id=152530 360 364 ASSERT(Arg::isValidAddrForm(offset, width)); 361 365 -
trunk/Source/JavaScriptCore/b3/testb3.cpp
r194969 r194976 137 137 } 138 138 139 void testLoadWithOffsetImpl(int32_t offset64, int32_t offset32)140 {141 {142 Procedure proc;143 BasicBlock* root = proc.addBlock();144 int64_t x = -42;145 Value* base = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);146 root->appendNew<ControlValue>(147 proc, Return, Origin(),148 root->appendNew<MemoryValue>(149 proc, Load, Int64, Origin(),150 base,151 offset64));152 153 char* address = reinterpret_cast<char*>(&x) - offset64;154 CHECK(compileAndRun<int64_t>(proc, address) == -42);155 }156 {157 Procedure proc;158 BasicBlock* root = proc.addBlock();159 int32_t x = -42;160 Value* base = root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0);161 root->appendNew<ControlValue>(162 proc, Return, Origin(),163 root->appendNew<MemoryValue>(164 proc, Load, Int32, Origin(),165 base,166 offset32));167 168 char* address = reinterpret_cast<char*>(&x) - offset32;169 CHECK(compileAndRun<int32_t>(proc, address) == -42);170 }171 }172 173 void testLoadOffsetImm9Max()174 {175 testLoadWithOffsetImpl(255, 255);176 }177 178 void testLoadOffsetImm9MaxPlusOne()179 {180 testLoadWithOffsetImpl(256, 256);181 }182 183 void testLoadOffsetImm9MaxPlusTwo()184 {185 testLoadWithOffsetImpl(257, 257);186 }187 188 void testLoadOffsetImm9Min()189 {190 testLoadWithOffsetImpl(-256, -256);191 }192 193 void testLoadOffsetImm9MinMinusOne()194 {195 testLoadWithOffsetImpl(-257, -257);196 }197 198 void testLoadOffsetScaledUnsignedImm12Max()199 {200 testLoadWithOffsetImpl(32760, 16380);201 }202 203 void testLoadOffsetScaledUnsignedOverImm12Max()204 {205 testLoadWithOffsetImpl(32760, 32760);206 testLoadWithOffsetImpl(32761, 16381);207 testLoadWithOffsetImpl(32768, 16384);208 }209 210 139 void testArg(int argument) 211 140 { … … 9360 9289 RUN(test42()); 9361 9290 RUN(testLoad42()); 9362 RUN(testLoadOffsetImm9Max());9363 RUN(testLoadOffsetImm9MaxPlusOne());9364 RUN(testLoadOffsetImm9MaxPlusTwo());9365 RUN(testLoadOffsetImm9Min());9366 RUN(testLoadOffsetImm9MinMinusOne());9367 RUN(testLoadOffsetScaledUnsignedImm12Max());9368 RUN(testLoadOffsetScaledUnsignedOverImm12Max());9369 9291 RUN(testArg(43)); 9370 9292 RUN(testReturnConst64(5));
Note: See TracChangeset
for help on using the changeset viewer.