Nikolay Nikolov
83f2f7bf37
+ introduced TObjData.SymbolPairDefine, to allow custom handling of symbol
...
pairs in the internal object writer
2021-09-26 03:56:56 +03:00
Nikolay Nikolov
6e7e632682
* fixed another warning
2021-09-26 03:16:01 +03:00
Nikolay Nikolov
4ebf857ffc
* fixed warning
2021-09-26 03:05:00 +03:00
Nikolay Nikolov
b913133152
+ implemented leb and sleb relocations to data symbols
2021-09-26 02:23:31 +03:00
Nikolay Nikolov
67cbb7032e
+ fully implemented the RELOC_FUNCTION_INDEX_LEB relocations
2021-09-26 00:45:52 +03:00
Nikolay Nikolov
4e4910cb84
+ write the relocation tables for the code and data sections (empty for now)
2021-09-25 23:47:30 +03:00
Nikolay Nikolov
217b3ea3cc
+ write the segment info (names and alignment) to the linking custom section
2021-09-25 23:30:43 +03:00
Nikolay Nikolov
5066a7eb24
+ also write the data symbols to the symbol table
2021-09-25 23:20:15 +03:00
Nikolay Nikolov
ad8ed4b48d
+ write the non-external functions to the symbol table as well
2021-09-25 23:03:09 +03:00
florian
2805e44ccb
* Aarch64: taicpu.spilling_get_operation_type with new instructions extended
2021-09-25 22:00:36 +02:00
Nikolay Nikolov
2d2906205b
+ write the externals to the symbol table
2021-09-25 22:45:47 +03:00
Jonas Maebe
3e98429418
Revert " * patch by J. Gareth Moreton: Nothing (NOP) node optimisation, resolves #38194 "
...
This reverts commit c2ff85ac5b
.
That change duplicates the logic of tstatementnode.simplify in
tblocknode.simpify in a very complex way, and in case of issue #39336 results
in adding a non-tstatementnode in a tblocknode, which is illegal. If
tstatementnode.simplify cannot catch all cases, then that one should
preferably be improved instead (and if not possible, we can look into
catching those edge cases in tblocknode.simplify rather than duplicating
everything).
Resolves issue #39336
2021-09-25 21:02:29 +02:00
Nikolay Nikolov
8c57d20abc
+ write the linking section (empty for now)
2021-09-25 19:19:12 +03:00
Nikolay Nikolov
8295173f86
+ added enums for the wasm symbol type and constnats for the bitflags
2021-09-25 19:05:36 +03:00
Nikolay Nikolov
12496a638b
+ add relocation objects for the RELOC_FUNCTION_INDEX_LEB relocation to
...
the relocation list. They are not written to the object file, yet.
2021-09-25 18:37:10 +03:00
Nikolay Nikolov
a5d1ce26a0
+ partial implementation of emitting RELOC_FUNCTION_INDEX_LEB relocations
2021-09-25 18:24:27 +03:00
Pierre Muller
a7ad65f884
Fix use of svnversion if ../.git does not exist
2021-09-25 17:15:35 +02:00
Nikolay Nikolov
cbf444bbbe
+ write the actual function code in the code section
2021-09-25 18:08:01 +03:00
Nikolay Nikolov
dbb6f95ea7
* replaced TWasmObjData(Data) with FData in TWasmObjOutput.writeData
2021-09-25 17:49:19 +03:00
Nikolay Nikolov
6d1df899e6
+ write the code section (still, without the actual function code, but with
...
the correct locals)
2021-09-25 17:41:42 +03:00
Jonas Maebe
fcb646bc3b
obcpas: fix categories implementing protocols
...
Allocate the ImplementedInterfaces array for them and save to/load from ppu
Solves #39375
2021-09-25 16:15:45 +02:00
Nikolay Nikolov
e924dd0d16
+ generate and write the functions table in the wasm binary module,
...
produced by the internal obj writer
2021-09-25 16:53:00 +03:00
Nikolay Nikolov
7e53fecd09
+ handle tai_local in the internal asm writer and store the locals in the
...
wasm obj extra symbol data object
2021-09-25 16:00:09 +03:00
Nikolay Nikolov
050519f16f
+ handle the import_module and import_name directives in the internal
...
assembler and store them as obj symbol extra data
2021-09-25 15:44:35 +03:00
Nikolay Nikolov
4ef2a88946
+ added method TWasmObjData.AddOrCreateObjSymbolExtraData
2021-09-25 15:35:28 +03:00
Nikolay Nikolov
27675967f8
* store the funcname to functype index in a TFPHashObjectList, instead of
...
TFPHashList with the index converted to pointer, which was a hack and didn't
allow adding more fields, which we would need to do for e.g. import_module
and import_name
2021-09-25 15:24:30 +03:00
Nikolay Nikolov
72a49b68ce
* fixed the writing of the external functions in the import table
2021-09-25 00:39:03 +03:00
Nikolay Nikolov
54481d7218
* moved the imports/funcdef writing from the llvm-mc assembler writer to
...
twasmnodeutils.InsertObjectInfo. This way, the info it produces will be
shared with the internal wasm object writer as well.
2021-09-25 00:16:53 +03:00
Nikolay Nikolov
d19919aa13
* TLLVMMachineCodePlaygroundAssembler.WriteImports now uses just a single TAsmList
2021-09-25 00:02:14 +03:00
florian
f56aa9abe7
* set expectloc properly for x87 on x86
2021-09-24 22:27:44 +02:00
Nikolay Nikolov
a6e75d52f7
+ introduced tai_import_module and tai_import_name that represent the
...
.import_module and .import_name assembler directives
2021-09-24 22:14:32 +03:00
Nikolay Nikolov
459bb0fa18
* override twasmnodeutils.InsertObjectInfo
2021-09-24 21:52:57 +03:00
florian
a3666aa8c9
o manually applied merge request 46 by J. Gareth "Kit" Moreton:
...
+ x86_64: XMM-based block move optimisation
2021-09-24 20:10:38 +02:00
Nikolay Nikolov
860e4487c3
+ added WebAssembly node utils
2021-09-24 16:44:33 +03:00
florian
5abfe21f39
+ apply unary minus optimizations also to /
...
* test extended
2021-09-23 22:44:16 +02:00
mattias
8ae1b6eace
pastojs: clone multi dim static array
2021-09-23 17:59:21 +02:00
mattias
cc8f8dbde8
fcl-js: fixed typo
2021-09-23 17:58:59 +02:00
Nikolay Nikolov
4ca39cf07d
+ write the import functions in the wasm binary writer
2021-09-23 17:11:24 +03:00
Nikolay Nikolov
78af12b584
+ added function name to functype hashlist in the wasm objdata class
2021-09-23 16:19:15 +03:00
florian
01d6358f93
* some fixes for expectloc
2021-09-22 22:09:19 +02:00
mattias
a0c0a8fa8c
pas2js: fixed rtl.tTypeMemberProperty
2021-09-22 13:10:05 +02:00
florian
69d5d648a9
+ more unary minus optimizations
...
* test extended
2021-09-21 23:09:33 +02:00
mattias
781da5e60d
pas2js: nil typeinfo Module, Attr and params
2021-09-21 12:21:42 +02:00
florian
3e760b33c7
+ more unary minus optimizations
...
* test extended
2021-09-20 22:31:16 +02:00
Nikolay Nikolov
a58368d20d
+ avoid duplicate functypes in the types section of the wasm module we produce
2021-09-20 19:33:48 +03:00
Nikolay Nikolov
3e2a9b6ceb
+ handle the call instruction in the wasm binary writer
2021-09-20 05:03:38 +03:00
Nikolay Nikolov
ab0d7697c3
+ added the TWasmLinkingSubsectionType enum
2021-09-20 04:47:51 +03:00
Nikolay Nikolov
b97570c8b3
+ added the TWasmRelocationType enum
2021-09-20 04:39:10 +03:00
Nikolay Nikolov
bb0155141a
* fixed warning
2021-09-20 04:25:40 +03:00
Nikolay Nikolov
92592be8e4
+ print more symbol properties to the console
2021-09-20 04:16:25 +03:00