Aa��^/n a b b y d e h jHH  d_��SK�I�`H���H������ff@����� � � ����� �����d a �Footnote TableFootnote*��. . / - � �:;,.�!?rune6$ \"aTOCHeading(+APIsInteroperabilityJavaSoftLiteMKLinuxMyricomSelfhostSolarisTimeoutXgdbappletsawt_lockbytecodedebugger debuggers dereferenced disassembler hashtablejavapjpeglongjmp monothreaded notifyAll portabilityruntime schedulersetjmpwakeup   EquationVariables���z��!� ��G� ���� ��m; �� �e 5 �   ��u�u � � � � � `b y e � � ` � � ` U u e U<$lastpagenum> V<$monthname> <$daynum>, <$year>��� W"<$monthnum>/<$daynum>/<$shortyear> X<<$monthname> <$daynum>, <$year> <$hour>:<$minute00> <$ampm> Y8<$monthnum>/<$daynum>/<$shortyear> <$hour24>:<$minute00>oo Z<$monthname> <$daynum>, <$year> � ["<$monthnum>/<$daynum>/<$shortyear> \ <$fullfilename> ] <$filename> ^ <$paratext[Title]> _ <$paratext[Heading]>co ` <$curpagenum> a <$marker1> b <$marker2> c (Continued)er d+ (Sheet <$tblsheetnum> of <$tblsheetcount>)eg fPagepage <$pagenum>ofy gHeading & Page<$paratext> on page <$pagenum>up hSection & Page%section <$paranum> on page <$pagenum> I y Y��$ I � �P��$ J � �P��$ K � �QA���$ L � �QA;��$ M � �P��$ N � �P��$ O � �PA���$ P � �P��$ Q � �P��$ R  6QA" S QAa��$ T � �QTOC$ U  QA>��$ V U UP��$ W X XP X ` `QAu � ��>  � �"hn � �mor � � fu � � � �a � �a[T � � pa � �ico� � � �uum � � er^ � � � er� � � � in� � � �� � � �e o � �t) � �age� � �o� � � �  � �n<$ � �pSe� � � �e� � � �>� � � �� � � �� � ��� � �� � � �� � ��  � ���  � ���  � ����  � �P�  � ���  � �M  � ��  � ���! �P� � �� � � �� � �� � ��  �QAa�  � ��  � ��  � �  �>  �P  ���R  � �P�  � `�  �u �  � ��  ��  � ��  � ��  � ���  � ���  � ��W  � ��\ � ��f ! � ��g " � ��h # � ��i $ � ��j % � ��t & � ��q ' � �� ( � �� ) � ��u * � ��v + � ��w , � ��x - � ��y . � ��z / � ��{ 0 � ��| 1 � �� 2 � ��} 3 � ��" 4 � ��~ 5 � ��� 6 � ��� 7 � ��� 8 � ��� 9 � ��� : � ��� ; � ��� < � ��� = � ��� > � ��� ? � ��� @ � ��6 A � ��� B � ��� C � ��7 D � ��8 E � ��� F � ��� G � ��� H � ��� I � ��� J � ��� K � ��� L � ��� M � ��� N � ��� O � ��� P � ��� Q � ��� R � ��� S � ��� T � �� U � �� V � ��) W � �� X � ��, Y � �� Z � ��" [ � ��# \ � ��- ] � ��. ^ � ��/ _ � �� ` ��M a � ��5 b � ��6 c � ��7 d � ��8 e � ��9 f � ��: g � ��; h � ��Z i � ��R j � ��V k � ��W l � ��� m � ��} n � ��~ o � ��b p � ��c q � ��d r � ��e s � ��f t � ��s u � ��h v � ��i w � ��" x ��o y � ��u z � ��� { � ��� | � ��� } � ��� ~ � ���  � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � �� � � �� � � �� � � �� � � �� � � �� � � ��� � � ��� � � ��� � � ��* � � ��+ � � ��9 � � �� � � �� � � ��I � � ��J � � ��K � � ��L � � ��M � � ��N � � ��O � � ��P � � ��Q � � ��i � � ��b � � ��c � � ��j � � ��k � � ��l � � ��m � � ��n � � ��$ � ��� � ��& � ��( � ��� � ��� � � �� � ��v � � ��w � � �� � ��2 � ��4 � ��6 � ��7 � � ��9 � ��; � ��= � ��? � � ��A � ��C � ��E � ��K � ��M � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � ��� � � �� � �� � � B�d" � )� � � aKd# � )�� � � bOH$� $ � + � ��H$�  ��c � � �j����UUd � � H�Ua� % � + � nH�Ua�  �� � �����UUd � � �HH��& � + � �HH��  � �� � �d �  \ B��' � + � 9 �\ B��-�? � ` � � � �F��/���( � , � F��/������ �� ��UTUT��` �  �E��(�) � - � � ���E��(���E��(���(D.~* � . � )D.~ �� �#����UUh � Page 1 ���->v���6+ � / � � � � ����->v���6����->v���6, � / � � � � � �����->v���6� �->v��6- � / � � � � �%� �->v��6 ���->vG�i�6. � / � � � � ����->vG�i�6 � ����.��C���l/ � 0 � � � � � ���.��C���l���A�l���A�l O S F���->vI�_�0 � 0 � � ����->vI�_� � �d1 � ) � � c 9 �HH�3��2 � + � HH�3��- � � � � ` � �  F��/���3 � , � F��/������  � �UTUT��` � � Ecole d�iInformtique de l�IN2P3  URUT��` � Tunis -Tunisie - June 29 1992 H%�4 � - � � �H%�H%�%D.~5 � . � v��D.~ ���6� ��6����UUl � � Page # H{��;� 6 � + � � %H{��;� �� � � � ���` � ��� l�{��;� 7 � + � � ��l�{��;� O 0 � 0 ���b)>����68 � / � � � � �)��b)>����6���)>����69 � / � � � � � �����)>����6� �)>���6: � / � � � � �� �)>���6��b)>�G�j�6; � / � � � � �����b)>�G�j�6 � ����*��C���l< � 0 � � � � � �����*��C���l���=����=� O S F���)>�I��_�= � 0 � �Ior���)>�I��_� � �d> � ) 1 � � d -H��4�U P0? � / � � H��4�U P0H ��H �� FootnoteH(1�$@ � * � � � � �Footnote1���A � 1 �1���61���1H�[��$B � * � � � � �H1 Rule�[��C � 1 �7�[�� ��l�[���Hw�.1]h P0D � 2 � � � Hw�.1]h P0H�$H�$ H1 Rule� �H��SA�� P0E � 2 � � � ���H��SA�� P0H� IH� I  Table RuleH���[����F � * � � �� � � � Table Rule[��G � 2 ���j[��C���l[��H2� H � 3 � � ��� � �_� Title Rule�I � - ��� )�H(� P0J � - � � � P0H(� P0H2H2 ��H� ;w� P0K � - � � � 1H� ;w� P0H)H)  Title RuleHZ���L � * � �� TableFootnote�dM � )$ � � e ��`��N � + � �� ��`�� � ���` � D<$paratext> <$pagenum> H` $  �%�C� ^�O � + � � E 2 �%�C� ^� ��S ��S Table of Contents SpecificationHd� � 4� fTae \ B��� � 5 � �\ B�����2�  3   8 P @ : < > D F N H J L ` � �e Porting problems encountered -D` � �understanding JavaSoft�s code c` �0fixing bugs and detecting Solaris specific code P0�` � �improving debugging tools �`  � thread creation 0�` � �stack direction �` � � *dynamic linking �`  �)implementing non blocking calls (IO,...) ` �reentrance / thread-safety <`  �suspend / hidden system locks [`  �/64 bit issues (back pointers, pointer size...) �z` � �4math errors in the systems (mainly floating points) �` � �C�.machine dependencies (includes and libraries) �@h ��S... TESTING THE SYSTEM ficH$� R � + � �H$� l$ � � I�H�Ua� S � + � � ���H�Ua� l$ � � J@ :HH��T � + � �oinHH��l$ � � Kava\ B��U � + � �Jan\ B��l$ � � LrovF��/���V � , � � �hadF��/���l$ � � MD.~W � . � � �D.~l$ � � N�HH�3��X � + � � HH�3��l$ � � � ObitH{���� Y � + � � �H{���� l$ � � � O poF��/���Z � , � � �dciF��/���l$ � � P THD.~[ � . � � �+ �D.~l$ � � Q$ ��`��\ � + � �+ � ��`��l$ � � T$\ B��� + �+\ B��l$ � � S$d_  4+ �   g\ B��`  5  ov\ B���V  F��/   ` � �Native code interface D`  � � c` 7 �%No differences at the bytecode level $�` � �  � +BAll the loaded libraries are searched to find the  address � �@  �/of a function given its  ASCII   name {���` 6 � �` 8 �)The interpreter loop calls this function �` 9 ��� 7` : �7Native methods may call a few functions of the runtime [V` ; �+ exceptions ~u` < �java interpreter loop �` = �etc... \\ B��b  + \ B��l$    R�d�  4   h �\ B���  5  \ B��%  ��   ` � � Porting JDK D` �  �c` ! �% �Java Development Kit description d�`  � �` " �Porting phases dif�`  �te e�` # �JDK implementation choices � +�`  �ib i`  � fPorting problems \ B���  + eit\ B��l$   Ud�  4uti i \ B���  5  w \ B���me  except   ` ( �etJava Development Kit =D` ) �  c` $ � +Java virtual machine �` 2 � �` % �$Native code support �` + � 4javah �` ' � �` & � �Java packages ` , �classes <` - �native libraries [` 4 � z` * � Java tools ��` . �&javac, javadoc, appletviewer, jdb ... \ B��� + \ B��l$     Ud� 4mem j\ B��� 5 rle\ B��� �it\  M    8 P @ : < > D F N H J L\ B��� + \ B��l$ S�d� 4me   kexpt\ B���  5 tJa\ B���    v  `  �Java virtual machine D` / �od uc`  ��java� binary �` � �Byte code loader &�` 0 �s (Byte code interpreter (with exceptions) �`  �ibNative code interface �` 1 �Thread support ols�` 3 � ."Memory management (GC, finalizer) ` 5 �Basic java native methods <`  �/java.lang, java.io, java.util, sun.tools.debug [` Q � �z` � �mJava basic classes \ B���  + \ B��l$   UitdN  4N J   l�\ B��O  5  \ B���$d  `  � Thread support ptD` � �Thread creation c` ? �%fixed stack size, checked at runtime �` @ � v �` A � Thread scheduling �` D �110 user priorities but  without any guarantee �` E �Bysuspend / resume / exit �` B �e  e` C �+ Monitors <` F �Na)Each java object has an implicit monitor h[` I �5A monitor is both a lock and a synchronization point z` G �Balock : enter, exit ds � H �9synchronization : [timed] wait, notify and notifyAll, al�@ H �)lowed  only when � holding the lock \ B��Q  +  \ B��l$     RdS  4J   m� \ B��T  5  \ B��  d   ` > �ThMemory management D` K �Th dc` P �"Java objects are stored in a heap �` L � � M �8Objects no longer referenced are subject to garbage col10�@ M �ut0lection (native methods are taken into account) su�` N �xi � O �e 6The �finalize� method of garbage collected objects is @ O � h called before their destruction \ B��V  + nro\ B��l$     R�dX  4 it   n\ B��Y  5  oin\ B��D     ` J �Java packages D`  � c` R �*java classes present in all distributions �` S � T�` T � +corresponding native libraries if required �` U � �` � �graphism (libawt, jpeg ...) t �` � �Th#network (socket, http , html ... ) s a` � �p audio <` � �... \ B��[  + sje\ B��l$     RhoddS�B;�&  5  �NxidS�B;�&&e nale�` � green threads � B;�&  5   �ide� B;�&& V +`  ronative threads dS�h;�  5  7 �dS�h;� 4   `  portability d]  4oin   p \ B��^  5  \ B���Ja  `  �   `  �se Java tools triD` Z � Sc` V �javac : class compiler ati�` \ �qu d�` Y � Ujavap : bytecode disassembler �` W �eg .�` ] � �javadoc : document generator t�` X � ` ^ �appletviewer : �mini browser� <` [ � + [` _ � jdb : java debugger z` � �$ �` � �5javap is the only one that is not a java application \ B��`  + gr\ B��l$  !   R� d�  4 ! ! qS�\ B��� 5  S�\ B���`  ! `  � 4Porting phases inD` k �#-1- native methods support (javah)  5c` g �  �` a �Ja&-2- (simplified) java virtual machine �` b �2read and execute simple monothreaded applications �` h � V �` l �mp-3- �independent� phases u�` c � Y.garbage collector (required for the compiler) ` d �dynamic linking do<` e �at9native libraries (java internals + awt, net, mmedia ...) w[` f �� C tools (javap) +z` i � _jdb jd�`  �2fixing/improving JavaSoft C code and java classes �` j �at5debugging (local examples, test suites, web applets) +\ B��� ! + \ B��l$  $ R 4d� " 4 $ $ r� 5\ B��� # 5 " \ B���    $ 4  ` �JDK implementation choices odsD` w � 5 c` p � Memory management �` q � j �` r � Exceptions ��` s � s l�` t �liObject monitors �` v � ` u �epNative methods �<` y �ga g[` z �reThreads coz` n � d�` o �inAWT \ B��� $ + "tna\ B��l$ ! ' # # Rvapd� % 4  ' ' saSt \ B��� & 5 % tde\ B���s,  + 'J ` { �Memory management D` m � c | � 4>Objects are  referenced through handles � which contains }@ | � 2the method table and a pointer to the object data �` ~ �  �` � �3Handles are in a  contiguous � reserved space im�` � �es s�` � � 5 �t d� �;� � ` � blocking calls allowed dS�;�% > 5 = ? � dS�;� 8 � ` � faster commutation ? � ;�' ? 5 > D ��� ;� S� ` � slower commutation? dS��;�� @ 5 Q A � dS��;� P �Pl ` � simple FIFO policy � �;�� A 5 @ : �son� �;�  ` � �isystem dependent policies dS�,;�1 D 5 ? E �C odS�,;� f  X   ` � libraries are not thread safe � ,;�3 E 5 D F � `� ,;� ;� ` � libraries should be thread safe adS�H;�25 F 5 E G �enodS�H;�22 � ;� ` � "incompatible with some libraries ( ` � (HP audio library) cki� H;�28 G 5 F N �% 5� H;�2S�  ` �  dS��;�: H 5 O I � dS��;� D �� ` � easier to trace S�� �;�< I 5 H J �S�� �;� 5 �  ` � thread aware debuggers dS��;�> J 5 I K � dS��;� : �son ` � mostly user code � �;�@ K 5 J L �cs � �;�1   ` � �system hidden bugs X dS��;�B L 5 K M � redS��;� E 5 F ` � already implemented and tested � �;�D M 5 L �had� �;� F 5 G ` � S�new development �dS�z;�J N 5 G O �pibdS�z;�  � ` � brscheduler awareness � z;�L O 5 N H �� z;�  � ` � �no scheduler control dS��;�� P 5 9 Q ��dS��;� to ac ` � monoprocessor � �;�� Q 5 P @ �� �;� � eadwa `  S�)may be multiprocessor (system dependent) \ B�� S 5 T \ B��-se@ ` e � � 1d� T )mid U ` yF��/���� U , W TF��/���l$ V V V anF��/���� V , T F��/������ G US�UTUT��` �  E��(�� W - U X T�E��(�E��(���(D.~� X . W Z TD.~l$ Y Y WD.~ Y . T ctrD.~ ���dS� X����UUh � Page 18 pr���->v���6 Z / X [ T [ ]���->v���6;����->v���6 [ / Z \ T Z \ ]S����->v���6ces� �->v��6 \ / [ ] T [ ] � �->v��6 ���->vG�i�6 ] / \ ^ T ^ _���->vG�i�6 Z \���.��C���l ^ 0 ] _ T ] _ ���.��C���l���A�l���A�l O S F���->vI�_� _ 0 ^ ` T���->vI�_� ] ^\ B�� ` + _ T\ B��l$ S S X a � od a �Leftd b c �Rightd c b y ��� Master.2col�d d e ��� Referenced e d �TOCd f x j �d g k l d h i d i h k  cd j f testd k i g d l g m  d m l n  [d n m p ���d p n q  / Zd q p r �6 �d r q s " ] ]d s r t % >vd t s u (d u t v +����d v u w . _d w v x 1��d x w f 4 0d y c T>vtest � � �"#�@ � a Cover Author. �@ �$ a  Cover Title. 2ff$�@ �@ a End of PagefTitlet. 2ff$�@ � aLevel1< >n. /HH�@ �  aLevel2. HH�@ �  a Level2 minor. ll�@ �  aLevel3 . ll�@ �  a Level3 minor. �f� � �T a  TableTitleT:Table : . �f� � � a CellHeading. �f� � � aCellBody. �@ �D a Step0Level1.   �A a Step1.\tStep.   � aor StepN.\t. �@ �@ a SubTitleLevel1. �@ �@$ a Title Title RuleSubTitle. �@ �@ a  Title Medium Title RuleSubTitle. $�@ � a TitlepageBig. $�@ � aTitlepageSmall. �@ �  a� � Header. �@ �  a� � Footer.  �  aBody. �@ � �@$ a Title Title RuleSubTitle. �@ � L� a. � footer. �@ �  aBody. �@ � �@ a SubTitleLevel1. 2ff$�@ � � aLevel1� . HH�@ � � aLevel2. �@ �  a HeadingTOC. bT�@ �  a Paragraph.. �@ � �D a Step0aLevel1. �f� �  aCellBody. 2ff$�@ � � aLevel1< >. �f� �  a  CellHeading. � ! � �ڝ� � a� �EquationVariables )�� � a �3��[ � a  Bullet Symbol�3��[ � a Emphasis�3��[ � a Level3�[ � a Emphasis$�[ � a �[ � a Emphasisyc�> � a�[ � a �ڝ� a�[  a �3��[  a levelA ��3��[  a matrix�3��[  a Page #�3��[  a Step0� �3��[  a  Subscript �3��[  a  Superscript�3��[  a Title� �ڝ� a�[ b )�� a  �[ a  �ڝ� a yc�>  aL��ڝ�  a)��  a �[  a  ) Y 6  ) a * a[ + a@ , a - a[� . a� / a� 0 b@ 1 a@ 2 a[ 3 a 4 5 � � �� � aThin � aMedium� � aDouble  � aThick�@ � a  Very Thinl�� � atestu�uvw �x �@  -    � � � � � � � � � � � a a a H � � �H � � �H � � �H � � �H � � �Format A   � � � � � � � � � a a aH � � �H � � �H � � �H � � �aH � � �Format B   � � � � � � � � � � � a a aH � � �H � � �H � � �H � � �H � � �Format B � � �wX,&� � ;�;�[1dS�BwX,&� � v v dS�hwX,� � v iumv 7�dS��wX,� � �v 8 av 9inldS��wX,� � v :wv ;dS��wX,� � v <v =dS�wX,� � v >v ?dS��wX,� � oatv @v AdS�,wX,� � av Dv E�dS�HwX,2� � aw FFow G dS��wX,� � � �v Ha av IdS��wX,� � �v J�v K�dS��wX,� � v Lv M;�dS�zwX,� � x Nx OdS��wX,� � v Pv Qium � � � � c�Comment � � � � � 9� � �X, � � a q id  aBlack;T! bWhiteddA cReddd� dS�Green,dd  eBlued fCyanS�d gMagenta d hYellowHelvetica-Oblique�Helvetica-Bold Helvetica Times-Bold Times-RomanHelvetica-BoldOblique�Times Helveticav RegularvRegulard BoldRegularOblique Italic$R�!��{Ţ�'�G������t���اr`� ,N�U���nH)��#�fG�����'����C�΋�����&�^bj�'\�) ���O(QDȢ��Q�_@��c �z�Gv�˽��&�o�01�Q�qQ_ۀ��P�v�����խ|K]��c -��H)�P 7$��F