You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: truffle/docs/AuxiliaryEngineCachingEnterprise.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ This includes:
19
19
2. Execution and profiling of the guest application in the interpreter.
20
20
3. Compilation of the AST to machine code.
21
21
22
-
Within a single OS process, the work performed during warmup can be shared by specifying an [explicit engine](https://www.graalvm.org/reference-manual/embed-languages/#code-caching-across-multiple-contexts).
22
+
Within a single OS process, the work performed during warmup can be shared by specifying an [explicit engine](../../reference-manual/embedding/embed-languages.md/#code-caching-across-multiple-contexts).
23
23
This requires language implementations to disable context-related optimizations to avoid deoptimizations between contexts that share code.
24
24
Auxiliary engine caching builds upon the mechanism for disabling context-related optimizations and adds the capability to persist an engine with ASTs and optimized machine code to disk.
25
25
This way, the work performed during warmup can be significantly reduced in the first application context of a new process.
Copy file name to clipboardExpand all lines: truffle/docs/DynamicObjectModel.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -184,4 +184,4 @@ public abstract class MakePairNode extends BinaryExpressionNode {
184
184
185
185
A high-level description of the object model has been published in [**An Object Storage Model for the Truffle Language Implementation Framework**](http://dl.acm.org/citation.cfm?id=2647517).
186
186
187
-
See [Truffle documentation](https://github.com/oracle/graal/tree/master/truffle/docs) and [publications](https://github.com/oracle/graal/blob/master/docs/Publications.md) for more tutorials, presentations, and publications about Truffle and GraalVM.
187
+
See [Truffle publications](https://github.com/oracle/graal/blob/master/docs/Publications.md) for more presentations and publications about Truffle and GraalVM.
This document is targeted at guest language and tool implementers.
10
-
It is recommended to read the [Truffle Library Tutorial](https://github.com/oracle/graal/blob/master/truffle/docs/TruffleLibraries.md) first, before proceeding.
10
+
It is recommended to read the [Truffle Library Tutorial](./TruffleLibraries.md) first, before proceeding.
Copy file name to clipboardExpand all lines: truffle/docs/LanguageTutorial.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -19,5 +19,5 @@ Conference on Programming Language Design and Implementation [PLDI 2016](http://
19
19
Next Steps:
20
20
* Start to subclass [TruffleLanguage](http://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/TruffleLanguage.html) for your own language implementation.
21
21
* Fork [SimpleLanguage](https://github.com/graalvm/simplelanguage), a toy language that demonstrates how to use many Truffle features.
22
-
* Embed Truffle languages in Java host applications using the [Polyglot API](https://graalvm.org/reference-manual/embed-languages/).
22
+
* Embed Truffle languages in Java host applications using the [Polyglot API](../../reference-manual/embedding/embed-languages.md).
Copy file name to clipboardExpand all lines: truffle/docs/Optimizing.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -577,7 +577,7 @@ The `--engine.TraceCompilation` option also shows CallTarget invalidations with
577
577
578
578
## Ideal Graph Visualizer
579
579
580
-
The [Ideal Graph Visualizer (IGV)](https://docs.oracle.com/en/graalvm/enterprise/21/docs/tools/igv/) is a tool to understand Truffle ASTs and the GraalVM compiler graphs.
580
+
The [Ideal Graph Visualizer (IGV)](../../tools/ideal-graph-visualizer.md) is a tool to understand Truffle ASTs and the GraalVM compiler graphs.
581
581
582
582
A typical usage is to run with `--vm.Dgraal.Dump=Truffle:1 --vm.Dgraal.PrintGraph=Network`, which will show you Truffle ASTs, guest-language call graphs, and the Graal graphs as they leave the Truffle phase.
583
583
If the `-Dgraal.PrintGraph=Network` flag is omitted then the dump files are placed in the `graal_dumps` directory, which you should then open in IGV.
There is no shortage of tools for profiling interpreters written using Truffle.
10
10
When running in JVM mode you can use standard JVM tooling such as VisualVM, Java Flight Recorder, and Oracle Developer Studio. When running in Native Image you can use `callgrind` from the Valgrind tool suite, and other system tools such as `strace`.
11
11
As a language running on GraalVM, other GraalVM tools can be used.
12
-
For a broad enough definition of profiling, you can also use the [Ideal Graph Visualizer (IGV)](https://docs.oracle.com/en/graalvm/enterprise/21/docs/tools/igv/) and C1 Visualizer to inspect the compiler output.
12
+
For a broad enough definition of profiling, you can also use the [Ideal Graph Visualizer (IGV)](../../tools/ideal-graph-visualizer.md) and C1 Visualizer to inspect the compiler output.
13
13
14
14
This guide is less about how to use each tool and more about suggestions for extracting the most useful information from the tools, assuming a basic knowledge of their usage.
Implementing a language using Truffle offers a way to interoperate with other "Truffle" languages.
51
51
To learn more about verifying that your language is a valid polyglot citizen, read more about using the [Polyglot TCK](./TCK.md).
52
52
Somewhat related topics worth exploring are [Truffle Libraries](./TruffleLibraries.md), as well as how to use them to implement a language [interoperability](./InteropMigration.md).
53
-
Languages implemented with Truffle can also be embedded in Java host applications using the [Polyglot API](https://graalvm.org/reference-manual/embed-languages/).
53
+
Languages implemented with Truffle can also be embedded in Java host applications using the [Polyglot API](../../reference-manual/embedding/embed-languages.md).
54
54
55
55
To better understand how to improve the performance of your language please consult the documentation on [profiling](./Profiling.md) and [optimizing](./Optimizing.md) your language.
56
56
Also, to better understand how to use Truffle's automated monomorphization feature (i.e., splitting), look at the [related documentation](./splitting/Monomorphization.md).
Copy file name to clipboardExpand all lines: truffle/docs/StaticObjectModel.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -222,7 +222,7 @@ public void wrongShape(TruffleLanguage<?> language) {
222
222
```
223
223
224
224
While these checks are often useful, they might be redundant if the language implementation already performs them, for example using a verifier.
225
-
While the first type of checks (on property type) is very efficient and cannot be disabled, the second type of checks (on the shape) is computationally expensive and can be disabled via a command line argument:
225
+
While the first type of checks (on property type) is very efficient and cannot be disabled, the second type of checks (on the shape) is computationally expensive and can be disabled via a command line argument:
0 commit comments