Comments (8)
What if we change Object FrameSlot.getInfo()
, which says nothing from the API point of view and serves to a particular language implementor only, who know what info they put into DrameDescriptor.addFrameSlot()
, to a better typed FrameSlotInfo FrameSlot.getInfo()
?
FrameSlotInfo
can have then <T> T FrameSlot.getCapability(Class<T> capability)
(inspired by TruffleRuntime
).
This would add a flexibility to functionally evolve the APIs.
We could also have a more generic CapabilityProvider
interface instead of FrameSlotInfo
, that could be reused on more places.
Thoughts?
from graal.
Using getCapability
is useful if you want to tunnel through some API - e.g. create a teleinterface. I may be wrong, but I don't think we need that for slots.
from graal.
Yes I liked the FrameFormat SPI idea that is implemented by the language can be passed into the FrameDescriptor.
FrameFormat#isVisible(FrameSlot)
FrameFormat#isReadable(FrameSlot)
FrameFormat#isWritable(FrameSlot)
FrameFormat#getName(FrameSlot)
...
The FrameFormat can be null for a descriptor which means nothing is visible, nothing is readable/writable and an obfuscated name (like arg0, arg1).
I dislike FrameSlotInfo because it requires an additional allocation for each slot whereas FrameFormat could be shared accross a language.
from graal.
how about the following heuristic: only frame slots with String identifiers are visible in the debugger.
from graal.
Some languages might not want to use String identifiers. I also think we should be conservative if a variable is not explicitly exported.
from graal.
Is there some example of such non-String identifiers and an idea of how should debugger treat them?
Debugger needs to convert everything to a String in the end to display it meaningfully.
from graal.
how about the following heuristic: only frame slots with String identifiers are visible in the debugger.
This would conflate two separate issues:
- naming (and how names should be displayed to users)
- whether a particular slot (or frame, or anything else) should be displayed during ordinary operation.
The debugger should be able to display all slots when in special modes (not for guest language programmers), and names could be very helpful in those modes.
from graal.
Tracked elsewhere: GR-89
from graal.
Related Issues (20)
- Native image running error with Springboot 3.1 application HOT 1
- [GR-52267] Can't compile with Onnxruntime library, conflict with svm-enterprise.jar HOT 5
- Native-image compilation fails in windows: with parsing error when the user home dir contains spaces. HOT 3
- [GR-52339] ExitOnOutOfMemoryError not waiting for HeapDumpOnOutOfMemoryError HOT 1
- Add JFR events and track peak usage for native memory tracking (NMT)
- GraalVM error with sbt nativeImage plugin : Registering type as reachable after analysis when using google-cloud-compute library HOT 3
- Static binary compiled with musl reports question mark for (System/getProperty "user.home") HOT 2
- [GR-52400] Native: Introduce flag to favor build time improvements at the cost of using more resources and vice versa HOT 2
- Serialization of float[] or other arrays is not supported in Native Image HOT 8
- docs/getting-started/windows/ has misleading pictures HOT 1
- Caused by: java.lang.IllegalArgumentException: Invalid logger interface org.hibernate.validator.internal.util.logging.Log (implementation not found in jdk.internal.loader.ClassLoaders$AppClassLoader@2f7c7260) HOT 7
- macOS Native Image libawt fails to load due to JNU_NewStringPlatform failure HOT 2
- Native-image of CLI application is failing with less than 32 GB of virtual memory HOT 3
- reflect-config-schema-v1.0.0.json doesn't mention certain attributes that can actually be supplied
- Problem java.lang.NoClassDefFoundError: sun/misc/Unsafe
- [GR-52454] Native Image shutdown hooks don't run upon SIGINT HOT 2
- [GR-52453] [jfr] jdk.ContainerConfiguration doesn't set hostTotalMemory correctly
- [GR-52484] [jfr] jdk.PhysicalMemory event doesn't set 'usedSize' HOT 3
- Is there any problem with graalvm checking illegal strings? HOT 2
- [GR-52483] Native Image call graph imprecision HOT 7
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 graal.