Comments (5)
@kekekeks the compiler mainly emits simple .ldarg
+.call
. Here it's probably an unimplemented optimization where due to more similar overloads, it falls back to runtime overload resolution.
from peachpie.
from peachpie.
The compiler sees several Load()
overloads, so it postpones the resolution to runtime using the callsite (call_Load?0
).
The fix would be to improve the compiler so it resolves the Load(object)
overload in compile time - I'm not sure, why it's not resolving it already, it should.
from peachpie.
The compiler sees several
Load()
overloads, so it postpones the resolution to runtime using the callsite (call_Load?0
).The fix would be to improve the compiler so it resolves the
Load(object)
overload in compile time - I'm not sure, why it's not resolving it already, it should.
As I understand it, this problem can be solved only at the compiler level?
from peachpie.
For a reference: this is how XAML compiler task tries to match AvaloniaXamlLoader.Load(this)
call.
It currently recognizes the normal
ldarg.0
call AvaloniaXamlLoader.Load(object)
pattern and the monstrosity generated by F# compiler.
The peachpie pattern won't be easily recognizable since it would require us to analyze the CallSite static variable initialization that happens elsewhere and looks like an internal implementation detail.
So the preferable solution would be for peachpie to just emit the simple ldarg.0+call sequence.
from peachpie.
Related Issues (20)
- Strange behavior when instantiating a class in an anonymous function HOT 4
- can not work woth tinyfilemanager
- Home Page Show Not Found HOT 1
- Change Sdk version to 1.1.5 make error when running HOT 3
- when php google/protobuf is used, generated binary php file cause exception after compiled to dll
- Directly render Blazor component on PHP page (ASP.NET Core 8) HOT 2
- Peachpie.Runtime uses outdated System.Data.SqlClient 4.6.0 HOT 4
- Special characters cannot be recognized HOT 2
- PHP4034: Failure writing debug information: Value cannot be null. (Parameter 'type') HOT 2
- How to convert laravel to bitcode
- PeachPie is not copying images into build HOT 3
- Error in constructor of class inheriting DOMDocument? HOT 6
- sort method compare not supported - throw error using WP 6.4.3 - update.php HOT 2
- The compiler sees several `Load()` overloads, so it postpones the resolution to runtime using the callsite (`call_Load?0`).
- SixLabors Version Update Required
- Dynamicly compile the php script HOT 3
- CLR event support HOT 1
- Peachpie.Library.XmlDom.XMLWriter: Error writing namespace attribute 'xmlns' HOT 6
- mb_ series functions have errors
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from peachpie.