ladybird/AK
Ali Mohammad Pur aa4d8d26b9 LibWasm: Start implementing a basic WebAssembly binary format parser
This can currently parse a really simple module.
Note that it cannot parse the DataCount section, and it's still missing
almost all of the instructions.
This commit also adds a 'wasm' test utility that tries to parse a given
webassembly binary file.
It currently does nothing but exit when the parse fails, but it's a
start :^)
2021-05-08 22:14:39 +02:00
..
AllOf.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
AnyOf.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Array.h AK: Export integer_sequence_generate_array() 2021-05-05 19:02:51 +02:00
Assertions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Atomic.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Badge.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Base64.cpp AK: Silence -Wmaybe-uninitialized warning 2021-05-03 08:42:39 +02:00
Base64.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BinaryHeap.h AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers 2021-04-22 22:42:38 +02:00
BinarySearch.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitCast.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Bitmap.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitmapView.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
BitStream.h AK+Userland: Use idan.horowitz@serenityos.org for my copyright headers 2021-04-22 22:42:38 +02:00
Buffered.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ByteBuffer.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ByteBuffer.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
Checked.h AK: Make Checked<T> check for division overflow as well 2021-05-07 09:26:11 +02:00
CheckedFormatString.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDeque.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularDuplexStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CircularQueue.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
CMakeLists.txt Tests: Move AK tests to Tests/AK 2021-05-06 17:54:28 +02:00
Complex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Concepts.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Debug.h.in LibWasm: Start implementing a basic WebAssembly binary format parser 2021-05-08 22:14:39 +02:00
Demangle.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
DistinctNumeric.h AK: Make DistinctNumeric constexpr-capable 2021-05-04 21:32:15 +02:00
DoublyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Endian.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
EnumBits.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
ExtraMathConstants.h Userland: Move non-standard math constants from math.h 2021-04-27 23:06:16 +02:00
FileStream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Find.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FlyString.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
FlyString.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Format.cpp AK: Make dbgln log the thread ID 2021-04-29 23:12:05 +02:00
Format.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Forward.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Function.h AK+Everywhere: Make StdLibExtras templates less wrapper-y 2021-04-10 21:01:31 +02:00
GenericLexer.cpp AK/GenericLexer: constexpr where possible 2021-04-22 20:27:21 +02:00
GenericLexer.h AK/GenericLexer: constexpr where possible 2021-04-22 20:27:21 +02:00
HashFunctions.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
HashMap.h AK: Add a non-const overload to HapMap::get() 2021-05-08 18:10:56 +02:00
HashTable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Hex.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Hex.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IDAllocator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
InlineLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IntrusiveList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IntrusiveRedBlackTree.h Revert "AK: Remove virtual destructors from non-virtual classes" 2021-04-23 10:26:14 +02:00
IPv4Address.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IterationDecision.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Iterator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonArray.h AK: Fix argument type for JsonArray::at and JsonArray::operator[] 2021-04-26 17:13:55 +02:00
JsonArraySerializer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonObject.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonObjectSerializer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonParser.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonPath.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonPath.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
JsonValue.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
JsonValue.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
kmalloc.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
kstdio.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LEB128.h AK: Make LEB128 capable of reading into any type 2021-05-04 22:33:35 +02:00
LexicalPath.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LexicalPath.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MACAddress.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MappedFile.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
MappedFile.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemMem.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Memory.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
MemoryStream.h AK: Move the LEB128 logic to AK and make it usable with InputStream 2021-05-04 22:33:35 +02:00
NeverDestroyed.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Noncopyable.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullOwnPtr.h AK: Add ConstPeekType to Traits 2021-05-08 18:10:56 +02:00
NonnullOwnPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NonnullRefPtr.h AK: Add missing GenericTraits<NonnullRefPtr> 2021-05-08 18:10:56 +02:00
NonnullRefPtrVector.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NumberFormat.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NumericLimits.h AK: Add epsilon() to NumericLimits for float, double, long double 2021-05-08 10:13:22 +02:00
Optional.h AK: Add constructors to Optional that accept non const qualified inputs 2021-05-08 18:10:56 +02:00
OSError.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
OwnPtr.h AK: Add ConstPeekType to Traits 2021-05-08 18:10:56 +02:00
Platform.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
PrintfImplementation.h AK: Implement printf fraction length specification for strings 2021-05-06 15:20:31 +01:00
Ptr32.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Queue.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
QuickSort.h AK: Guarantee a maximum stack depth for dual_pivot_quick_sort 2021-04-28 21:38:48 +02:00
Random.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RedBlackTree.h Revert "AK: Remove virtual destructors from non-virtual classes" 2021-04-23 10:26:14 +02:00
RefCounted.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RefPtr.h AK: Add ConstPeekType to Traits 2021-05-08 18:10:56 +02:00
Result.h AK: Let Result<T, E> know its Value and Error types 2021-05-08 22:14:39 +02:00
ScopedValueRollback.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeGuard.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ScopeLogger.h AK+LibCpp: Remove DEBUG_SPAM in favour of per-application defines 2021-05-08 22:14:39 +02:00
SIMD.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Singleton.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SinglyLinkedList.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SinglyLinkedListWithCount.h Everywhere: Use bgianf@serenityos.org for my copyright attribution 2021-04-22 21:15:54 +02:00
SourceGenerator.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
SourceLocation.h Everywhere: "file name" => "filename" 2021-04-29 22:16:18 +02:00
Span.h AK: Implement Span::starts_with() 2021-05-07 11:46:53 +01:00
StackInfo.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StackInfo.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StdLibExtraDetails.h AK+Userland: Use mpfard@serenityos.org for my copyright headers 2021-04-22 22:19:09 +02:00
StdLibExtras.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Stream.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
String.cpp AK: Move bijective-base-conversion into AK/String 2021-05-01 01:19:40 +02:00
String.h AK: Move bijective-base-conversion into AK/String 2021-05-01 01:19:40 +02:00
StringBuilder.cpp AK: Remove StringBuilder::appendf() 2021-05-07 21:12:09 +02:00
StringBuilder.h AK: Remove StringBuilder::appendf() 2021-05-07 21:12:09 +02:00
StringImpl.cpp AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
StringImpl.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringUtils.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringUtils.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
StringView.cpp AK/GenericLexer: constexpr where possible 2021-04-22 20:27:21 +02:00
StringView.h AK/GenericLexer: constexpr where possible 2021-04-22 20:27:21 +02:00
TemporaryChange.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Time.cpp Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
Time.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Traits.h AK: Add ConstPeekType to Traits 2021-05-08 18:10:56 +02:00
Trie.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeCasts.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypedTransfer.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TypeList.h Everywhere: "indexes" => "indices" 2021-04-29 22:23:52 +02:00
Types.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
URL.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
URL.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
URLParser.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
URLParser.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Userspace.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Utf8View.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Utf8View.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Utf32View.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
UUID.cpp Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
UUID.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Variant.h AK: Add a Variant<Ts...> implementation 2021-05-05 19:02:51 +02:00
Vector.h AK: Make AK::Vector expose allocation failures in API 2021-04-29 09:02:58 +02:00
Weakable.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00
WeakPtr.h AK: Rename adopt() to adopt_ref() 2021-04-23 16:46:57 +02:00