Renaming /doc to /docs for use with GitHub Pages
[jpf-core.git] / docs / graphics / mji-mangling.svg
diff --git a/docs/graphics/mji-mangling.svg b/docs/graphics/mji-mangling.svg
new file mode 100644 (file)
index 0000000..7e59270
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink" version="1.1" viewBox="62 86 481 369" width="481pt" height="369pt" xmlns:dc="http://purl.org/dc/elements/1.1/"><metadata> Produced by OmniGraffle 6.1 <dc:date>2014-12-02 21:54:02 +0000</dc:date></metadata><defs><font-face font-family="Courier" font-size="12" units-per-em="1000" underline-position="-178.22266" underline-thickness="57.617188" slope="0" x-height="462.40234" cap-height="594.72656" ascent="753.90625" descent="-246.09375" font-weight="500"><font-face-src><font-face-name name="Courier"/></font-face-src></font-face><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="blue"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_2" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="red"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_3" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="fuchsia"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><marker orient="auto" overflow="visible" markerUnits="strokeWidth" id="FilledArrow_Marker_4" viewBox="-1 -4 10 8" markerWidth="10" markerHeight="8" color="#ff8000"><g><path d="M 8 0 L 0 -3 L 0 3 Z" fill="currentColor" stroke="currentColor" stroke-width="1"/></g></marker><font-face font-family="Helvetica" font-size="14" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-857.14286" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="-1e3" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-style="italic" font-weight="500"><font-face-src><font-face-name name="Helvetica-Oblique"/></font-face-src></font-face><font-face font-family="Helvetica" font-size="12" units-per-em="1000" underline-position="-75.683594" underline-thickness="49.316406" slope="0" x-height="522.94922" cap-height="717.28516" ascent="770.01953" descent="-229.98047" font-weight="500"><font-face-src><font-face-name name="Helvetica"/></font-face-src></font-face></defs><g stroke="none" stroke-opacity="1" stroke-dasharray="none" fill="none" fill-opacity="1"><title>Canvas 1</title><rect fill="white" width="576" height="734"/><g><title>Layer 1</title><text transform="translate(76 177.125)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="11" textLength="57.609375">package </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="57.609375" y="11" textLength="21.603516">x.y</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="79.21289" y="11" textLength="7.201172">;</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="39" textLength="43.20703">class </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="red" x="43.20703" y="39" textLength="50.408203">MyClass</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="93.615234" y="39" textLength="14.402344"> {</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="53" textLength="93.615234">  native int </tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="67" textLength="36.00586">     </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="purple" x="36.00586" y="67" textLength="21.603516">foo</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="57.609375" y="67" textLength="14.402344"> (</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="#ff8000" x="72.01172" y="67" textLength="108.01758">int i, String s</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="180.0293" y="67" textLength="14.402344">);</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="81" textLength="7.201172">}</tspan></text><text transform="translate(309 191.125)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="11" textLength="72.01172">class JPF_</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="72.01172" y="11" textLength="21.603516">x_y</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="93.615234" y="11" textLength="7.201172">_</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="red" x="100.816406" y="11" textLength="50.408203">MyClass</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="151.22461" y="11" textLength="14.402344"> {</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="39" textLength="144.02344">  public static int </tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="53" textLength="28.804688">    </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="purple" x="28.804688" y="53" textLength="21.603516">foo</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="50.408203" y="53" textLength="165.62695">__ILjava_lang_String_2 </tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="67" textLength="208.83398">     (MJIEnv env, int objref,</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="81" textLength="43.20703">      </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="#ff8000" x="43.20703" y="81" textLength="108.01758">int i, int sRef</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="151.22461" y="81" textLength="7.201172">)</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="95" textLength="57.609375">    {..}</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="109" textLength="7.201172">}</tspan></text><path d="M 148 176 C 168.6646 166.6676 188.16885 153.6661 210 148 C 231.83115 142.3339 256.83555 139.83355 279 142 C 301.16445 144.16645 325.0018 153.0008 343 161 C 357.56026 167.47123 367.7608 176.12565 378.89088 184.31325" marker-end="url(#FilledArrow_Marker)" stroke="blue" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="2,2"/><path d="M 161 202 C 170.6657 191.0011 177.3346 179.49895 190 169 C 202.6654 158.50105 220.0017 145.83265 237 139 C 253.9983 132.16735 274.50175 128.3333 292 128 C 309.49825 127.6667 325.6683 132.0005 342 137 C 358.3317 141.9995 375.83475 149.83415 390 158 C 401.11917 164.40987 409.98157 172.25904 419.24353 179.85215" marker-end="url(#FilledArrow_Marker_2)" stroke="red" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="2,2"/><path d="M 126 250 C 149.6643 256.666 172.6691 267.0003 197 270 C 221.3309 272.9997 249.83555 272.16625 272 268 C 290.619 264.50019 305.24373 256.05959 320.90548 248.90456" marker-end="url(#FilledArrow_Marker_3)" stroke="fuchsia" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="2,2"/><path d="M 196 254 C 211.3318 260.3327 226.0016 268.83375 242 273 C 257.9984 277.16625 275.0017 279.49995 292 279 C 305.83104 278.5932 320.10685 274.87584 334.28319 271.88872" marker-end="url(#FilledArrow_Marker_4)" stroke="#ff8000" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="2,2"/><line x1="288" y1="97" x2="288" y2="331" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1" stroke-dasharray="16,9,1,9"/><text transform="translate(144 103.125)" fill="black"><tspan font-family="Helvetica" font-size="14" font-style="italic" font-weight="500" x="0" y="14" textLength="77.027344">Model Class</tspan></text><text transform="translate(359 103.125)" fill="black"><tspan font-family="Helvetica" font-size="14" font-style="italic" font-weight="500" x="0" y="14" textLength="112.041016">Native Peer Class</tspan></text><text transform="translate(332 310.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="0" y="11" textLength="96.708984">model parameters</tspan><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="0" y="25" textLength="94.61133">(refs become &apos;int&apos;)</tspan></text><text transform="translate(384 346.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="0" y="11" textLength="83.35547">MJI parameters</tspan></text><path d="M 452 279 L 452 318 L 437 318" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 491 269 L 491 354 L 476 354" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><path d="M 532 248 L 532 390 L 517 390" stroke="black" stroke-linecap="round" stroke-linejoin="round" stroke-width="1"/><text transform="translate(372 382.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="0" y="11" textLength="133.39453">JNI conformant mangling</tspan></text><text transform="translate(145 319.125)" fill="blue"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x=".29101562" y="11" textLength="42.708984">boolean</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="20.318359" y="25" textLength="22.68164">byte</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="19.65625" y="39" textLength="23.34375">char</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="16.322266" y="53" textLength="26.677734">short</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="30.326172" y="67" textLength="12.673828">int</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="20.3125" y="81" textLength="22.6875">long</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="20.318359" y="95" textLength="6">fl</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="26.31836" y="95" textLength="16.681641">oat</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="6.9648438" y="109" textLength="36.035156">double</tspan></text><text transform="translate(201 320.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="7.330078">Z</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="8.0039062">B</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="39" textLength="8.6660156">C</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="53" textLength="8.0039062">S</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="67" textLength="3.3339844">I</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="81" textLength="6">J</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="95" textLength="7.330078">F</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="109" textLength="8.6660156">D</tspan></text><text transform="translate(257 336.125)" fill="blue"><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="11" textLength="21.603516">&apos;_&apos;</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="25" textLength="21.603516">&apos;;&apos;</tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="0" y="39" textLength="21.603516">&apos;[&apos;</tspan></text><text transform="translate(291 337.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="13.347656">_1</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="25" textLength="13.347656">_2</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="39" textLength="13.347656">_3</tspan></text><text transform="translate(224 383.125)" fill="blue"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" fill="blue" x="0" y="11" textLength="36.697266">&lt;type&gt;</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="36.697266" y="11" textLength="3.3339844"> </tspan><tspan font-family="Courier" font-size="12" font-weight="500" fill="blue" x="40.03125" y="11" textLength="14.402344">[]</tspan></text><text transform="translate(289 383.125)" fill="black"><tspan font-family="Courier" font-size="12" font-weight="500" x="0" y="11" textLength="7.201172">[</tspan><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="7.201172" y="11" textLength="36.697266">&lt;type&gt;</tspan></text><text transform="translate(250 400.125)" fill="blue"><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="0" y="11" textLength="15.333984">x.y</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="14.449219" y="11" textLength="10.6640625">.Z</tspan></text><text transform="translate(291 400.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-weight="500" x="0" y="11" textLength="52.69922">Lx_y_Z_2</tspan></text><text transform="translate(224 417.125)" fill="blue"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" fill="blue" x="0" y="11" textLength="36.697266">&lt;func&gt;</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" fill="blue" x="36.697266" y="11" textLength="17.994141"> (..)</tspan></text><text transform="translate(291 417.125)" fill="black"><tspan font-family="Helvetica" font-size="12" font-style="italic" font-weight="500" x="0" y="11" textLength="36.697266">&lt;func&gt;</tspan><tspan font-family="Courier" font-size="12" font-weight="500" x="36.697266" y="11" textLength="14.402344">__</tspan><tspan font-family="Helvetica" font-size="12" font-weight="500" x="51.09961" y="11" textLength="63.38086">&lt;signature&gt;</tspan></text></g></g></svg>