Nikolay Nikolov
|
946fc370e9
|
* set TWasmObjSection.MainFuncSymbol in the wasm object reader
|
2023-12-31 23:32:51 +02:00 |
|
Nikolay Nikolov
|
ac0c187b56
|
+ WebAssembly exe writer: write the code section
|
2023-12-31 23:29:33 +02:00 |
|
Nikolay Nikolov
|
d9a67bb16d
|
+ generate the import section in the wasm exe writer
|
2023-12-31 22:52:03 +02:00 |
|
Nikolay Nikolov
|
2c72b62a0e
|
+ generate and write the Type section in the WebAssembly internal exe writer
|
2023-12-31 22:47:07 +02:00 |
|
Nikolay Nikolov
|
3c4a1087f3
|
* writing of the type wasm object section extracted to a method TWasmFuncTypeTable.WriteTo, so it can be reused in the exe writer
|
2023-12-31 22:43:44 +02:00 |
|
Nikolay Nikolov
|
a387accf81
|
* WriteWasmBasicType and WriteWasmResultType converted to global functions to allow reuse in the exe writer
|
2023-12-31 22:39:35 +02:00 |
|
Nikolay Nikolov
|
5583781f47
|
+ initialize TWasmExeOutput.FWasmSections
|
2023-12-31 22:36:45 +02:00 |
|
Nikolay Nikolov
|
7d6158d5f4
|
+ added and implemented TWasmExeOutput.WriteWasmSection
|
2023-12-31 22:35:44 +02:00 |
|
Nikolay Nikolov
|
c342a5f473
|
* converted some helper methods from TWasmObjOutput to global functions, so they can be reused in the exe writer
|
2023-12-31 22:28:53 +02:00 |
|
Nikolay Nikolov
|
b2f31c4112
|
+ added a section array to the wasm exe writer
|
2023-12-31 22:27:05 +02:00 |
|
Nikolay Nikolov
|
16c4e0300c
|
+ WebAssembly internal linker, exe writer: keep track of exe import functions. Add and fill TWasmObjSymbolLinkingData.ExeFunctionIndex
|
2023-12-31 22:17:51 +02:00 |
|
Nikolay Nikolov
|
da8ccd64ef
|
+ also write the functype of imported functions in the linker map file
|
2023-12-31 21:50:18 +02:00 |
|
Nikolay Nikolov
|
52f0ec579e
|
+ added TWasmFuncType.ToString implementation
|
2023-12-31 21:49:35 +02:00 |
|
Nikolay Nikolov
|
4f4beb6225
|
+ store the functype in TWasmObjSymbolLinkingData
|
2023-12-31 21:40:34 +02:00 |
|
Nikolay Nikolov
|
880eb3658a
|
+ process the module imports and write them to the map file in TWasmExeOutput.AfterUnusedSectionRemoval
|
2023-12-31 21:27:21 +02:00 |
|
Nikolay Nikolov
|
541bd66a6c
|
+ implemented TWasmExeOutput.GenerateLibraryImports
|
2023-12-31 21:04:04 +02:00 |
|
Nikolay Nikolov
|
b88b8efbce
|
+ WebAssembly object reader: create symbols for imports that have the
WASM_SYM_EXPLICIT_NAME flag set. Save the import module and name info inside
a new field TWasmObjSymbol.LinkingData.
|
2023-12-31 20:39:01 +02:00 |
|
Nikolay Nikolov
|
f83223c8b2
|
* SymbolTable.ObjSym type changed from TObjSymbol to TWasmObjSymbol
|
2023-12-31 20:28:44 +02:00 |
|
Nikolay Nikolov
|
f30a41359d
|
+ added a TWasmFuncTypeTable instance to TWasmExeOutput
|
2023-12-31 16:50:00 +02:00 |
|
Nikolay Nikolov
|
e695edff98
|
+ initialize TWasmObjData.FFuncTypes in TWasmObjData's constructor
|
2023-12-31 15:54:52 +02:00 |
|
Nikolay Nikolov
|
0be3fe9ab4
|
- removed TWasmObjData.AddFuncType, instead call directly [F]FuncTypes.AddOrGetFuncType
|
2023-12-31 15:52:27 +02:00 |
|
Nikolay Nikolov
|
eb046b07d0
|
* TWasmFuncTypeTable.AddFuncType renamed .AddOrGetFuncType
|
2023-12-31 15:49:26 +02:00 |
|
Nikolay Nikolov
|
7266981c6c
|
+ Extracted the func list maintenance functionality from the WebAssembly object
writer to a new TWasmFuncTypeTable class. This will allow for it to be reused
in the WebAssembly exe writer as well.
|
2023-12-31 15:39:54 +02:00 |
|
Rika Ichinose
|
8310b169b7
|
Move ERMS branch into a separate function instead of runtime checks of fast_large_repmovstosb.
|
2023-12-31 09:54:09 +00:00 |
|
Rika Ichinose
|
f14aced9c5
|
Attempt to ERMS backward i386 ‘Move’s.
|
2023-12-31 09:54:09 +00:00 |
|
mattias
|
92e960c49a
|
pas2js: marked allowed writeln
|
2023-12-30 18:16:31 +01:00 |
|
mattias
|
108ecaff22
|
fcl-passrc: fixed typo
|
2023-12-30 18:01:17 +01:00 |
|
Michaël Van Canneyt
|
087b6cadda
|
* Not needed
|
2023-12-30 17:08:14 +01:00 |
|
Michaël Van Canneyt
|
6ce2662128
|
* No static versions for 5.6 and 5.7
|
2023-12-30 17:05:40 +01:00 |
|
Jonas Maebe
|
569b35dfc4
|
LLVM: enforce line information for invoke instructions
Like with call instructions, when generating debug information LLVM requires
line information for invoke instructions that may be inline
|
2023-12-30 14:56:38 +01:00 |
|
Sven/Sarah Barth
|
ad61db2ff5
|
* allow a nested function that calls itself can be converted to a function reference
+ added test
|
2023-12-30 14:47:38 +01:00 |
|
Sven/Sarah Barth
|
1853d1ddd8
|
* keep track which nested function definition the new method has been converted from
|
2023-12-30 14:45:41 +01:00 |
|
Sven/Sarah Barth
|
74833bda09
|
* split the two error cases of tanonfunc25 into two different tests
|
2023-12-30 13:58:09 +01:00 |
|
Sven/Sarah Barth
|
b00454bb0e
|
* ensure that nested functions that are assigned to function pointers are considered as captured as well
|
2023-12-30 13:55:15 +01:00 |
|
Sven/Sarah Barth
|
1606d4e28d
|
* only walk the node tree if there are indeed captured symbols to convert
|
2023-12-29 21:52:28 +01:00 |
|
Sven/Sarah Barth
|
ab5c5a7e9a
|
* also keep track of captured def (necessary when functions are captured)
|
2023-12-29 20:26:45 +01:00 |
|
Sven/Sarah Barth
|
b5b7cd54eb
|
* fix typo in comment
|
2023-12-29 20:24:53 +01:00 |
|
Sven/Sarah Barth
|
787454d5b2
|
* correctly handle managed function results when converting a global or nested function to a function reference
+ added test
|
2023-12-29 20:55:37 +01:00 |
|
Sven/Sarah Barth
|
ca0323d4ca
|
* the adjusted nested function needs to access the parent function for the capturer
|
2023-12-29 20:55:37 +01:00 |
|
J. Gareth "Curious Kit" Moreton
|
af40ae2c91
|
* x86: Safety check, since after calling DoJumpOptimizations, the input may no longer be the same tai
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
3a2342fec4
|
* GetFinalDestination now calls SkipLabels on an alignment field
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
2c89ddf62b
|
* SkipLabels now handles alignment fields correctly
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
dbcab9cc29
|
* SkipAligns method removed
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
6fd5b86cff
|
* x86: SkipAligns calls removed.
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
72081c803e
|
* a64: SkipAligns calls removed.
|
2023-12-29 14:17:08 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
83f383e004
|
* Fixed bug where the original index of a call
para wasn't copied over during "DoGetCopy"
|
2023-12-28 20:48:43 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
d25d094d57
|
* Fixed bug where a call node's intrinsic code
wasn't copied over during "DoGetCopy"
|
2023-12-28 20:48:43 +00:00 |
|
Nikolay Nikolov
|
d6c3c74b46
|
+ create relocation objects for R_WASM_FUNCTION_OFFSET_I32 relocations in the wasm object reader
|
2023-12-28 21:26:12 +02:00 |
|
Nikolay Nikolov
|
73895d3cbc
|
+ create relocation objects for R_WASM_TYPE_INDEX_LEB relocations in the wasm object reader
|
2023-12-28 21:23:08 +02:00 |
|
Nikolay Nikolov
|
ae93f8de91
|
+ create relocation objects for R_WASM_MEMORY_ADDR_I32 relocations in the wasm object reader
|
2023-12-28 21:15:59 +02:00 |
|