mirror of
https://github.com/Eaglercraft-TeaVM-Fork/eagler-teavm.git
synced 2024-12-23 00:24:11 -08:00
Merge branch 'master' into nio
This commit is contained in:
commit
f9cbcf4b80
|
@ -28,7 +28,7 @@ The easiest way to create a new TeaVM project is to type in the command line:
|
||||||
mvn -DarchetypeCatalog=local \
|
mvn -DarchetypeCatalog=local \
|
||||||
-DarchetypeGroupId=org.teavm \
|
-DarchetypeGroupId=org.teavm \
|
||||||
-DarchetypeArtifactId=teavm-maven-webapp \
|
-DarchetypeArtifactId=teavm-maven-webapp \
|
||||||
-DarchetypeVersion=0.2.0 archetype:generate
|
-DarchetypeVersion=0.2.1 archetype:generate
|
||||||
|
|
||||||
Now you can execute `mvn clean package` and get the generated `war` file.
|
Now you can execute `mvn clean package` and get the generated `war` file.
|
||||||
Deploy this `war` in Tomcat or another container, or simply unzip it and open the `index.html` page.
|
Deploy this `war` in Tomcat or another container, or simply unzip it and open the `index.html` page.
|
||||||
|
@ -68,3 +68,9 @@ Another example is avaialble [here](http://graphhopper.com/teavm/).
|
||||||
It uses [GraphHopper](https://github.com/graphhopper/graphhopper/) to build route in browser.
|
It uses [GraphHopper](https://github.com/graphhopper/graphhopper/) to build route in browser.
|
||||||
Unlike original GraphHopper example it works completely in browser instead of querying server.
|
Unlike original GraphHopper example it works completely in browser instead of querying server.
|
||||||
Thanks to [Peter Karich](https://github.com/karussell).
|
Thanks to [Peter Karich](https://github.com/karussell).
|
||||||
|
|
||||||
|
|
||||||
|
Feedback
|
||||||
|
--------
|
||||||
|
|
||||||
|
Ask your questions by email: info@teavm.org. Also you can report issues on a project's [issue tracker](https://github.com/konsoletyper/teavm/issues).
|
||||||
|
|
|
@ -83,4 +83,17 @@ public class VMTest {
|
||||||
public void surrogateInStringLiteralsWork() {
|
public void surrogateInStringLiteralsWork() {
|
||||||
assertEquals(0xDDC2, "a\uDDC2b".charAt(1));
|
assertEquals(0xDDC2, "a\uDDC2b".charAt(1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void separatesExceptionAndVariable() {
|
||||||
|
int n = foo();
|
||||||
|
try {
|
||||||
|
bar();
|
||||||
|
} catch (RuntimeException e) {
|
||||||
|
assertEquals(RuntimeException.class, e.getClass());
|
||||||
|
assertEquals(2, n);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private int foo() { return 2; }
|
||||||
|
private void bar() { throw new RuntimeException(); }
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,6 +41,9 @@ class InterferenceGraphBuilder {
|
||||||
for (BasicBlock succ : succExtractor.getTargets()) {
|
for (BasicBlock succ : succExtractor.getTargets()) {
|
||||||
liveOut.or(liveness.liveIn(succ.getIndex()));
|
liveOut.or(liveness.liveIn(succ.getIndex()));
|
||||||
}
|
}
|
||||||
|
for (TryCatchBlock tryCatch : block.getTryCatchBlocks()) {
|
||||||
|
liveOut.or(liveness.liveIn(tryCatch.getHandler().getIndex()));
|
||||||
|
}
|
||||||
live.clear();
|
live.clear();
|
||||||
for (int j = 0; j < liveOut.length(); ++j) {
|
for (int j = 0; j < liveOut.length(); ++j) {
|
||||||
if (liveOut.get(j)) {
|
if (liveOut.get(j)) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user