aece429e4eca54e74456e6c7b33df88366ae6c15
[WebKit-https.git] / Source / JavaScriptCore / ChangeLog
1 2018-09-14  Mark Lam  <mark.lam@apple.com>
2
3         Refactor some ForInContext code for better encapsulation.
4         https://bugs.webkit.org/show_bug.cgi?id=189626
5         <rdar://problem/44466415>
6
7         Reviewed by Keith Miller.
8
9         1. Add a ForInContext::m_type field to store the context type.  This does not
10            increase the class size, but eliminates the need for a virtual call to get the
11            type.
12
13            Note: we still need a virtual destructor because we'll be mingling
14            IndexedForInContexts and StructureForInContexts in the BytecodeGenerator::m_forInContextStack.
15
16         2. Add ForInContext::isIndexedForInContext() and ForInContext::isStructureForInContext()
17            convenience methods.
18
19         3. Add ForInContext::asIndexedForInContext() and ForInContext::asStructureForInContext()
20            to do the casting to the subclass types.  This ensures that we'll properly
21            assert that the casting is legal.
22
23         * bytecompiler/BytecodeGenerator.cpp:
24         (JSC::BytecodeGenerator::emitGetByVal):
25         (JSC::BytecodeGenerator::popIndexedForInScope):
26         (JSC::BytecodeGenerator::popStructureForInScope):
27         * bytecompiler/BytecodeGenerator.h:
28         (JSC::ForInContext::type const):
29         (JSC::ForInContext::isIndexedForInContext const):
30         (JSC::ForInContext::isStructureForInContext const):
31         (JSC::ForInContext::asIndexedForInContext):
32         (JSC::ForInContext::asStructureForInContext):
33         (JSC::ForInContext::ForInContext):
34         (JSC::StructureForInContext::StructureForInContext):
35         (JSC::IndexedForInContext::IndexedForInContext):
36         (JSC::ForInContext::~ForInContext): Deleted.
37
38 2018-09-14  Devin Rousso  <webkit@devinrousso.com>
39
40         Web Inspector: Record actions performed on ImageBitmapRenderingContext
41         https://bugs.webkit.org/show_bug.cgi?id=181341
42
43         Reviewed by Joseph Pecoraro.
44
45         * inspector/protocol/Recording.json:
46         * inspector/scripts/codegen/generator.py:
47
48 2018-09-14  Mike Gorse  <mgorse@suse.com>
49
50         builtins directory causes name conflict on Python 3
51         https://bugs.webkit.org/show_bug.cgi?id=189552
52
53         Reviewed by Michael Catanzaro.
54
55         * CMakeLists.txt: builtins -> wkbuiltins.
56         * DerivedSources.make: builtins -> wkbuiltins.
57         * Scripts/generate-js-builtins.py: import wkbuiltins, rather than
58           builtins.
59         * Scripts/wkbuiltins/__init__.py: Renamed from Source/JavaScriptCore/Scripts/builtins/__init__.py.
60         * Scripts/wkbuiltins/builtins_generate_combined_header.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_combined_header.py.
61         * Scripts/wkbuiltins/builtins_generate_internals_wrapper_implementation.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_internals_wrapper_implementation.py.
62         * Scripts/wkbuiltins/builtins_generate_separate_header.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_header.py.
63         * Scripts/wkbuiltins/builtins_generate_separate_implementation.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_separate_implementation.py.
64         * Scripts/wkbuiltins/builtins_generate_wrapper_header.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_wrapper_header.py.
65         * Scripts/wkbuiltins/builtins_generate_wrapper_implementation.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generate_wrapper_implementation.py.
66         * Scripts/wkbuiltins/builtins_generator.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_generator.py.
67         * Scripts/wkbuiltins/builtins_model.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_model.py.
68         * Scripts/wkbuiltins/builtins_templates.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins_templates.py.
69         * Scripts/wkbuiltins/wkbuiltins.py: Renamed from Source/JavaScriptCore/Scripts/builtins/builtins.py.
70         * JavaScriptCore.xcodeproj/project.pbxproj: Update for the renaming.
71
72 2018-09-13  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
73
74         [WebAssembly] Inline WasmContext accessor functions
75         https://bugs.webkit.org/show_bug.cgi?id=189416
76
77         Reviewed by Saam Barati.
78
79         WasmContext accessor functions are very small while it resides in the critical path of
80         JS to Wasm function call. This patch makes them inline to improve performance.
81         This change improves a small benchmark (calling JS to Wasm function 1e7 times) from 320ms to 270ms.
82
83         * JavaScriptCore.xcodeproj/project.pbxproj:
84         * Sources.txt:
85         * interpreter/CallFrame.cpp:
86         * jit/AssemblyHelpers.cpp:
87         * wasm/WasmB3IRGenerator.cpp:
88         * wasm/WasmContextInlines.h: Renamed from Source/JavaScriptCore/wasm/WasmContext.cpp.
89         (JSC::Wasm::Context::useFastTLS):
90         (JSC::Wasm::Context::load const):
91         (JSC::Wasm::Context::store):
92         * wasm/WasmMemoryInformation.cpp:
93         * wasm/WasmModuleParser.cpp: Include <wtf/SHA1.h> due to changes of unified source combinations.
94         * wasm/js/JSToWasm.cpp:
95         * wasm/js/WebAssemblyFunction.cpp:
96
97 2018-09-12  David Kilzer  <ddkilzer@apple.com>
98
99         Move JavaScriptCore files to match Xcode project hierarchy
100         <https://webkit.org/b/189574>
101
102         Reviewed by Filip Pizlo.
103
104         * API/JSAPIValueWrapper.cpp: Rename from Source/JavaScriptCore/runtime/JSAPIValueWrapper.cpp.
105         * API/JSAPIValueWrapper.h: Rename from Source/JavaScriptCore/runtime/JSAPIValueWrapper.h.
106         * CMakeLists.txt: Update for new path to
107         generateYarrUnicodePropertyTables.py, hasher.py and
108         JSAPIValueWrapper.h.
109         * DerivedSources.make: Ditto. Add missing dependency on
110         hasher.py captured by CMakeLists.txt.
111         * JavaScriptCore.xcodeproj/project.pbxproj: Update for new file
112         reference paths. Add hasher.py library to project.
113         * Sources.txt: Update for new path to
114         JSAPIValueWrapper.cpp.
115         * runtime/JSImmutableButterfly.h: Add missing includes
116         after changes to Sources.txt and regenerating unified
117         sources.
118         * runtime/RuntimeType.h: Ditto.
119         * yarr/generateYarrUnicodePropertyTables.py: Rename from Source/JavaScriptCore/Scripts/generateYarrUnicodePropertyTables.py.
120         * yarr/hasher.py: Rename from Source/JavaScriptCore/Scripts/hasher.py.
121
122 2018-09-12  David Kilzer  <ddkilzer@apple.com>
123
124         Let Xcode have its way with the JavaScriptCore project
125
126         * JavaScriptCore.xcodeproj/project.pbxproj:
127
128 2018-09-12  Guillaume Emont  <guijemont@igalia.com>
129
130         Add IGNORE_WARNING_.* macros
131         https://bugs.webkit.org/show_bug.cgi?id=188996
132
133         Reviewed by Michael Catanzaro.
134
135         * API/JSCallbackObject.h:
136         * API/tests/testapi.c:
137         * assembler/LinkBuffer.h:
138         (JSC::LinkBuffer::finalizeCodeWithDisassembly):
139         * b3/B3LowerToAir.cpp:
140         * b3/B3Opcode.cpp:
141         * b3/B3Type.h:
142         * b3/B3TypeMap.h:
143         * b3/B3Width.h:
144         * b3/air/AirArg.cpp:
145         * b3/air/AirArg.h:
146         * b3/air/AirCode.h:
147         * bytecode/Opcode.h:
148         (JSC::padOpcodeName):
149         * dfg/DFGSpeculativeJIT.cpp:
150         (JSC::DFG::SpeculativeJIT::speculateNumber):
151         (JSC::DFG::SpeculativeJIT::speculateMisc):
152         * dfg/DFGSpeculativeJIT64.cpp:
153         * ftl/FTLOutput.h:
154         * jit/CCallHelpers.h:
155         (JSC::CCallHelpers::calculatePokeOffset):
156         * llint/LLIntData.cpp:
157         * llint/LLIntSlowPaths.cpp:
158         (JSC::LLInt::slowPathLogF):
159         * runtime/ConfigFile.cpp:
160         (JSC::ConfigFile::canonicalizePaths):
161         * runtime/JSDataViewPrototype.cpp:
162         * runtime/JSGenericTypedArrayViewConstructor.h:
163         * runtime/JSGenericTypedArrayViewPrototype.h:
164         * runtime/Options.cpp:
165         (JSC::Options::setAliasedOption):
166         * tools/CodeProfiling.cpp:
167         * wasm/WasmSections.h:
168         * wasm/generateWasmValidateInlinesHeader.py:
169
170 == Rolled over to ChangeLog-2018-09-11 ==