harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hinde...@apache.org
Subject svn commit: r574189 [6/10] - in /harmony/standard/site: docs/ docs/documentation/milestones/ docs/subcomponents/drlvm/ xdocs/ xdocs/documentation/ xdocs/stylesheets/ xdocs/subcomponents/classlibrary/ xdocs/subcomponents/drlvm/
Date Mon, 10 Sep 2007 09:33:40 GMT
Modified: harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_provider.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_provider.xml?rev=574189&r1=574188&r2=574189&view=diff
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_provider.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_provider.xml Mon Sep 10 02:33:37 2007
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements. See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License. You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-
-<document>
-
-  <properties>
-    <title>RMI Provider</title>
-    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
-  </properties>
-
-  <body>
-   <docinclude name="subcomponents/classlibrary/RMIprovider.html"/>
-  </body> 
-</document>
+<?xml version="1.0" encoding="iso-8859-1"?>
+
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements. See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License. You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<document>
+
+  <properties>
+    <title>RMI Provider</title>
+    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+   <docinclude name="subcomponents/classlibrary/RMIprovider.html"/>
+  </body> 
+</document>

Propchange: harmony/standard/site/xdocs/subcomponents/classlibrary/rmi_provider.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/standard/site/xdocs/subcomponents/drlvm/DoxygenStart.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/drlvm/DoxygenStart.xml?rev=574189&r1=574188&r2=574189&view=diff
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/drlvm/DoxygenStart.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/drlvm/DoxygenStart.xml Mon Sep 10 02:33:37 2007
@@ -1,107 +1,107 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
- <!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<document>
-
- <properties>
-  <title>Apache Harmony DRL Virtual Machine Doc Index</title>
-  <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
- </properties>
-
- <body>
-
-<section name="DRLVM Source Code Generated Documentation Index">
-<p>This is a landing page for Doxygen source code reference generated automatically from interface headers.
-Each link should lead to a documentation bundle generated from a component-related set of header files. 
-The purpose of these documents is to provide a complete reference of available code in DRLVM interfaces. 
-Because the code base is being actively developed, not all interfaces are well-documented at this point, so that
-you can find some interfaces not documented. Everyone's welcome to contribute to this initiative.
-</p>
-<p>
-The documentation bundles were generated automatically and posted on the site server. You can regenerate the docs
-from your source files locally, as described in section <a href="#Regenerating the Reference">Regenerating the Reference</a>.
-</p>  
-    <subsection name="Doxygen API Reference for DRLVM Sources">
-    <p>This is a list of links to generated  source code documentation bundles. 
-    </p>
-    <ul>
-      <li><a href="doxygen/intf/html/index.html">DRLVM Interfaces</a> - the high-level interface headers</li>
-      <li><a href="doxygen/em/html/index.html">Execution Manager</a></li>
-      <li>Garbage Collectors:
-      <ul>
-          <li><a href="doxygen/gc_cc/html/index.html">Copying/Compacting Garbage Collector</a></li>
-          <li><a href="doxygen/gc_gen/html/index.html">Generational Garbage Collector</a></li>
-          <li><a href="doxygen/gcv4/html/index.html">Obsolete v.4 Garbage Collector</a></li>
-      </ul></li>
-      <li><a href="doxygen/interpreter/html/index.html">Interpreter</a></li>
-      <li><a href="doxygen/jitrino/html/index.html">Jitrino</a>- the just-in-time compiler </li>
-      <li><a href="doxygen/apr_extension/html/index.html">Porting Layer</a> - the extensions to APR</li>
-      <li><a href="doxygen/thread/html/index.html">Thread Manager</a></li>
-      <li><a href="doxygen/vmcore/html/index.html">VM Infrastructure</a> - the VM core component interfaces</li>
-      <li><a href="doxygen/vmi/html/index.html">Class Library Support</a> -  the VMI interface</li>
-      <li><a href="doxygen/component_manager/html/index.html">Component Manager</a></li>
-      <li><a href="doxygen/tests/html/index.html">DTLVM Tests</a></li>
-      <li><a href="doxygen/drlvm/html/index.html">All DRLVM</a> - the big bundle with all of the above</li>
-    </ul>
-    </subsection>
-    
-    <subsection name="Other Useful DRLVM documents">
-    <ul>
-      <li><a href="index.html" target="_blank">DRLVM
-      website documentation page</a> with links to all DRLVM documents</li>
-      <li><a href="http://wiki.apache.org/harmony/DRLVM_Documentation_Quality">Status
-      metrics for Doxygen API reference</a>, Wiki page with metrics that show improvement metrics for the reference </li>
-    </ul>
-    </subsection>
-</section>
-<section name="Regenerating the Reference">
-<p>
-You can locally regenerate reference materials analogous to those posted on the website. This can be especially useful when writing comments to your code: parsing the newly added comments with Doxygen is an ideal test. To avoid parsing the whole source tree, you can adjust the list of files to include into a specific documentation bundle or configure Doxygen to produce a different output, see section <a href="#Advanced Tasks">Advanced Tasks</a>.
-</p>
-<p>Follow these instructions to regenerate the Doxygen reference documentation locally:</p>
-<ol>
-<li>Check out the source code tree. Run <code>svn update</code> to make sure you have the latest version of doc-generation support files.
-</li>
-<li>Go to the directory <code>trunk/working_vm/vm/doc</code> and run:
-<pre>$ ant</pre>
-</li>
-</ol>
-<p>
-That's it! You should get the Doxygen docs in a set of subdirectories in <code>doc</code>. 
-<br />Use the <code>DoxygenStart.html</code> file as your starting point. </p>
-<subsection name="Advanced Tasks">
-<p>
-Generation of Doxygen reference is adjusted by the following files located in <code>trunk/vm/doc</code>:
-</p>
-<dl>
-<dt>doc.properties</dt>
-<dd>Defines the input files included in each bundle. Edit the file per source tree changes. You can also create a new target in this file to include your customized set of files. In this case, remember to add corresponding <code>clean</code> and <code>create</code> targets into <code>build.xml</code>. 
-</dd>
-<dt>build.xml</dt>
-<dd>Lists all doc build targets. When called, <code>ant</code> deletes all previously generated content (if any) and creates new directories for each bundle and places documentation there in the <code>html</code> subfolder. That location also contains the <code>log.txt</code> file with the list of errors and warnings produced by Doxygen. Use the log to track progress with commenting.
-</dd>
-<dt>vm.cfg</dt> 
-<dd>Is a copy of classlib configuration files and defines formatting and other output properties for Doxygen. Modify this file to get a different output format, adjust the header and footer in resulting docs, edit the parsing conditions, etc.
-</dd>
-</dl>
-<p class="note">Note</p>
-<p class="notetext">The file <code>vm.cfg</code> now depends on the <code>css</code> and other support files located in the classlib trunk. To parse DRLVM sources with Doxygen, you also need to have class library sources checked out. </p>
-</subsection>
-</section>
-</body>
+<?xml version="1.0" encoding="ISO-8859-1"?>
+ <!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<document>
+
+ <properties>
+  <title>Apache Harmony DRL Virtual Machine Doc Index</title>
+  <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+ </properties>
+
+ <body>
+
+<section name="DRLVM Source Code Generated Documentation Index">
+<p>This is a landing page for Doxygen source code reference generated automatically from interface headers.
+Each link should lead to a documentation bundle generated from a component-related set of header files. 
+The purpose of these documents is to provide a complete reference of available code in DRLVM interfaces. 
+Because the code base is being actively developed, not all interfaces are well-documented at this point, so that
+you can find some interfaces not documented. Everyone's welcome to contribute to this initiative.
+</p>
+<p>
+The documentation bundles were generated automatically and posted on the site server. You can regenerate the docs
+from your source files locally, as described in section <a href="#Regenerating the Reference">Regenerating the Reference</a>.
+</p>  
+    <subsection name="Doxygen API Reference for DRLVM Sources">
+    <p>This is a list of links to generated  source code documentation bundles. 
+    </p>
+    <ul>
+      <li><a href="doxygen/intf/html/index.html">DRLVM Interfaces</a> - the high-level interface headers</li>
+      <li><a href="doxygen/em/html/index.html">Execution Manager</a></li>
+      <li>Garbage Collectors:
+      <ul>
+          <li><a href="doxygen/gc_cc/html/index.html">Copying/Compacting Garbage Collector</a></li>
+          <li><a href="doxygen/gc_gen/html/index.html">Generational Garbage Collector</a></li>
+          <li><a href="doxygen/gcv4/html/index.html">Obsolete v.4 Garbage Collector</a></li>
+      </ul></li>
+      <li><a href="doxygen/interpreter/html/index.html">Interpreter</a></li>
+      <li><a href="doxygen/jitrino/html/index.html">Jitrino</a>- the just-in-time compiler </li>
+      <li><a href="doxygen/apr_extension/html/index.html">Porting Layer</a> - the extensions to APR</li>
+      <li><a href="doxygen/thread/html/index.html">Thread Manager</a></li>
+      <li><a href="doxygen/vmcore/html/index.html">VM Infrastructure</a> - the VM core component interfaces</li>
+      <li><a href="doxygen/vmi/html/index.html">Class Library Support</a> -  the VMI interface</li>
+      <li><a href="doxygen/component_manager/html/index.html">Component Manager</a></li>
+      <li><a href="doxygen/tests/html/index.html">DTLVM Tests</a></li>
+      <li><a href="doxygen/drlvm/html/index.html">All DRLVM</a> - the big bundle with all of the above</li>
+    </ul>
+    </subsection>
+    
+    <subsection name="Other Useful DRLVM documents">
+    <ul>
+      <li><a href="index.html" target="_blank">DRLVM
+      website documentation page</a> with links to all DRLVM documents</li>
+      <li><a href="http://wiki.apache.org/harmony/DRLVM_Documentation_Quality">Status
+      metrics for Doxygen API reference</a>, Wiki page with metrics that show improvement metrics for the reference </li>
+    </ul>
+    </subsection>
+</section>
+<section name="Regenerating the Reference">
+<p>
+You can locally regenerate reference materials analogous to those posted on the website. This can be especially useful when writing comments to your code: parsing the newly added comments with Doxygen is an ideal test. To avoid parsing the whole source tree, you can adjust the list of files to include into a specific documentation bundle or configure Doxygen to produce a different output, see section <a href="#Advanced Tasks">Advanced Tasks</a>.
+</p>
+<p>Follow these instructions to regenerate the Doxygen reference documentation locally:</p>
+<ol>
+<li>Check out the source code tree. Run <code>svn update</code> to make sure you have the latest version of doc-generation support files.
+</li>
+<li>Go to the directory <code>trunk/working_vm/vm/doc</code> and run:
+<pre>$ ant</pre>
+</li>
+</ol>
+<p>
+That's it! You should get the Doxygen docs in a set of subdirectories in <code>doc</code>. 
+<br />Use the <code>DoxygenStart.html</code> file as your starting point. </p>
+<subsection name="Advanced Tasks">
+<p>
+Generation of Doxygen reference is adjusted by the following files located in <code>trunk/vm/doc</code>:
+</p>
+<dl>
+<dt>doc.properties</dt>
+<dd>Defines the input files included in each bundle. Edit the file per source tree changes. You can also create a new target in this file to include your customized set of files. In this case, remember to add corresponding <code>clean</code> and <code>create</code> targets into <code>build.xml</code>. 
+</dd>
+<dt>build.xml</dt>
+<dd>Lists all doc build targets. When called, <code>ant</code> deletes all previously generated content (if any) and creates new directories for each bundle and places documentation there in the <code>html</code> subfolder. That location also contains the <code>log.txt</code> file with the list of errors and warnings produced by Doxygen. Use the log to track progress with commenting.
+</dd>
+<dt>vm.cfg</dt> 
+<dd>Is a copy of classlib configuration files and defines formatting and other output properties for Doxygen. Modify this file to get a different output format, adjust the header and footer in resulting docs, edit the parsing conditions, etc.
+</dd>
+</dl>
+<p class="note">Note</p>
+<p class="notetext">The file <code>vm.cfg</code> now depends on the <code>css</code> and other support files located in the classlib trunk. To parse DRLVM sources with Doxygen, you also need to have class library sources checked out. </p>
+</subsection>
+</section>
+</body>
 </document>

Propchange: harmony/standard/site/xdocs/subcomponents/drlvm/DoxygenStart.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/standard/site/xdocs/subcomponents/drlvm/JIT.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/drlvm/JIT.xml?rev=574189&r1=574188&r2=574189&view=diff
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/drlvm/JIT.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/drlvm/JIT.xml Mon Sep 10 02:33:37 2007
@@ -1,33 +1,33 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-
-<document>
-
-  <properties>
-    <title>Jitrino Just-in-Time Compiler</title>
-    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
-
-  </properties>
-
-  <body>
-    <docinclude name="subcomponents/drlvm/Jitrino.html"/>
-
-
-  </body>
-</document>
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+
+<document>
+
+  <properties>
+    <title>Jitrino Just-in-Time Compiler</title>
+    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+
+  </properties>
+
+  <body>
+    <docinclude name="subcomponents/drlvm/Jitrino.html"/>
+
+
+  </body>
+</document>

Propchange: harmony/standard/site/xdocs/subcomponents/drlvm/JIT.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/standard/site/xdocs/subcomponents/drlvm/JIT_PMF.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/drlvm/JIT_PMF.xml?rev=574189&r1=574188&r2=574189&view=diff
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/drlvm/JIT_PMF.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/drlvm/JIT_PMF.xml Mon Sep 10 02:33:37 2007
@@ -1,30 +1,30 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-
-<document>
-
-  <properties>
-    <title>Jitrino Pipeline Management Framework</title>
-    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
-  </properties>
-
-  <body>
-    <docinclude name="subcomponents/drlvm/Jitrino_PMF.html"/>
-  </body>
-</document>
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+
+<document>
+
+  <properties>
+    <title>Jitrino Pipeline Management Framework</title>
+    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+  </properties>
+
+  <body>
+    <docinclude name="subcomponents/drlvm/Jitrino_PMF.html"/>
+  </body>
+</document>

Propchange: harmony/standard/site/xdocs/subcomponents/drlvm/JIT_PMF.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: harmony/standard/site/xdocs/subcomponents/drlvm/JVMTI-PopFrame.xml
URL: http://svn.apache.org/viewvc/harmony/standard/site/xdocs/subcomponents/drlvm/JVMTI-PopFrame.xml?rev=574189&r1=574188&r2=574189&view=diff
==============================================================================
--- harmony/standard/site/xdocs/subcomponents/drlvm/JVMTI-PopFrame.xml (original)
+++ harmony/standard/site/xdocs/subcomponents/drlvm/JVMTI-PopFrame.xml Mon Sep 10 02:33:37 2007
@@ -1,269 +1,269 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<document>
-  <properties>
-    <title>JVMTI Implementation of Pop Frame</title>
-    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
-
-  </properties>
-
-  <body>
-      <section name="JVMTI Pop Frame">
-          <ol id="TOC">
-              <li><a href="#About This Document">About This Document</a></li>
-              <li><a href="#Introduction">Introduction</a></li>
-              <li><a href="#How to Pop a Frame">How to Pop a Frame</a></li>
-              <li><a href="#Implementation Specifics">Implementation Specifics</a></li>
-              <li><a href="#Related Information">Related Information</a></li>
-          </ol>
-          <subsection name="About This Document">
-              <p>
-            Here is a description of how popping a frame is currently
-            implemented in the DRLVM tool interface (JVMTI). For a
-            definition of the pop frame functionality, consult the JVMTI
-            specification [<a href="#JVMTISpec">1</a>]. For generic
-            information on JVMTI in the DRL virtual machine and for definition
-            of related terms, see the <a href="developers_guide.html" title="DRLVM Developer's Guide">developer's
-            guide</a>.
-         </p>
-</subsection>
-         <subsection name="Introduction">
-         <p> Popping a stack frame becomes necessary when execution is in a native
-           function and a <a href="developers_guide.html#M2nFrame">managed-to-native
-           frame</a> (M2nFrame) is on the stack. This means that the JVMTI 
-       component pops the M2nFrame and the Java frame above it. A frame is popped
-           each time the JVMTI function <code>PopFrame()</code> is
-       called. The current pop-frame implementation is based on the exception
-       handling mechanism for transferring execution control. This way, VM pops
-       frames on the current thread only. To pop frames on other threads, VM
-       uses the M2nFrame flag system and callbacks.</p>
-          </subsection>
-         <subsection name="How to Pop a Frame">
-         <p>To pop a frame on the current thread, refer to the following core
-            functions:
-         </p>
-         <table>
-            <tr>
-               <th class="TableHeading">
-                     Function Name </th>
-               <th class="TableHeading">
-                     Role</th>
-            </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>jvmti_jit_prepare_pop_frame</code>
-              </td>
-                <td class="TableCell">
-                     Finds register context for the previous frame using the
-                     <a href="developers_guide.html#Stack_Iterator">stack iterator</a>.</td>
-           </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>jvmti_jit_complete_pop_frame</code>
-              </td>
-                <td class="TableCell">
-                     Transfers control to the saved register context for the
-                     popped frame.
-              </td>
-           </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>jvmti_ji_do_pop_frame</code>
-              </td>
-                <td class="TableCell">
-                     Transfers control to the previous frame. This function is
-                     a simple and fast combination of sequential calls of
-                     <code>jvmti_jit_prepare_pop_frame</code> and
-                     <code>jvmti_jit_complete_pop_frame</code>.
-              </td>
-           </tr>
-   </table>
-         <p>The state of a frame with regard to popping is indicated in the
-          <code>frame_type</code>
-           field. This field can have the following values: </p>
-         <table>
-            <tr>
-                <th class="TableHeading">
-                   Flag Name
-                   </th>
-                <th class="TableHeading">
-                     Meaning</th>
-            </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>FRAME_UNPOPABLE</code>
-              </td>
-                <td class="TableCell">
-                     The frame cannot be popped.
-              </td>
-            </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>FRAME_POPABLE</code>
-              </td>
-                <td class="TableCell">
-                     The frame can be popped but is not.
-              </td>
-            </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>FRAME_POP_NOW</code>
-              </td>
-                <td class="TableCell">
-                     The frame is popped and the state of VM can be
-                     unpredictable and unexpected. JVMTI cannot work in this
-                     state and waits until the popped frame is resumed and the
-                     frame state is changed.
-              </td>
-            </tr>
-            <tr>
-                <td class="TableCell">
-                     <code>FRAME_POP_DONE =
-                     FRAME_POPABLE |FRAME_POP_NOW</code>
-              </td>
-                <td class="TableCell">
-                     The frame is popped now but VM state is OK and JVMTI can
-                     work without thread resume.
-              </td>
-            </tr>
-         </table>
-         <p>
-            In the current implementation, popping a frame goes in the
-            following way:
-         </p>
-         <ol>
-            <li>
-               VM suspends the popped thread in one of these functions:
-               <code>thread_suspend_disable()</code> or in <code>hythread_safe_point()</code>.
-            </li>
-           <li>
-             The JVMTI Agent calls <code>PopFrame()</code> and does the following:
-             <ul>
-               <li>
-                 Checks that the flag for the topmost M2nFrame is set to <code>FRAME_POPABLE</code>,
-                 which means that the frame can be popped.
-               </li>
-               <li>
-                 Changes the flag
-                 to <code>FRAME_POP_NOW</code>.
-               </li>
-               <li>
-                 Sets the safe point for the callback function. The suspended thread
-                 executes the callback while staying in the function where the
-                 thread is suspended.
-               </li>
-             </ul>
-           </li>
-           <li>
-             The callback
-             function pops the frame in one of the following ways depending on
-             the function and on area of the stack:
-             <ul>
-               <li>
-                 For <b>hythread_safe_point():</b>
-                 <ul>
-                   <li>
-                     VM finds the register
-                     context for the previous frame and saves it in the current M2nFrame.
-                     The frame type flag changed to <code>FRAME_POP_DONE</code>.
-                   </li>
-                   <li>
-                     VM exits the safe point and checks the frame status. If
-                     the frame is popped, VM transfers control to the saved register
-                     context. Otherwise, VM exits normally.
-                   </li>
-                 </ul>
-               </li>
-               <li>
-                 For the <b>suspend_disable()</b> function in an
-                 <a href="developers_guide.html#Exception_Handling">
-                   unwindable area of the stack</a>:
-                 <ul>
-                   <li>
-                     The callback explicitly calls <code>hythread_safe_point()</code> to
-                     stop the current thread in the safe point and wait until
-                     the thread is resumed by another thread.
-                   </li>
-                   <li>
-                     When the thread is resumed, the callback pops the frame
-                     for the current thread and transfers control to the previous
-                     frame.
-                   </li>
-                 </ul>
-               </li>
-               <li>
-                 For the <strong>suspend_disable()</strong> function in a
-                 <a href="developers_guide.html#Exception_Handling">
-                   non-unwindable area of the stack</a>:
-                 <ul>
-                   <li>
-                     VM raises a special exception object and waits for the end
-                     of the area.
-                   </li>
-                   <li>
-                     After exiting the area, VM checks whether the exception
-                     is set and pops the frame for the current thread and transfers
-                     control to the previous frame.
-                   </li>
-                 </ul>
-               </li>
-              </ul>
-           </li>
-         </ol>
-         </subsection>
-         <subsection name="Implementation Specifics">
-        
-
-         <ul>
-           <li>Because the implementation re-uses the exception scheme, popping
-              a frame does not transfer control to the beginning of the bytecode
-        invoke instruction, but to the native call instruction. This is possible
-             because the JIT compiles an invoke instruction into
-              several native instructions including the call.<br />
-              A better way of handling the operation is to make VM transfer
-              control to the beginning of the invoke instruction block. </li>
-           <li> In the exception handling mechanism, control is returned to the
-               instruction pointer (IP) after the call instruction. This way, VM
-                must find the call IP of the previous instruction by using
-                information on JIT calling conventions.<br />
-It is advisory to move the corresponding functionality to JIT so that VM has no data
-on JIT calling conventions. </li>
-           <li> Object references in popped frames can become outdated during
-                garbage collection because VM components do not enumerate the stack
-                for such frames. For GC purposes, JVM TI enumerates popped frames
-                until the thread is resumed and control is transferred. </li>
-           <li> Due to specifics of the current thread manager implementation,
-                the pop frame cannot guarantee synchronization of thread-suspend
-                states across different threads. This way, if Thread A suspends
-                Thread B, the current implementation cannot guarantee that Thread
-             B is not resumed by another thread. In such a situation, operation of
-                Thread A can be unstable because it relies on Thread B being
-                suspended. </li>
-         </ul>
- </subsection>
-         <subsection name="Related Information">
-        
-         <p>[<a name="JVMTISpec" id="JVMTISpec"></a>1] JVM
-         Tool Interface Specification, <a 
-href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html" 
-target="_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html</a> </p>
- </subsection>       
-       </section> 
-</body>
-</document>
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!--
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<document>
+  <properties>
+    <title>JVMTI Implementation of Pop Frame</title>
+    <author email="dev@harmony.apache.org">Harmony Documentation Team</author>
+
+  </properties>
+
+  <body>
+      <section name="JVMTI Pop Frame">
+          <ol id="TOC">
+              <li><a href="#About This Document">About This Document</a></li>
+              <li><a href="#Introduction">Introduction</a></li>
+              <li><a href="#How to Pop a Frame">How to Pop a Frame</a></li>
+              <li><a href="#Implementation Specifics">Implementation Specifics</a></li>
+              <li><a href="#Related Information">Related Information</a></li>
+          </ol>
+          <subsection name="About This Document">
+              <p>
+            Here is a description of how popping a frame is currently
+            implemented in the DRLVM tool interface (JVMTI). For a
+            definition of the pop frame functionality, consult the JVMTI
+            specification [<a href="#JVMTISpec">1</a>]. For generic
+            information on JVMTI in the DRL virtual machine and for definition
+            of related terms, see the <a href="developers_guide.html" title="DRLVM Developer's Guide">developer's
+            guide</a>.
+         </p>
+</subsection>
+         <subsection name="Introduction">
+         <p> Popping a stack frame becomes necessary when execution is in a native
+           function and a <a href="developers_guide.html#M2nFrame">managed-to-native
+           frame</a> (M2nFrame) is on the stack. This means that the JVMTI 
+       component pops the M2nFrame and the Java frame above it. A frame is popped
+           each time the JVMTI function <code>PopFrame()</code> is
+       called. The current pop-frame implementation is based on the exception
+       handling mechanism for transferring execution control. This way, VM pops
+       frames on the current thread only. To pop frames on other threads, VM
+       uses the M2nFrame flag system and callbacks.</p>
+          </subsection>
+         <subsection name="How to Pop a Frame">
+         <p>To pop a frame on the current thread, refer to the following core
+            functions:
+         </p>
+         <table>
+            <tr>
+               <th class="TableHeading">
+                     Function Name </th>
+               <th class="TableHeading">
+                     Role</th>
+            </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>jvmti_jit_prepare_pop_frame</code>
+              </td>
+                <td class="TableCell">
+                     Finds register context for the previous frame using the
+                     <a href="developers_guide.html#Stack_Iterator">stack iterator</a>.</td>
+           </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>jvmti_jit_complete_pop_frame</code>
+              </td>
+                <td class="TableCell">
+                     Transfers control to the saved register context for the
+                     popped frame.
+              </td>
+           </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>jvmti_ji_do_pop_frame</code>
+              </td>
+                <td class="TableCell">
+                     Transfers control to the previous frame. This function is
+                     a simple and fast combination of sequential calls of
+                     <code>jvmti_jit_prepare_pop_frame</code> and
+                     <code>jvmti_jit_complete_pop_frame</code>.
+              </td>
+           </tr>
+   </table>
+         <p>The state of a frame with regard to popping is indicated in the
+          <code>frame_type</code>
+           field. This field can have the following values: </p>
+         <table>
+            <tr>
+                <th class="TableHeading">
+                   Flag Name
+                   </th>
+                <th class="TableHeading">
+                     Meaning</th>
+            </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>FRAME_UNPOPABLE</code>
+              </td>
+                <td class="TableCell">
+                     The frame cannot be popped.
+              </td>
+            </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>FRAME_POPABLE</code>
+              </td>
+                <td class="TableCell">
+                     The frame can be popped but is not.
+              </td>
+            </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>FRAME_POP_NOW</code>
+              </td>
+                <td class="TableCell">
+                     The frame is popped and the state of VM can be
+                     unpredictable and unexpected. JVMTI cannot work in this
+                     state and waits until the popped frame is resumed and the
+                     frame state is changed.
+              </td>
+            </tr>
+            <tr>
+                <td class="TableCell">
+                     <code>FRAME_POP_DONE =
+                     FRAME_POPABLE |FRAME_POP_NOW</code>
+              </td>
+                <td class="TableCell">
+                     The frame is popped now but VM state is OK and JVMTI can
+                     work without thread resume.
+              </td>
+            </tr>
+         </table>
+         <p>
+            In the current implementation, popping a frame goes in the
+            following way:
+         </p>
+         <ol>
+            <li>
+               VM suspends the popped thread in one of these functions:
+               <code>thread_suspend_disable()</code> or in <code>hythread_safe_point()</code>.
+            </li>
+           <li>
+             The JVMTI Agent calls <code>PopFrame()</code> and does the following:
+             <ul>
+               <li>
+                 Checks that the flag for the topmost M2nFrame is set to <code>FRAME_POPABLE</code>,
+                 which means that the frame can be popped.
+               </li>
+               <li>
+                 Changes the flag
+                 to <code>FRAME_POP_NOW</code>.
+               </li>
+               <li>
+                 Sets the safe point for the callback function. The suspended thread
+                 executes the callback while staying in the function where the
+                 thread is suspended.
+               </li>
+             </ul>
+           </li>
+           <li>
+             The callback
+             function pops the frame in one of the following ways depending on
+             the function and on area of the stack:
+             <ul>
+               <li>
+                 For <b>hythread_safe_point():</b>
+                 <ul>
+                   <li>
+                     VM finds the register
+                     context for the previous frame and saves it in the current M2nFrame.
+                     The frame type flag changed to <code>FRAME_POP_DONE</code>.
+                   </li>
+                   <li>
+                     VM exits the safe point and checks the frame status. If
+                     the frame is popped, VM transfers control to the saved register
+                     context. Otherwise, VM exits normally.
+                   </li>
+                 </ul>
+               </li>
+               <li>
+                 For the <b>suspend_disable()</b> function in an
+                 <a href="developers_guide.html#Exception_Handling">
+                   unwindable area of the stack</a>:
+                 <ul>
+                   <li>
+                     The callback explicitly calls <code>hythread_safe_point()</code> to
+                     stop the current thread in the safe point and wait until
+                     the thread is resumed by another thread.
+                   </li>
+                   <li>
+                     When the thread is resumed, the callback pops the frame
+                     for the current thread and transfers control to the previous
+                     frame.
+                   </li>
+                 </ul>
+               </li>
+               <li>
+                 For the <strong>suspend_disable()</strong> function in a
+                 <a href="developers_guide.html#Exception_Handling">
+                   non-unwindable area of the stack</a>:
+                 <ul>
+                   <li>
+                     VM raises a special exception object and waits for the end
+                     of the area.
+                   </li>
+                   <li>
+                     After exiting the area, VM checks whether the exception
+                     is set and pops the frame for the current thread and transfers
+                     control to the previous frame.
+                   </li>
+                 </ul>
+               </li>
+              </ul>
+           </li>
+         </ol>
+         </subsection>
+         <subsection name="Implementation Specifics">
+        
+
+         <ul>
+           <li>Because the implementation re-uses the exception scheme, popping
+              a frame does not transfer control to the beginning of the bytecode
+        invoke instruction, but to the native call instruction. This is possible
+             because the JIT compiles an invoke instruction into
+              several native instructions including the call.<br />
+              A better way of handling the operation is to make VM transfer
+              control to the beginning of the invoke instruction block. </li>
+           <li> In the exception handling mechanism, control is returned to the
+               instruction pointer (IP) after the call instruction. This way, VM
+                must find the call IP of the previous instruction by using
+                information on JIT calling conventions.<br />
+It is advisory to move the corresponding functionality to JIT so that VM has no data
+on JIT calling conventions. </li>
+           <li> Object references in popped frames can become outdated during
+                garbage collection because VM components do not enumerate the stack
+                for such frames. For GC purposes, JVM TI enumerates popped frames
+                until the thread is resumed and control is transferred. </li>
+           <li> Due to specifics of the current thread manager implementation,
+                the pop frame cannot guarantee synchronization of thread-suspend
+                states across different threads. This way, if Thread A suspends
+                Thread B, the current implementation cannot guarantee that Thread
+             B is not resumed by another thread. In such a situation, operation of
+                Thread A can be unstable because it relies on Thread B being
+                suspended. </li>
+         </ul>
+ </subsection>
+         <subsection name="Related Information">
+        
+         <p>[<a name="JVMTISpec" id="JVMTISpec"></a>1] JVM
+         Tool Interface Specification, <a 
+href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html" 
+target="_blank">http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html</a> </p>
+ </subsection>       
+       </section> 
+</body>
+</document>

Propchange: harmony/standard/site/xdocs/subcomponents/drlvm/JVMTI-PopFrame.xml
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message