Skip to content

Commit 8a4383d

Browse files
committed
Unreviewed, rolling out r225620
https://bugs.webkit.org/show_bug.cgi?id=180514 <rdar://problem/35901694> It broke the build with GCC 7, and I don't know how to fix it. Source/JavaScriptCore: * API/JSCallbackObject.h: * API/JSObjectRef.cpp: (classInfoPrivate): * JavaScriptCore.xcodeproj/project.pbxproj: * Sources.txt: * assembler/MacroAssemblerCodeRef.h: (JSC::FunctionPtr::FunctionPtr): (JSC::FunctionPtr::value const): (JSC::FunctionPtr::executableAddress const): (JSC::ReturnAddressPtr::ReturnAddressPtr): (JSC::ReturnAddressPtr::value const): (JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr): (JSC::MacroAssemblerCodePtr::createFromExecutableAddress): (JSC::MacroAssemblerCodePtr::scrambledPtr const): (JSC::MacroAssemblerCodePtr:: const): (JSC::MacroAssemblerCodePtr::operator! const): (JSC::MacroAssemblerCodePtr::operator== const): (JSC::MacroAssemblerCodePtr::emptyValue): (JSC::MacroAssemblerCodePtr::deletedValue): (JSC::MacroAssemblerCodePtr::poisonedPtr const): Deleted. * b3/B3LowerMacros.cpp: * b3/testb3.cpp: (JSC::B3::testInterpreter): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::checkArray): (JSC::DFG::SpeculativeJIT::compileCheckSubClass): (JSC::DFG::SpeculativeJIT::compileNewStringObject): (JSC::DFG::SpeculativeJIT::emitSwitchIntJump): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject): (JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::emitAllocateDestructibleObject): * jit/SpecializedThunkJIT.h: (JSC::SpecializedThunkJIT::loadArgumentWithSpecificClass): * jit/ThunkGenerators.cpp: (JSC::virtualThunkFor): (JSC::boundThisNoArgsFunctionCallGenerator): * llint/LLIntSlowPaths.cpp: (JSC::LLInt::handleHostCall): (JSC::LLInt::setUpCall): * llint/LowLevelInterpreter64.asm: * runtime/InitializeThreading.cpp: (JSC::initializeThreading): * runtime/JSCScrambledPtr.cpp: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.cpp. (JSC::initializeScrambledPtrKeys): * runtime/JSCScrambledPtr.h: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.h. * runtime/JSDestructibleObject.h: (JSC::JSDestructibleObject::classInfo const): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::classInfo const): * runtime/Structure.h: * runtime/VM.h: Source/WTF: * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/Poisoned.h: Removed. * wtf/ScrambledPtr.cpp: Renamed from Source/WTF/wtf/Poisoned.cpp. (WTF::makeScrambledPtrKey): * wtf/ScrambledPtr.h: Added. (WTF::ScrambledPtr::ScrambledPtr): (WTF::ScrambledPtr::assertIsScrambled const): (WTF::ScrambledPtr::assertIsNotScrambled const): (WTF::ScrambledPtr::descrambled const): (WTF::ScrambledPtr::operator-> const): (WTF::ScrambledPtr::bits const): (WTF::ScrambledPtr::operator! const): (WTF::ScrambledPtr::operator bool const): (WTF::ScrambledPtr::operator== const): (WTF::ScrambledPtr::operator==): (WTF::ScrambledPtr::operator=): (WTF::ScrambledPtr::scramble): (WTF::ScrambledPtr::descramble): Canonical link: https://commits.webkit.org/196449@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@225629 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 07b093c commit 8a4383d

28 files changed

Lines changed: 333 additions & 254 deletions

Source/JavaScriptCore/API/JSCallbackObject.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
#ifndef JSCallbackObject_h
2828
#define JSCallbackObject_h
2929

30-
#include "JSCPoisonedPtr.h"
30+
#include "JSCScrambledPtr.h"
3131
#include "JSObjectRef.h"
3232
#include "JSValueRef.h"
3333
#include "JSObject.h"
@@ -234,7 +234,7 @@ class JSCallbackObject : public Parent {
234234
static EncodedJSValue callbackGetter(ExecState*, EncodedJSValue, PropertyName);
235235

236236
std::unique_ptr<JSCallbackObjectData> m_callbackObjectData;
237-
PoisonedClassInfoPtr m_classInfo;
237+
ClassInfoScrambledPtr m_classInfo;
238238
};
239239

240240
} // namespace JSC

Source/JavaScriptCore/API/JSObjectRef.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,7 @@ static const ClassInfo* classInfoPrivate(JSObject* jsObject)
431431
if (vm.currentlyDestructingCallbackObject != jsObject)
432432
return jsObject->classInfo(vm);
433433

434-
return vm.currentlyDestructingCallbackObjectClassInfo.unpoisoned();
434+
return vm.currentlyDestructingCallbackObjectClassInfo.descrambled();
435435
}
436436

437437
void* JSObjectGetPrivate(JSObjectRef object)

Source/JavaScriptCore/ChangeLog

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,65 @@
1+
2017-12-07 Michael Catanzaro <mcatanzaro@igalia.com>
2+
3+
Unreviewed, rolling out r225620
4+
https://bugs.webkit.org/show_bug.cgi?id=180514
5+
<rdar://problem/35901694>
6+
7+
It broke the build with GCC 7, and I don't know how to fix it.
8+
9+
* API/JSCallbackObject.h:
10+
* API/JSObjectRef.cpp:
11+
(classInfoPrivate):
12+
* JavaScriptCore.xcodeproj/project.pbxproj:
13+
* Sources.txt:
14+
* assembler/MacroAssemblerCodeRef.h:
15+
(JSC::FunctionPtr::FunctionPtr):
16+
(JSC::FunctionPtr::value const):
17+
(JSC::FunctionPtr::executableAddress const):
18+
(JSC::ReturnAddressPtr::ReturnAddressPtr):
19+
(JSC::ReturnAddressPtr::value const):
20+
(JSC::MacroAssemblerCodePtr::MacroAssemblerCodePtr):
21+
(JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
22+
(JSC::MacroAssemblerCodePtr::scrambledPtr const):
23+
(JSC::MacroAssemblerCodePtr:: const):
24+
(JSC::MacroAssemblerCodePtr::operator! const):
25+
(JSC::MacroAssemblerCodePtr::operator== const):
26+
(JSC::MacroAssemblerCodePtr::emptyValue):
27+
(JSC::MacroAssemblerCodePtr::deletedValue):
28+
(JSC::MacroAssemblerCodePtr::poisonedPtr const): Deleted.
29+
* b3/B3LowerMacros.cpp:
30+
* b3/testb3.cpp:
31+
(JSC::B3::testInterpreter):
32+
* dfg/DFGSpeculativeJIT.cpp:
33+
(JSC::DFG::SpeculativeJIT::checkArray):
34+
(JSC::DFG::SpeculativeJIT::compileCheckSubClass):
35+
(JSC::DFG::SpeculativeJIT::compileNewStringObject):
36+
(JSC::DFG::SpeculativeJIT::emitSwitchIntJump):
37+
* ftl/FTLLowerDFGToB3.cpp:
38+
(JSC::FTL::DFG::LowerDFGToB3::compileNewStringObject):
39+
(JSC::FTL::DFG::LowerDFGToB3::compileCheckSubClass):
40+
* jit/AssemblyHelpers.h:
41+
(JSC::AssemblyHelpers::emitAllocateDestructibleObject):
42+
* jit/SpecializedThunkJIT.h:
43+
(JSC::SpecializedThunkJIT::loadArgumentWithSpecificClass):
44+
* jit/ThunkGenerators.cpp:
45+
(JSC::virtualThunkFor):
46+
(JSC::boundThisNoArgsFunctionCallGenerator):
47+
* llint/LLIntSlowPaths.cpp:
48+
(JSC::LLInt::handleHostCall):
49+
(JSC::LLInt::setUpCall):
50+
* llint/LowLevelInterpreter64.asm:
51+
* runtime/InitializeThreading.cpp:
52+
(JSC::initializeThreading):
53+
* runtime/JSCScrambledPtr.cpp: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.cpp.
54+
(JSC::initializeScrambledPtrKeys):
55+
* runtime/JSCScrambledPtr.h: Renamed from Source/JavaScriptCore/runtime/JSCPoisonedPtr.h.
56+
* runtime/JSDestructibleObject.h:
57+
(JSC::JSDestructibleObject::classInfo const):
58+
* runtime/JSSegmentedVariableObject.h:
59+
(JSC::JSSegmentedVariableObject::classInfo const):
60+
* runtime/Structure.h:
61+
* runtime/VM.h:
62+
163
2017-12-06 Mark Lam <mark.lam@apple.com>
264

365
Refactoring: Rename ScrambledPtr to Poisoned.

Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1720,7 +1720,7 @@
17201720
FE1C0FFD1B193E9800B53FCA /* Exception.h in Headers */ = {isa = PBXBuildFile; fileRef = FE1C0FFC1B193E9800B53FCA /* Exception.h */; settings = {ATTRIBUTES = (Private, ); }; };
17211721
FE20CE9E15F04A9500DF3430 /* LLIntCLoop.h in Headers */ = {isa = PBXBuildFile; fileRef = FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */; settings = {ATTRIBUTES = (Private, ); }; };
17221722
FE2A87601F02381600EB31B2 /* MinimumReservedZoneSize.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2A875F1F02381600EB31B2 /* MinimumReservedZoneSize.h */; };
1723-
FE2B0B691FD227E00075DA5F /* JSCPoisonedPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2B0B671FD0D2960075DA5F /* JSCPoisonedPtr.h */; settings = {ATTRIBUTES = (Private, ); }; };
1723+
FE2B0B691FD227E00075DA5F /* JSCScrambledPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = FE2B0B671FD0D2960075DA5F /* JSCScrambledPtr.h */; settings = {ATTRIBUTES = (Private, ); }; };
17241724
FE3022D31E3D73A500BAC493 /* SigillCrashAnalyzer.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3022D11E3D739600BAC493 /* SigillCrashAnalyzer.h */; settings = {ATTRIBUTES = (Private, ); }; };
17251725
FE3022D71E42857300BAC493 /* VMInspector.h in Headers */ = {isa = PBXBuildFile; fileRef = FE3022D51E42856700BAC493 /* VMInspector.h */; };
17261726
FE318FE01CAC982F00DFCC54 /* ECMAScriptSpecInternalFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = FE318FDE1CAC8C5300DFCC54 /* ECMAScriptSpecInternalFunctions.h */; };
@@ -4598,8 +4598,8 @@
45984598
FE20CE9B15F04A9500DF3430 /* LLIntCLoop.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LLIntCLoop.cpp; path = llint/LLIntCLoop.cpp; sourceTree = "<group>"; };
45994599
FE20CE9C15F04A9500DF3430 /* LLIntCLoop.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LLIntCLoop.h; path = llint/LLIntCLoop.h; sourceTree = "<group>"; };
46004600
FE2A875F1F02381600EB31B2 /* MinimumReservedZoneSize.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MinimumReservedZoneSize.h; sourceTree = "<group>"; };
4601-
FE2B0B671FD0D2960075DA5F /* JSCPoisonedPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCPoisonedPtr.h; sourceTree = "<group>"; };
4602-
FE2B0B681FD0D2970075DA5F /* JSCPoisonedPtr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCPoisonedPtr.cpp; sourceTree = "<group>"; };
4601+
FE2B0B671FD0D2960075DA5F /* JSCScrambledPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCScrambledPtr.h; sourceTree = "<group>"; };
4602+
FE2B0B681FD0D2970075DA5F /* JSCScrambledPtr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSCScrambledPtr.cpp; sourceTree = "<group>"; };
46034603
FE2E6A7A1D6EA5FE0060F896 /* ThrowScope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ThrowScope.cpp; sourceTree = "<group>"; };
46044604
FE3022D01E3D739600BAC493 /* SigillCrashAnalyzer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SigillCrashAnalyzer.cpp; sourceTree = "<group>"; };
46054605
FE3022D11E3D739600BAC493 /* SigillCrashAnalyzer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SigillCrashAnalyzer.h; sourceTree = "<group>"; };
@@ -6543,8 +6543,8 @@
65436543
F692A8870255597D01FF60F7 /* JSCJSValue.cpp */,
65446544
14ABB36E099C076400E2A24F /* JSCJSValue.h */,
65456545
865A30F0135007E100CDB49E /* JSCJSValueInlines.h */,
6546-
FE2B0B681FD0D2970075DA5F /* JSCPoisonedPtr.cpp */,
6547-
FE2B0B671FD0D2960075DA5F /* JSCPoisonedPtr.h */,
6546+
FE2B0B681FD0D2970075DA5F /* JSCScrambledPtr.cpp */,
6547+
FE2B0B671FD0D2960075DA5F /* JSCScrambledPtr.h */,
65486548
72AAF7CB1D0D318B005E60BE /* JSCustomGetterSetterFunction.cpp */,
65496549
72AAF7CC1D0D318B005E60BE /* JSCustomGetterSetterFunction.h */,
65506550
0F2B66BD17B6B5AB00A7AE3F /* JSDataView.cpp */,
@@ -8155,7 +8155,7 @@
81558155
0FEC852A1BDACDAC0080FF74 /* B3PhaseScope.h in Headers */,
81568156
0F37308D1C0BD29100052BFA /* B3PhiChildren.h in Headers */,
81578157
0FEC852C1BDACDAC0080FF74 /* B3Procedure.h in Headers */,
8158-
FE2B0B691FD227E00075DA5F /* JSCPoisonedPtr.h in Headers */,
8158+
FE2B0B691FD227E00075DA5F /* JSCScrambledPtr.h in Headers */,
81598159
0FEC852D1BDACDAC0080FF74 /* B3ProcedureInlines.h in Headers */,
81608160
0F725CAA1C503DED00AD943A /* B3PureCSE.h in Headers */,
81618161
43422A671C16267800E2EB98 /* B3ReduceDoubleToFloat.h in Headers */,

Source/JavaScriptCore/Sources.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ runtime/JSAsyncFunction.cpp
772772
runtime/JSAsyncGeneratorFunction.cpp
773773
runtime/JSBoundFunction.cpp
774774
runtime/JSCJSValue.cpp
775-
runtime/JSCPoisonedPtr.cpp
775+
runtime/JSCScrambledPtr.cpp
776776
runtime/JSCallee.cpp
777777
runtime/JSCell.cpp
778778
runtime/JSCustomGetterSetterFunction.cpp

0 commit comments

Comments
 (0)