Diff
Modified: trunk/Source/_javascript_Core/CMakeLists.txt (209432 => 209433)
--- trunk/Source/_javascript_Core/CMakeLists.txt 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/CMakeLists.txt 2016-12-07 00:27:58 UTC (rev 209433)
@@ -254,7 +254,6 @@
bytecode/VariableWriteFireDetail.cpp
bytecode/VirtualRegister.cpp
bytecode/Watchpoint.cpp
- bytecode/WebAssemblyCodeBlock.cpp
bytecompiler/BytecodeGenerator.cpp
bytecompiler/NodesCodegen.cpp
@@ -887,7 +886,6 @@
runtime/WeakMapPrototype.cpp
runtime/WeakSetConstructor.cpp
runtime/WeakSetPrototype.cpp
- runtime/WebAssemblyExecutable.cpp
tools/CodeProfile.cpp
tools/CodeProfiling.cpp
Modified: trunk/Source/_javascript_Core/ChangeLog (209432 => 209433)
--- trunk/Source/_javascript_Core/ChangeLog 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/ChangeLog 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,3 +1,50 @@
+2016-12-06 Saam Barati <sbar...@apple.com>
+
+ Remove old Wasm object model
+ https://bugs.webkit.org/show_bug.cgi?id=165481
+
+ Reviewed by Keith Miller and Mark Lam.
+
+ It's confusing to see code that consults both the old
+ Wasm object model alongside the new one. The old object
+ model is not a thing, and it's not being used. Let's
+ remove it now to prevent further confusion.
+
+ * CMakeLists.txt:
+ * _javascript_Core.xcodeproj/project.pbxproj:
+ * bytecode/CodeBlock.cpp:
+ (JSC::CodeBlock::finalizeLLIntInlineCaches):
+ (JSC::CodeBlock::replacement):
+ (JSC::CodeBlock::computeCapabilityLevel):
+ (JSC::CodeBlock::updateAllPredictions):
+ * bytecode/CodeBlock.h:
+ * bytecode/WebAssemblyCodeBlock.cpp: Removed.
+ * bytecode/WebAssemblyCodeBlock.h: Removed.
+ * dfg/DFGCapabilities.cpp:
+ (JSC::DFG::isSupportedForInlining):
+ * interpreter/Interpreter.cpp:
+ (JSC::GetStackTraceFunctor::operator()):
+ (JSC::UnwindFunctor::operator()):
+ (JSC::isWebAssemblyExecutable): Deleted.
+ * jit/JITOperations.cpp:
+ * jit/Repatch.cpp:
+ (JSC::linkPolymorphicCall):
+ * llint/LLIntSlowPaths.cpp:
+ (JSC::LLInt::setUpCall):
+ * runtime/ExecutableBase.cpp:
+ (JSC::ExecutableBase::clearCode):
+ * runtime/ExecutableBase.h:
+ (JSC::ExecutableBase::isWebAssemblyExecutable): Deleted.
+ * runtime/JSFunction.cpp:
+ * runtime/JSFunction.h:
+ * runtime/JSFunctionInlines.h:
+ (JSC::JSFunction::isBuiltinFunction):
+ * runtime/VM.cpp:
+ (JSC::VM::VM):
+ * runtime/VM.h:
+ * runtime/WebAssemblyExecutable.cpp: Removed.
+ * runtime/WebAssemblyExecutable.h: Removed.
+
2016-12-06 JF Bastien <jfbast...@apple.com>
PureNaN: fix typo
Modified: trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj (209432 => 209433)
--- trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/_javascript_Core.xcodeproj/project.pbxproj 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1099,7 +1099,6 @@
147341D41DC02E6D00AA29BA /* ProgramExecutable.h in Headers */ = {isa = PBXBuildFile; fileRef = 147341D31DC02E6D00AA29BA /* ProgramExecutable.h */; settings = {ATTRIBUTES = (Private, ); }; };
147341D61DC02EB900AA29BA /* ModuleProgramExecutable.h in Headers */ = {isa = PBXBuildFile; fileRef = 147341D51DC02EB900AA29BA /* ModuleProgramExecutable.h */; settings = {ATTRIBUTES = (Private, ); }; };
147341D81DC02F9900AA29BA /* FunctionExecutable.h in Headers */ = {isa = PBXBuildFile; fileRef = 147341D71DC02F9900AA29BA /* FunctionExecutable.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 147341DA1DC0300100AA29BA /* WebAssemblyExecutable.h in Headers */ = {isa = PBXBuildFile; fileRef = 147341D91DC0300100AA29BA /* WebAssemblyExecutable.h */; settings = {ATTRIBUTES = (Private, ); }; };
147341E21DC2CE9600AA29BA /* EvalExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341DB1DC2CE9600AA29BA /* EvalExecutable.cpp */; };
147341E31DC2CE9600AA29BA /* FunctionExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341DC1DC2CE9600AA29BA /* FunctionExecutable.cpp */; };
147341E41DC2CE9600AA29BA /* ModuleProgramExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341DD1DC2CE9600AA29BA /* ModuleProgramExecutable.cpp */; };
@@ -1106,7 +1105,6 @@
147341E51DC2CE9600AA29BA /* NativeExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341DE1DC2CE9600AA29BA /* NativeExecutable.cpp */; };
147341E61DC2CE9600AA29BA /* ProgramExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341DF1DC2CE9600AA29BA /* ProgramExecutable.cpp */; };
147341E71DC2CE9600AA29BA /* ScriptExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341E01DC2CE9600AA29BA /* ScriptExecutable.cpp */; };
- 147341E81DC2CE9600AA29BA /* WebAssemblyExecutable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341E11DC2CE9600AA29BA /* WebAssemblyExecutable.cpp */; };
147341EA1DC2CF2500AA29BA /* ExecutableBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 147341E91DC2CF2500AA29BA /* ExecutableBase.cpp */; };
1474C33B16AA2D950062F01D /* PrototypeMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D844A316AA2C7000A65AF0 /* PrototypeMap.h */; settings = {ATTRIBUTES = (Private, ); }; };
1474C33C16AA2D9B0062F01D /* PrototypeMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14D844A216AA2C7000A65AF0 /* PrototypeMap.cpp */; };
@@ -1157,11 +1155,9 @@
14AD910E1DCA92940014F9FE /* GlobalCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD91081DCA92940014F9FE /* GlobalCodeBlock.h */; };
14AD910F1DCA92940014F9FE /* ModuleProgramCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD91091DCA92940014F9FE /* ModuleProgramCodeBlock.h */; };
14AD91101DCA92940014F9FE /* ProgramCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD910A1DCA92940014F9FE /* ProgramCodeBlock.h */; };
- 14AD91111DCA92940014F9FE /* WebAssemblyCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD910B1DCA92940014F9FE /* WebAssemblyCodeBlock.h */; };
14AD91171DCA97FD0014F9FE /* EvalCodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AD91121DCA97FD0014F9FE /* EvalCodeBlock.cpp */; };
14AD91181DCA97FD0014F9FE /* ModuleProgramCodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AD91131DCA97FD0014F9FE /* ModuleProgramCodeBlock.cpp */; };
14AD91191DCA97FD0014F9FE /* ProgramCodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AD91141DCA97FD0014F9FE /* ProgramCodeBlock.cpp */; };
- 14AD911A1DCA97FD0014F9FE /* WebAssemblyCodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AD91151DCA97FD0014F9FE /* WebAssemblyCodeBlock.cpp */; };
14AD911B1DCA97FD0014F9FE /* FunctionCodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 14AD91161DCA97FD0014F9FE /* FunctionCodeBlock.cpp */; };
14AD91221DCA9FA40014F9FE /* UnlinkedGlobalCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD911C1DCA9FA40014F9FE /* UnlinkedGlobalCodeBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
14AD91231DCA9FA40014F9FE /* UnlinkedFunctionCodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 14AD911D1DCA9FA40014F9FE /* UnlinkedFunctionCodeBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
@@ -3485,7 +3481,6 @@
147341D31DC02E6D00AA29BA /* ProgramExecutable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProgramExecutable.h; sourceTree = "<group>"; };
147341D51DC02EB900AA29BA /* ModuleProgramExecutable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModuleProgramExecutable.h; sourceTree = "<group>"; };
147341D71DC02F9900AA29BA /* FunctionExecutable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FunctionExecutable.h; sourceTree = "<group>"; };
- 147341D91DC0300100AA29BA /* WebAssemblyExecutable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAssemblyExecutable.h; sourceTree = "<group>"; };
147341DB1DC2CE9600AA29BA /* EvalExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EvalExecutable.cpp; sourceTree = "<group>"; };
147341DC1DC2CE9600AA29BA /* FunctionExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionExecutable.cpp; sourceTree = "<group>"; };
147341DD1DC2CE9600AA29BA /* ModuleProgramExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ModuleProgramExecutable.cpp; sourceTree = "<group>"; };
@@ -3492,7 +3487,6 @@
147341DE1DC2CE9600AA29BA /* NativeExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NativeExecutable.cpp; sourceTree = "<group>"; };
147341DF1DC2CE9600AA29BA /* ProgramExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProgramExecutable.cpp; sourceTree = "<group>"; };
147341E01DC2CE9600AA29BA /* ScriptExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ScriptExecutable.cpp; sourceTree = "<group>"; };
- 147341E11DC2CE9600AA29BA /* WebAssemblyExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebAssemblyExecutable.cpp; sourceTree = "<group>"; };
147341E91DC2CF2500AA29BA /* ExecutableBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExecutableBase.cpp; sourceTree = "<group>"; };
147B83AA0E6DB8C9004775A4 /* BatchedTransitionOptimizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BatchedTransitionOptimizer.h; sourceTree = "<group>"; };
147B84620E6DE6B1004775A4 /* PutPropertySlot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PutPropertySlot.h; sourceTree = "<group>"; };
@@ -3523,11 +3517,9 @@
14AD91081DCA92940014F9FE /* GlobalCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlobalCodeBlock.h; sourceTree = "<group>"; };
14AD91091DCA92940014F9FE /* ModuleProgramCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ModuleProgramCodeBlock.h; sourceTree = "<group>"; };
14AD910A1DCA92940014F9FE /* ProgramCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProgramCodeBlock.h; sourceTree = "<group>"; };
- 14AD910B1DCA92940014F9FE /* WebAssemblyCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebAssemblyCodeBlock.h; sourceTree = "<group>"; };
14AD91121DCA97FD0014F9FE /* EvalCodeBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = EvalCodeBlock.cpp; sourceTree = "<group>"; };
14AD91131DCA97FD0014F9FE /* ModuleProgramCodeBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ModuleProgramCodeBlock.cpp; sourceTree = "<group>"; };
14AD91141DCA97FD0014F9FE /* ProgramCodeBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ProgramCodeBlock.cpp; sourceTree = "<group>"; };
- 14AD91151DCA97FD0014F9FE /* WebAssemblyCodeBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebAssemblyCodeBlock.cpp; sourceTree = "<group>"; };
14AD91161DCA97FD0014F9FE /* FunctionCodeBlock.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FunctionCodeBlock.cpp; sourceTree = "<group>"; };
14AD911C1DCA9FA40014F9FE /* UnlinkedGlobalCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnlinkedGlobalCodeBlock.h; sourceTree = "<group>"; };
14AD911D1DCA9FA40014F9FE /* UnlinkedFunctionCodeBlock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UnlinkedFunctionCodeBlock.h; sourceTree = "<group>"; };
@@ -6660,8 +6652,6 @@
709FB8641AE335C60039D069 /* WeakSetConstructor.h */,
709FB8651AE335C60039D069 /* WeakSetPrototype.cpp */,
709FB8661AE335C60039D069 /* WeakSetPrototype.h */,
- 147341E11DC2CE9600AA29BA /* WebAssemblyExecutable.cpp */,
- 147341D91DC0300100AA29BA /* WebAssemblyExecutable.h */,
A7DCB77912E3D90500911940 /* WriteBarrier.h */,
C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */,
8B47F234366C4B72AC852A7E /* TemplateRegistryKeyTable.cpp */,
@@ -7309,8 +7299,6 @@
0F426A461460CBAB00131F8F /* VirtualRegister.h */,
0F919D2215853CDE004A4E7D /* Watchpoint.cpp */,
0F919D2315853CDE004A4E7D /* Watchpoint.h */,
- 14AD91151DCA97FD0014F9FE /* WebAssemblyCodeBlock.cpp */,
- 14AD910B1DCA92940014F9FE /* WebAssemblyCodeBlock.h */,
14142E501B796ECE00F4BF4B /* UnlinkedFunctionExecutable.h */,
);
path = bytecode;
@@ -7818,7 +7806,6 @@
269D636E1BFBE5D100101B1D /* FTLOutput.h in Headers */,
0FEC853E1BDACDAC0080FF74 /* B3UpsilonValue.h in Headers */,
0FEC85401BDACDAC0080FF74 /* B3UseCounts.h in Headers */,
- 14AD91111DCA92940014F9FE /* WebAssemblyCodeBlock.h in Headers */,
0FEC85421BDACDAC0080FF74 /* B3Validate.h in Headers */,
0FEC85441BDACDAC0080FF74 /* B3Value.h in Headers */,
0FEC85451BDACDAC0080FF74 /* B3ValueInlines.h in Headers */,
@@ -8182,7 +8169,6 @@
53FF7F991DBFCD9000A26CCC /* WasmValidate.h in Headers */,
0FC97F4218202119002C9B26 /* DFGWatchpointCollectionPhase.h in Headers */,
0FDB2CE8174830A2007B3C1B /* DFGWorklist.h in Headers */,
- 147341DA1DC0300100AA29BA /* WebAssemblyExecutable.h in Headers */,
0F070A491D543A93006E7232 /* HeapCellInlines.h in Headers */,
0FE050181AA9091100D33B33 /* DirectArguments.h in Headers */,
0FE050161AA9091100D33B33 /* DirectArgumentsOffset.h in Headers */,
@@ -9555,7 +9541,6 @@
0FEC85871BDACDC70080FF74 /* AirSpecial.cpp in Sources */,
0FEC85891BDACDC70080FF74 /* AirSpillEverything.cpp in Sources */,
0FEC858B1BDACDC70080FF74 /* AirStackSlot.cpp in Sources */,
- 14AD911A1DCA97FD0014F9FE /* WebAssemblyCodeBlock.cpp in Sources */,
0FEC858D1BDACDC70080FF74 /* AirTmp.cpp in Sources */,
0FEC85901BDACDC70080FF74 /* AirValidate.cpp in Sources */,
147F39BD107EC37600427A48 /* ArgList.cpp in Sources */,
@@ -9812,7 +9797,6 @@
0F2B9CEA19D0BA7D00B1D1B5 /* DFGPhiChildren.cpp in Sources */,
A78A977A179738B8009DF744 /* DFGPlan.cpp in Sources */,
0FBE0F7416C1DB090082C5E8 /* DFGPredictionInjectionPhase.cpp in Sources */,
- 147341E81DC2CE9600AA29BA /* WebAssemblyExecutable.cpp in Sources */,
0FFFC95D14EF90B300C72532 /* DFGPredictionPropagationPhase.cpp in Sources */,
0F3E01AA19D353A500F61B7F /* DFGPrePostNumbering.cpp in Sources */,
0F2B9CEC19D0BA7D00B1D1B5 /* DFGPromotedHeapLocation.cpp in Sources */,
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -74,8 +74,6 @@
#include "TypeProfiler.h"
#include "UnlinkedInstructionStream.h"
#include "VMInlines.h"
-#include "WebAssemblyCodeBlock.h"
-#include "WebAssemblyExecutable.h"
#include <wtf/BagToHashMap.h>
#include <wtf/CommaPrinter.h>
#include <wtf/SimpleStats.h>
@@ -2364,43 +2362,6 @@
heap()->reportExtraMemoryAllocated(m_instructions.size() * sizeof(Instruction));
}
-#if ENABLE(WEBASSEMBLY)
-CodeBlock::CodeBlock(VM* vm, Structure* structure, WebAssemblyExecutable* ownerExecutable, JSGlobalObject* globalObject)
- : JSCell(*vm, structure)
- , m_globalObject(globalObject->vm(), this, globalObject)
- , m_numCalleeLocals(0)
- , m_numVars(0)
- , m_shouldAlwaysBeInlined(false)
-#if ENABLE(JIT)
- , m_capabilityLevelState(DFG::CannotCompile)
-#endif
- , m_didFailJITCompilation(false)
- , m_didFailFTLCompilation(false)
- , m_hasBeenCompiledWithFTL(false)
- , m_isConstructor(false)
- , m_isStrictMode(false)
- , m_codeType(FunctionCode)
- , m_hasDebuggerStatement(false)
- , m_steppingMode(SteppingModeDisabled)
- , m_numBreakpoints(0)
- , m_ownerExecutable(m_globalObject->vm(), this, ownerExecutable)
- , m_vm(vm)
- , m_osrExitCounter(0)
- , m_optimizationDelayCounter(0)
- , m_reoptimizationRetryCounter(0)
- , m_creationTime(std::chrono::steady_clock::now())
-{
- ASSERT(heap()->isDeferred());
-}
-
-void CodeBlock::finishCreation(VM& vm, WebAssemblyExecutable*, JSGlobalObject*)
-{
- Base::finishCreation(vm);
-
- heap()->m_codeBlocks->add(this);
-}
-#endif
-
CodeBlock::~CodeBlock()
{
if (m_vm->m_perBytecodeProfiler)
@@ -2817,11 +2778,6 @@
void CodeBlock::finalizeLLIntInlineCaches()
{
-#if ENABLE(WEBASSEMBLY)
- if (m_ownerExecutable->isWebAssemblyExecutable())
- return;
-#endif
-
Interpreter* interpreter = m_vm->interpreter;
const Vector<unsigned>& propertyAccessInstructions = m_unlinkedCode->propertyAccessInstructions();
for (size_t size = propertyAccessInstructions.size(), i = 0; i < size; ++i) {
@@ -3376,11 +3332,6 @@
if (classInfo == ModuleProgramCodeBlock::info())
return jsCast<ModuleProgramExecutable*>(ownerExecutable())->codeBlock();
-#if ENABLE(WEBASSEMBLY)
- if (classInfo == WebAssemblyCodeBlock::info())
- return nullptr;
-#endif
-
RELEASE_ASSERT_NOT_REACHED();
return nullptr;
}
@@ -3404,11 +3355,6 @@
if (classInfo == ModuleProgramCodeBlock::info())
return DFG::programCapabilityLevel(this);
-#if ENABLE(WEBASSEMBLY)
- if (classInfo == WebAssemblyCodeBlock::info())
- return DFG::CannotCompile;
-#endif
-
RELEASE_ASSERT_NOT_REACHED();
return DFG::CannotCompile;
}
@@ -4080,10 +4026,6 @@
void CodeBlock::updateAllPredictions()
{
-#if ENABLE(WEBASSEMBLY)
- if (m_ownerExecutable->isWebAssemblyExecutable())
- return;
-#endif
updateAllValueProfilePredictions();
updateAllArrayPredictions();
}
Modified: trunk/Source/_javascript_Core/bytecode/CodeBlock.h (209432 => 209433)
--- trunk/Source/_javascript_Core/bytecode/CodeBlock.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/bytecode/CodeBlock.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -119,15 +119,9 @@
protected:
CodeBlock(VM*, Structure*, CopyParsedBlockTag, CodeBlock& other);
CodeBlock(VM*, Structure*, ScriptExecutable* ownerExecutable, UnlinkedCodeBlock*, JSScope*, PassRefPtr<SourceProvider>, unsigned sourceOffset, unsigned firstLineColumnOffset);
-#if ENABLE(WEBASSEMBLY)
- CodeBlock(VM*, Structure*, WebAssemblyExecutable* ownerExecutable, JSGlobalObject*);
-#endif
void finishCreation(VM&, CopyParsedBlockTag, CodeBlock& other);
void finishCreation(VM&, ScriptExecutable* ownerExecutable, UnlinkedCodeBlock*, JSScope*);
-#if ENABLE(WEBASSEMBLY)
- void finishCreation(VM&, WebAssemblyExecutable* ownerExecutable, JSGlobalObject*);
-#endif
WriteBarrier<JSGlobalObject> m_globalObject;
Deleted: trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,47 +0,0 @@
-/*
- * Copyright (C) 2008-2010, 2012-2016 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Cameron Zwarich <cwzwar...@uwaterloo.ca>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "WebAssemblyCodeBlock.h"
-
-namespace JSC {
-
-#if ENABLE(WEBASSEMBLY)
-const ClassInfo WebAssemblyCodeBlock::s_info = {
- "WebAssemblyCodeBlock", &Base::s_info, 0,
- CREATE_METHOD_TABLE(WebAssemblyCodeBlock)
-};
-
-void WebAssemblyCodeBlock::destroy(JSCell* cell)
-{
- jsCast<WebAssemblyCodeBlock*>(cell)->~WebAssemblyCodeBlock();
-}
-#endif
-
-} // namespace JSC
Deleted: trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.h (209432 => 209433)
--- trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/bytecode/WebAssemblyCodeBlock.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2008-2016 Apple Inc. All rights reserved.
- * Copyright (C) 2008 Cameron Zwarich <cwzwar...@uwaterloo.ca>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Apple Inc. ("Apple") nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "CodeBlock.h"
-
-namespace JSC {
-
-#if ENABLE(WEBASSEMBLY)
-class WebAssemblyCodeBlock : public CodeBlock {
-public:
- typedef CodeBlock Base;
- DECLARE_INFO;
-
- static WebAssemblyCodeBlock* create(VM* vm, CopyParsedBlockTag, WebAssemblyCodeBlock& other)
- {
- WebAssemblyCodeBlock* instance = new (NotNull, allocateCell<WebAssemblyCodeBlock>(vm->heap))
- WebAssemblyCodeBlock(vm, vm->webAssemblyCodeBlockStructure.get(), CopyParsedBlock, other);
- instance->finishCreation(*vm, CopyParsedBlock, other);
- return instance;
- }
-
- static WebAssemblyCodeBlock* create(VM* vm, WebAssemblyExecutable* ownerExecutable, JSGlobalObject* globalObject)
- {
- WebAssemblyCodeBlock* instance = new (NotNull, allocateCell<WebAssemblyCodeBlock>(vm->heap))
- WebAssemblyCodeBlock(vm, vm->webAssemblyCodeBlockStructure.get(), ownerExecutable, globalObject);
- instance->finishCreation(*vm, ownerExecutable, globalObject);
- return instance;
- }
-
- static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
- {
- return Structure::create(vm, globalObject, prototype, TypeInfo(CellType, StructureFlags), info());
- }
-
-private:
- WebAssemblyCodeBlock(VM* vm, Structure* structure, CopyParsedBlockTag, WebAssemblyCodeBlock& other)
- : CodeBlock(vm, structure, CopyParsedBlock, other)
- {
- }
-
- WebAssemblyCodeBlock(VM* vm, Structure* structure, WebAssemblyExecutable* ownerExecutable, JSGlobalObject* globalObject)
- : CodeBlock(vm, structure, ownerExecutable, globalObject)
- {
- }
-
- static void destroy(JSCell*);
-};
-#endif
-
-} // namespace JSC
Modified: trunk/Source/_javascript_Core/dfg/DFGCapabilities.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/dfg/DFGCapabilities.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/dfg/DFGCapabilities.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -44,10 +44,6 @@
bool isSupportedForInlining(CodeBlock* codeBlock)
{
-#if ENABLE(WEBASSEMBLY)
- if (codeBlock->ownerExecutable()->isWebAssemblyExecutable())
- return false;
-#endif
return codeBlock->ownerScriptExecutable()->isInliningCandidate();
}
Modified: trunk/Source/_javascript_Core/interpreter/Interpreter.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/interpreter/Interpreter.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -447,16 +447,6 @@
#endif
}
-static inline bool isWebAssemblyExecutable(ExecutableBase* executable)
-{
-#if !ENABLE(WEBASSEMBLY)
- UNUSED_PARAM(executable);
- return false;
-#else
- return executable->isWebAssemblyExecutable();
-#endif
-}
-
class GetStackTraceFunctor {
public:
GetStackTraceFunctor(VM& vm, Vector<StackFrame>& results, size_t framesToSkip, size_t capacity)
@@ -477,7 +467,6 @@
if (m_remainingCapacityForFrameCapture) {
if (visitor->isJSFrame()
- && !isWebAssemblyExecutable(visitor->codeBlock()->ownerExecutable())
&& !visitor->codeBlock()->unlinkedCodeBlock()->isBuiltinFunction()) {
StackFrame s = {
Strong<JSObject>(m_vm, visitor->callee()),
@@ -619,7 +608,7 @@
m_handler = nullptr;
if (!m_isTermination) {
- if (m_codeBlock && !isWebAssemblyExecutable(m_codeBlock->ownerExecutable()))
+ if (m_codeBlock)
m_handler = findExceptionHandler(visitor, m_codeBlock, RequiredHandler::AnyHandler);
}
Modified: trunk/Source/_javascript_Core/jit/JITOperations.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/jit/JITOperations.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/jit/JITOperations.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -70,7 +70,6 @@
#include "TestRunnerUtils.h"
#include "TypeProfilerLog.h"
#include "VMInlines.h"
-#include "WebAssemblyCodeBlock.h"
#include <wtf/InlineASM.h>
namespace JSC {
@@ -895,18 +894,6 @@
CodeBlock* codeBlock = 0;
if (executable->isHostFunction()) {
codePtr = executable->entrypointFor(kind, MustCheckArity);
-#if ENABLE(WEBASSEMBLY)
- } else if (executable->isWebAssemblyExecutable()) {
- WebAssemblyExecutable* webAssemblyExecutable = static_cast<WebAssemblyExecutable*>(executable);
- codeBlock = webAssemblyExecutable->codeBlockForCall();
- ASSERT(codeBlock);
- ArityCheckMode arity;
- if (execCallee->argumentCountIncludingThis() < static_cast<size_t>(codeBlock->numParameters()))
- arity = MustCheckArity;
- else
- arity = ArityCheckNotRequired;
- codePtr = webAssemblyExecutable->entrypointFor(kind, arity);
-#endif
} else {
FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
@@ -1015,37 +1002,22 @@
JSScope* scope = function->scopeUnchecked();
ExecutableBase* executable = function->executable();
if (UNLIKELY(!executable->hasJITCodeFor(kind))) {
- bool isWebAssemblyExecutable = false;
-#if ENABLE(WEBASSEMBLY)
- isWebAssemblyExecutable = executable->isWebAssemblyExecutable();
-#endif
- if (!isWebAssemblyExecutable) {
- FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
+ FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
- if (!isCall(kind) && functionExecutable->constructAbility() == ConstructAbility::CannotConstruct) {
- throwException(exec, throwScope, createNotAConstructorError(exec, function));
- return encodeResult(
- vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
- reinterpret_cast<void*>(KeepTheFrame));
- }
+ if (!isCall(kind) && functionExecutable->constructAbility() == ConstructAbility::CannotConstruct) {
+ throwException(exec, throwScope, createNotAConstructorError(exec, function));
+ return encodeResult(
+ vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
+ reinterpret_cast<void*>(KeepTheFrame));
+ }
- CodeBlock** codeBlockSlot = execCallee->addressOfCodeBlock();
- JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(*vm, function, scope, kind, *codeBlockSlot);
- if (error) {
- throwException(exec, throwScope, error);
- return encodeResult(
- vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
- reinterpret_cast<void*>(KeepTheFrame));
- }
- } else {
-#if ENABLE(WEBASSEMBLY)
- if (!isCall(kind)) {
- throwException(exec, throwScope, createNotAConstructorError(exec, function));
- return encodeResult(
- vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
- reinterpret_cast<void*>(KeepTheFrame));
- }
-#endif
+ CodeBlock** codeBlockSlot = execCallee->addressOfCodeBlock();
+ JSObject* error = functionExecutable->prepareForExecution<FunctionExecutable>(*vm, function, scope, kind, *codeBlockSlot);
+ if (error) {
+ throwException(exec, throwScope, error);
+ return encodeResult(
+ vm->getCTIStub(throwExceptionFromCallSlowPathGenerator).code().executableAddress(),
+ reinterpret_cast<void*>(KeepTheFrame));
}
}
return encodeResult(executable->entrypointFor(
Modified: trunk/Source/_javascript_Core/jit/Repatch.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/jit/Repatch.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/jit/Repatch.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -53,7 +53,6 @@
#include "StructureStubClearingWatchpoint.h"
#include "StructureStubInfo.h"
#include "ThunkGenerators.h"
-#include "WebAssemblyCodeBlock.h"
#include <wtf/CommaPrinter.h>
#include <wtf/ListDump.h>
#include <wtf/StringPrintStream.h>
@@ -714,12 +713,7 @@
codeBlock = nullptr;
else {
ExecutableBase* executable = variant.executable();
-#if ENABLE(WEBASSEMBLY)
- if (executable->isWebAssemblyExecutable())
- codeBlock = jsCast<WebAssemblyExecutable*>(executable)->codeBlockForCall();
- else
-#endif
- codeBlock = jsCast<FunctionExecutable*>(executable)->codeBlockForCall();
+ codeBlock = jsCast<FunctionExecutable*>(executable)->codeBlockForCall();
// If we cannot handle a callee, either because we don't have a CodeBlock or because arity mismatch,
// assume that it's better for this whole thing to be a virtual call.
if (!codeBlock || exec->argumentCountIncludingThis() < static_cast<size_t>(codeBlock->numParameters()) || callLinkInfo.isVarargs()) {
Modified: trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/llint/LLIntSlowPaths.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -66,7 +66,6 @@
#include "ShadowChicken.h"
#include "StructureRareDataInlines.h"
#include "VMInlines.h"
-#include "WebAssemblyCodeBlock.h"
#include <wtf/NeverDestroyed.h>
#include <wtf/StringPrintStream.h>
@@ -1292,14 +1291,9 @@
MacroAssemblerCodePtr codePtr;
CodeBlock* codeBlock = 0;
- bool isWebAssemblyExecutable = false;
-#if ENABLE(WEBASSEMBLY)
- isWebAssemblyExecutable = executable->isWebAssemblyExecutable();
-#endif
-
if (executable->isHostFunction()) {
codePtr = executable->entrypointFor(kind, MustCheckArity);
- } else if (!isWebAssemblyExecutable) {
+ } else {
FunctionExecutable* functionExecutable = static_cast<FunctionExecutable*>(executable);
if (!isCall(kind) && functionExecutable->constructAbility() == ConstructAbility::CannotConstruct)
@@ -1318,20 +1312,8 @@
else
arity = ArityCheckNotRequired;
codePtr = functionExecutable->entrypointFor(kind, arity);
- } else {
-#if ENABLE(WEBASSEMBLY)
- WebAssemblyExecutable* webAssemblyExecutable = static_cast<WebAssemblyExecutable*>(executable);
- codeBlock = webAssemblyExecutable->codeBlockForCall();
- ASSERT(codeBlock);
- ArityCheckMode arity;
- if (execCallee->argumentCountIncludingThis() < static_cast<size_t>(codeBlock->numParameters()))
- arity = MustCheckArity;
- else
- arity = ArityCheckNotRequired;
- codePtr = webAssemblyExecutable->entrypointFor(kind, arity);
-#endif
}
-
+
ASSERT(!!codePtr);
if (!LLINT_ALWAYS_ACCESS_SLOW && callLinkInfo) {
Modified: trunk/Source/_javascript_Core/runtime/ExecutableBase.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/ExecutableBase.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/ExecutableBase.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -89,14 +89,6 @@
return;
}
-#if ENABLE(WEBASSEMBLY)
- if (classInfo() == WebAssemblyExecutable::info()) {
- WebAssemblyExecutable* executable = jsCast<WebAssemblyExecutable*>(this);
- executable->m_codeBlockForCall.clear();
- return;
- }
-#endif
-
ASSERT(classInfo() == NativeExecutable::info());
}
Modified: trunk/Source/_javascript_Core/runtime/ExecutableBase.h (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/ExecutableBase.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/ExecutableBase.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -50,7 +50,6 @@
class LLIntOffsetsExtractor;
class ModuleProgramCodeBlock;
class ProgramCodeBlock;
-class WebAssemblyCodeBlock;
enum CompilationKind { FirstCompilation, OptimizingCompilation };
@@ -115,13 +114,6 @@
return m_numParametersForCall == NUM_PARAMETERS_IS_HOST;
}
-#if ENABLE(WEBASSEMBLY)
- bool isWebAssemblyExecutable() const
- {
- return type() == WebAssemblyExecutableType;
- }
-#endif
-
static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto) { return Structure::create(vm, globalObject, proto, TypeInfo(CellType, StructureFlags), info()); }
void clearCode();
Modified: trunk/Source/_javascript_Core/runtime/JSFunction.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/JSFunction.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/JSFunction.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -74,16 +74,6 @@
return result;
}
-#if ENABLE(WEBASSEMBLY)
-JSFunction* JSFunction::create(VM& vm, WebAssemblyExecutable* executable, JSScope* scope)
-{
- JSFunction* function = new (NotNull, allocateCell<JSFunction>(vm.heap)) JSFunction(vm, executable, scope);
- ASSERT(function->structure(vm)->globalObject());
- function->finishCreation(vm);
- return function;
-}
-#endif
-
JSFunction* JSFunction::create(VM& vm, JSGlobalObject* globalObject, int length, const String& name, NativeFunction nativeFunction, Intrinsic intrinsic, NativeFunction nativeConstructor, const DOMJIT::Signature* signature)
{
NativeExecutable* executable = vm.getHostFunction(nativeFunction, intrinsic, nativeConstructor, signature, name);
Modified: trunk/Source/_javascript_Core/runtime/JSFunction.h (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/JSFunction.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/JSFunction.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -39,7 +39,6 @@
class LLIntOffsetsExtractor;
class NativeExecutable;
class SourceCode;
-class WebAssemblyExecutable;
class InternalFunction;
namespace DFG {
class SpeculativeJIT;
@@ -78,9 +77,6 @@
static JSFunction* create(VM&, FunctionExecutable*, JSScope*);
static JSFunction* create(VM&, FunctionExecutable*, JSScope*, Structure*);
-#if ENABLE(WEBASSEMBLY)
- static JSFunction* create(VM&, WebAssemblyExecutable*, JSScope*);
-#endif
JS_EXPORT_PRIVATE static JSFunction* createBuiltinFunction(VM&, FunctionExecutable*, JSGlobalObject*);
static JSFunction* createBuiltinFunction(VM&, FunctionExecutable*, JSGlobalObject*, const String& name);
@@ -160,10 +156,6 @@
JS_EXPORT_PRIVATE JSFunction(VM&, JSGlobalObject*, Structure*);
JSFunction(VM&, FunctionExecutable*, JSScope*, Structure*);
-#if ENABLE(WEBASSEMBLY)
- JSFunction(VM&, WebAssemblyExecutable*, JSScope*);
-#endif
-
void finishCreation(VM&, NativeExecutable*, int length, const String& name);
using Base::finishCreation;
Modified: trunk/Source/_javascript_Core/runtime/JSFunctionInlines.h (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/JSFunctionInlines.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/JSFunctionInlines.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -28,7 +28,6 @@
#include "FunctionExecutable.h"
#include "JSFunction.h"
#include "NativeExecutable.h"
-#include "WebAssemblyExecutable.h"
namespace JSC {
@@ -46,15 +45,6 @@
{
}
-#if ENABLE(WEBASSEMBLY)
-inline JSFunction::JSFunction(VM& vm, WebAssemblyExecutable* executable, JSScope* scope)
- : Base(vm, scope, scope->globalObject(vm)->functionStructure())
- , m_executable(vm, this, executable)
- , m_rareData()
-{
-}
-#endif
-
inline FunctionExecutable* JSFunction::jsExecutable() const
{
ASSERT(!isHostFunctionNonInline());
@@ -74,10 +64,6 @@
inline bool JSFunction::isBuiltinFunction() const
{
-#if ENABLE(WEBASSEMBLY)
- if (m_executable->isWebAssemblyExecutable())
- return false;
-#endif
return !isHostFunction() && jsExecutable()->isBuiltinFunction();
}
Modified: trunk/Source/_javascript_Core/runtime/VM.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/VM.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/VM.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -103,7 +103,6 @@
#include "Watchdog.h"
#include "WeakGCMapInlines.h"
#include "WeakMapData.h"
-#include "WebAssemblyCodeBlock.h"
#include <wtf/CurrentTime.h>
#include <wtf/ProcessID.h>
#include <wtf/SimpleStats.h>
@@ -229,7 +228,6 @@
programExecutableStructure.set(*this, ProgramExecutable::createStructure(*this, 0, jsNull()));
functionExecutableStructure.set(*this, FunctionExecutable::createStructure(*this, 0, jsNull()));
#if ENABLE(WEBASSEMBLY)
- webAssemblyExecutableStructure.set(*this, WebAssemblyExecutable::createStructure(*this, 0, jsNull()));
webAssemblyCalleeStructure.set(*this, JSWebAssemblyCallee::createStructure(*this, 0, jsNull()));
#endif
moduleProgramExecutableStructure.set(*this, ModuleProgramExecutable::createStructure(*this, 0, jsNull()));
@@ -259,9 +257,6 @@
moduleProgramCodeBlockStructure.set(*this, ModuleProgramCodeBlock::createStructure(*this, 0, jsNull()));
evalCodeBlockStructure.set(*this, EvalCodeBlock::createStructure(*this, 0, jsNull()));
functionCodeBlockStructure.set(*this, FunctionCodeBlock::createStructure(*this, 0, jsNull()));
-#if ENABLE(WEBASSEMBLY)
- webAssemblyCodeBlockStructure.set(*this, WebAssemblyCodeBlock::createStructure(*this, 0, jsNull()));
-#endif
hashMapBucketSetStructure.set(*this, HashMapBucket<HashMapBucketDataKey>::createStructure(*this, 0, jsNull()));
hashMapBucketMapStructure.set(*this, HashMapBucket<HashMapBucketDataKeyValue>::createStructure(*this, 0, jsNull()));
hashMapImplSetStructure.set(*this, HashMapImpl<HashMapBucket<HashMapBucketDataKey>>::createStructure(*this, 0, jsNull()));
Modified: trunk/Source/_javascript_Core/runtime/VM.h (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/VM.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/VM.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -309,7 +309,6 @@
Strong<Structure> programExecutableStructure;
Strong<Structure> functionExecutableStructure;
#if ENABLE(WEBASSEMBLY)
- Strong<Structure> webAssemblyExecutableStructure;
Strong<Structure> webAssemblyCalleeStructure;
#endif
Strong<Structure> moduleProgramExecutableStructure;
@@ -340,7 +339,6 @@
Strong<Structure> moduleProgramCodeBlockStructure;
Strong<Structure> evalCodeBlockStructure;
Strong<Structure> functionCodeBlockStructure;
- Strong<Structure> webAssemblyCodeBlockStructure;
Strong<Structure> hashMapBucketSetStructure;
Strong<Structure> hashMapBucketMapStructure;
Strong<Structure> hashMapImplSetStructure;
Deleted: trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.cpp (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2013, 2015-2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-
-#include "BatchedTransitionOptimizer.h"
-#include "CodeBlock.h"
-#include "Debugger.h"
-#include "JIT.h"
-#include "JSCInlines.h"
-#include "JSWebAssemblyModule.h"
-#include "LLIntEntrypoint.h"
-#include "Parser.h"
-#include "TypeProfiler.h"
-#include "VMInlines.h"
-#include "WebAssemblyCodeBlock.h"
-#include <wtf/CommaPrinter.h>
-
-namespace JSC {
-
-#if ENABLE(WEBASSEMBLY)
-const ClassInfo WebAssemblyExecutable::s_info = { "WebAssemblyExecutable", &ExecutableBase::s_info, 0, CREATE_METHOD_TABLE(WebAssemblyExecutable) };
-
-WebAssemblyExecutable::WebAssemblyExecutable(VM& vm, const SourceCode& source, JSWebAssemblyModule* module, unsigned functionIndex)
- : ExecutableBase(vm, vm.webAssemblyExecutableStructure.get(), NUM_PARAMETERS_NOT_COMPILED, NoIntrinsic)
- , m_source(source)
- , m_module(vm, this, module)
- , m_functionIndex(functionIndex)
-{
- ASSERT(source.provider()->sourceType() == SourceProviderSourceType::WebAssembly);
-}
-
-void WebAssemblyExecutable::destroy(JSCell* cell)
-{
- static_cast<WebAssemblyExecutable*>(cell)->WebAssemblyExecutable::~WebAssemblyExecutable();
-}
-
-void WebAssemblyExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor)
-{
- WebAssemblyExecutable* thisObject = jsCast<WebAssemblyExecutable*>(cell);
- ASSERT_GC_OBJECT_INHERITS(thisObject, info());
- ExecutableBase::visitChildren(thisObject, visitor);
- if (thisObject->m_codeBlockForCall)
- thisObject->m_codeBlockForCall->visitWeakly(visitor);
- visitor.append(&thisObject->m_module);
-}
-#endif
-
-} // namespace JSC
Deleted: trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.h (209432 => 209433)
--- trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.h 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/_javascript_Core/runtime/WebAssemblyExecutable.h 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2009, 2010, 2013-2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#include "ExecutableBase.h"
-
-namespace JSC {
-
-#if ENABLE(WEBASSEMBLY)
-class WebAssemblyExecutable final : public ExecutableBase {
-public:
- typedef ExecutableBase Base;
- static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal;
-
- static WebAssemblyExecutable* create(VM& vm, const SourceCode& source, JSWebAssemblyModule* module, unsigned functionIndex)
- {
- WebAssemblyExecutable* executable = new (NotNull, allocateCell<WebAssemblyExecutable>(vm.heap)) WebAssemblyExecutable(vm, source, module, functionIndex);
- executable->finishCreation(vm);
- return executable;
- }
-
- static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue proto)
- {
- return Structure::create(vm, globalObject, proto, TypeInfo(WebAssemblyExecutableType, StructureFlags), info());
- }
-
- static void destroy(JSCell*);
-
- DECLARE_INFO;
-
- void prepareForExecution(VM&);
-
- WebAssemblyCodeBlock* codeBlockForCall()
- {
- return m_codeBlockForCall.get();
- }
-
-private:
- friend class ExecutableBase;
- WebAssemblyExecutable(VM&, const SourceCode&, JSWebAssemblyModule*, unsigned functionIndex);
-
- static void visitChildren(JSCell*, SlotVisitor&);
-
- SourceCode m_source;
- WriteBarrier<JSWebAssemblyModule> m_module;
- unsigned m_functionIndex;
-
- WriteBarrier<WebAssemblyCodeBlock> m_codeBlockForCall;
-};
-#endif
-
-} // namespace JSC
Modified: trunk/Source/WebCore/ChangeLog (209432 => 209433)
--- trunk/Source/WebCore/ChangeLog 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/WebCore/ChangeLog 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1,3 +1,13 @@
+2016-12-06 Saam Barati <sbar...@apple.com>
+
+ Remove old Wasm object model
+ https://bugs.webkit.org/show_bug.cgi?id=165481
+
+ Reviewed by Keith Miller and Mark Lam.
+
+ * testing/Internals.cpp:
+ (WebCore::Internals::parserMetaData):
+
2016-12-06 Antoine Quint <grao...@apple.com>
[Modern Media Controls] Media controls use the fullscreen layout after going from inline to fullscreen to PiP to inline
Modified: trunk/Source/WebCore/testing/Internals.cpp (209432 => 209433)
--- trunk/Source/WebCore/testing/Internals.cpp 2016-12-06 23:48:40 UTC (rev 209432)
+++ trunk/Source/WebCore/testing/Internals.cpp 2016-12-07 00:27:58 UTC (rev 209433)
@@ -1553,10 +1553,6 @@
result.appendLiteral("module");
else if (executable->isProgramExecutable())
result.appendLiteral("program");
-#if ENABLE(WEBASSEMBLY)
- else if (executable->isWebAssemblyExecutable())
- result.appendLiteral("WebAssembly");
-#endif
else
ASSERT_NOT_REACHED();