Commit Graph

20 Commits (34df2799432d9dedd2c17d461c126a311fe12157)

Author SHA1 Message Date
walon 48c91f497b [fix] 修复MethodBridge/Generator GetOrCalculateTypeInfoSignature计算等价类时未考虑到ClassLayout、Layout和FieldOffset因素的bug 2024-07-18 14:12:23 +08:00
walon 303c6c7b35 [fix] 修复计算Native2Manager桥接函数未考虑到MonoPInvokeCallback函数,导致从lua或者其他语言调用c#热更新函数有时候会出现UnsupportedNative2ManagedMethod的bug 2024-06-10 13:18:46 +08:00
walon fc685a99ca [fix] 修复计算 MonoPInvokeCallback的CallingConvention时,如果delegate在其他程序集中定义,会被错误当作Winapi,导致wrapper签名计算错误的bug 2024-05-30 13:08:24 +08:00
walon d431aeb019 [new] 支持MonoPInvokeCallback函数的参数或返回类型为struct类型
[fix] 修复ReversePInvokeWrapper函数定义未包含调用约定的bug
[refactor] 合并ReversePInvokeMethodStub到MethodBridge,同时将MetadataModule中ReversePInvoke相关代码移到InterpreterModule
2024-05-30 13:08:21 +08:00
walon 3de931a3af [opt] 打包时检查生成桥接函数时的development选项与当前development选项一致。`Generate/All`之后切换development选项再打包,将会产生严重的崩溃 2024-05-30 13:07:23 +08:00
walon ec5f2ef05e [fix] 修复计算struct等价性时,将struct平铺展开计算等价,在某些平台并不适用的bug。例如 struct A { uint8_t x; A2 y; } struct A2 { uint8_t x; int32_t y;}; 跟 struct B {uint8_t x; uint8_t y; int32_t z;} 在x86_64 abi下并不等价 2024-05-14 12:48:15 +08:00
walon 9b269ea4c2 [opt] 优化桥接函数生成,将同构的struct映射到同一个结构,减少了30-35%的桥接函数数量 2023-12-16 15:17:30 +08:00
walon 63d9e7f4c3 [fix] 修复当出现非常规字段名时生成的桥接函数代码文件有编译错误的bug 2023-11-24 10:00:57 +08:00
walon 47fbd443c1 [fix] 修复桥接函数计算时未归结函数参数类型,导致出现多个同名签名的bug 2023-11-01 20:34:24 +08:00
walon 47e43b0afa [change] 小幅重构生成Native2Managed及AdjustorThunk的代码,消除重复代码 2023-08-31 19:22:07 +08:00
walon 9dafabd1ee [fix] 修复桥接函数签名计算的bug 2023-08-31 11:06:06 +08:00
walon 5857696b56 [change] 日志和异常文本换成英文,方便海外开发者 2023-08-30 11:07:12 +08:00
walon 69d3303f3d [opt] 大幅优化Native2Managed方向桥接函数传参性能 2023-08-24 19:26:50 +08:00
walon 9eb6dda71b [refactor] 重构桥接函数,彻底解决跨平台问题 2023-08-24 12:58:09 +08:00
walon 3d68dc4db3 [fix] 解决MethodBridge生成不稳定的问题 2023-06-27 08:57:02 +08:00
walon c462aeb2ef [fix] 修复计算桥接函数时未考虑到补充元数据泛型实例化会导致访问到一些非公开的函数的情况,导致少生成一些必要的桥接函数 2023-06-07 11:47:17 +08:00
walon 15319a59fa [new] 支持WebGL 2022-10-19 09:54:33 +08:00
walon d8e155dc25 [new] MonoPInvokeCallback支持任意签名的函数
[refactor] 重构模板文件,除去重复。统一调整生成文件的输出目录到 hybridclr/generated
2022-10-17 21:38:39 +08:00
walon 9ea240ab82 重构 2022-10-17 12:16:18 +08:00
walon 0af6f704b2 [refactor] 重构。将7Zip及UnitFS移入HybridCLR.Editor模块。合并Generate命令。 2022-09-23 09:40:06 +08:00