Skip to content

Commit 5971002

Browse files
committed
Update links to internal docs from using permalinks to relative paths in graal/truffle/docs
1 parent b1f7d42 commit 5971002

9 files changed

+13
-14
lines changed

truffle/docs/AuxiliaryEngineCachingEnterprise.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ This includes:
1919
2. Execution and profiling of the guest application in the interpreter.
2020
3. Compilation of the AST to machine code.
2121

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).
2323
This requires language implementations to disable context-related optimizations to avoid deoptimizations between contexts that share code.
2424
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.
2525
This way, the work performed during warmup can be significantly reduced in the first application context of a new process.

truffle/docs/DynamicObjectModel.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -184,4 +184,4 @@ public abstract class MakePairNode extends BinaryExpressionNode {
184184

185185
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).
186186

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.

truffle/docs/InteropMigration.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ permalink: /graalvm-as-a-platform/language-implementation-framework/InteropMigra
77
# Truffle Interop 2.0
88

99
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.
1111

1212
## Motivation
1313

truffle/docs/LanguageTutorial.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ Conference on Programming Language Design and Implementation [PLDI 2016](http://
1919
Next Steps:
2020
* Start to subclass [TruffleLanguage](http://www.graalvm.org/truffle/javadoc/com/oracle/truffle/api/TruffleLanguage.html) for your own language implementation.
2121
* 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).
2323
* Read [GraalVM/Truffle publications](https://github.com/oracle/graal/blob/master/docs/Publications.md).

truffle/docs/OnStackReplacement.md

+5-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
layout: docs
33
toc_group: truffle
4-
link_title: On-Stack Replacement
4+
link_title: On-Stack Replacement
55
permalink: /graalvm-as-a-platform/language-implementation-framework/OnStackReplacement/
66
---
77
# On-Stack Replacement (OSR)
@@ -15,7 +15,7 @@ On-stack replacement (OSR) is a technique used in Truffle to "break out" of the
1515
Truffle supports OSR for both AST interpreters (i.e., ASTs with `LoopNode`s) and bytecode interpreters (i.e., nodes with dispatch loops).
1616
In either case, Truffle uses heuristics to detect when a long-running loop is being interpreted and can perform OSR to speed up execution.
1717

18-
## OSR for AST interpreters
18+
## OSR for AST interpreters
1919

2020
Languages using standard Truffle APIs get OSR for free on Graal.
2121
The runtime tracks the number of times a `LoopNode` (created using `TruffleRuntime.createLoopNode(RepeatingNode)`) executes in the interpreter.
@@ -33,9 +33,9 @@ A bytecode dispatch node typically looks something like the following:
3333
```java
3434
class BytecodeDispatchNode extends Node {
3535
@CompilationFinal byte[] bytecode;
36-
36+
3737
...
38-
38+
3939
@ExplodeLoop(kind = ExplodeLoop.LoopExplosionKind.MERGE_EXPLODE)
4040
Object execute(VirtualFrame frame) {
4141
int bci = 0;
@@ -81,7 +81,7 @@ The example above can be refactored to support OSR as follows:
8181
class BytecodeDispatchNode extends Node implements BytecodeOSRNode {
8282
@CompilationFinal byte[] bytecode;
8383
@CompilationFinal private Object osrMetadata;
84-
84+
8585
...
8686

8787
Object execute(VirtualFrame frame) {
@@ -176,4 +176,3 @@ For example, in the compilation log, a bytecode OSR entry may look something lik
176176
```
177177

178178
See [Debugging](https://github.com/oracle/graal/blob/master/compiler/docs/Debugging.md) for more details on debugging Graal compilations.
179-

truffle/docs/Optimizing.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -577,7 +577,7 @@ The `--engine.TraceCompilation` option also shows CallTarget invalidations with
577577
578578
## Ideal Graph Visualizer
579579
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.
581581
582582
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.
583583
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.

truffle/docs/Profiling.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permalink: /graalvm-as-a-platform/language-implementation-framework/Profiling/
99
There is no shortage of tools for profiling interpreters written using Truffle.
1010
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`.
1111
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.
1313

1414
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.
1515

truffle/docs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ Consider reading [these publications](https://github.com/oracle/graal/blob/maste
5050
Implementing a language using Truffle offers a way to interoperate with other "Truffle" languages.
5151
To learn more about verifying that your language is a valid polyglot citizen, read more about using the [Polyglot TCK](./TCK.md).
5252
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).
5454

5555
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.
5656
Also, to better understand how to use Truffle's automated monomorphization feature (i.e., splitting), look at the [related documentation](./splitting/Monomorphization.md).

truffle/docs/StaticObjectModel.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ public void wrongShape(TruffleLanguage<?> language) {
222222
```
223223

224224
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:
226226
```
227227
--experimental-options --engine.RelaxStaticObjectSafetyChecks=true
228228
```

0 commit comments

Comments
 (0)