[发明专利]将异常作为正常控制流进行处理的方法和装置有效
申请号: | 00107020.7 | 申请日: | 2000-04-24 |
公开(公告)号: | CN1271890A | 公开(公告)日: | 2000-11-01 |
发明(设计)人: | 小C·N·克利克;C·A·维克;M·H·帕莱茨尼 | 申请(专利权)人: | 太阳微系统有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 中国专利代理(香港)有限公司 | 代理人: | 王勇,王忠忠 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异常 作为 正常 控制 流进 处理 方法 装置 | ||
1.一种计算机实施的用于处理基于对象的系统中的异常的方法,所述计算机实施的方法包括:
获得源代码,源代码包括用于明确地指定关于异常检查的指令的代码段;
生成源代码的最终内部表示,其中,生成最终内部表示包括去除与异常检查相联系的调用;以及
产生机器代码,其中,机器代码采用最终内部表示来产生。
2.如权利要求1所述的计算机实施的方法,还包括执行机器代码。
3.如权利要求1和2中的一个所述的计算机实施的方法,其中,生成源代码的最终内部表示包括处理作为控制流的一部分的异常检查,所述控制流与源代码相联系。
4.如权利要求3所述的计算机实施的方法,其中,生成源代码的最终内部表示还包括优化异常检查的处理。
5.如前面任何一个权利要求所述的计算机实施的方法,还包括写源代码,其中,写源代码包括写用于明确地指定关于异常检查的指令的代码段。
6.如前面任何一个权利要求所述的计算机实施的方法,其中,生成最终内部表示包括:
调用与异常检查相联系的函数;以及
响应于对与异常相联系的函数的调用,生成一个与异常检查相联系的对象。
7.如权利要求6所述的计算机实施的方法,其中,生成最终内部表示还包括破坏与异常检查相联系的对象。
8.如前面任何一个权利要求所述的计算机实施的方法,其中,异常检查是空指针检查和范围检查中的一个。
9.一种用于处理异常的计算机系统,所述计算机系统包括:
处理器;
源代码发生器,源代码发生器用于产生用于明确地指定关于异常检查的指令的代码段;
优化器,优化器用于通过去除与异常检查相联系的调用来至少部分地生成源代码的一个最终内部表示;以及
机器代码发生器,机器代码发生器用于采用最终内部表示来产生机器代码。
10.如权利要求9所述的计算机系统,其中,优化器还用于处理作为控制流的一部分的异常检查,其中所述控制流与源代码相联系。
11.如权利要求9和10中的一个所述的计算机系统,其中,优化器还用于调用与异常检查相联系的函数,并使得响应于对与异常检查相联系的函数的调用而生成一个与异常检查相联系的对象。
12.如权利要求9-11中的任一个所述的计算机系统,其中,优化器还用于破坏与异常检查相联系的对象。
13.一种用于处理基于对象的系统中的异常的计算机程序产品,所述计算机程序产品包括:
用于获得源代码的计算机代码,源代码包括用于明确地指定关于异常检查的指令的代码段;
用于生成源代码的最终内部表示的计算机代码,其中,用于生成最终内部表示的计算机代码包括用于去除与异常检查相联系的调用的计算机代码;
用于采用最终内部表示来产生机器代码的计算机代码;以及
存储计算机代码的计算机可读介质。
14.如权利要求13所述的计算机程序产品,其中,计算机可读介质是从包含在载波、CD-ROM、硬盘、软盘、磁带驱动器和闪速存储器中实现的数据信号的组中选择出的一个。
15.一种计算机实施的用于生成源代码的表示的方法,所述源代码包括与异常相联系的多个代码部分,所述计算机实施的方法包括:
获得包括与异常相联系的多个代码部分的源代码,其中,将从多个代码部分选择出的第一代码部分嵌在从多个代码部分选择出的第二代码部分内;
确定第一代码部分相对于第二代码部分是否是冗余的;以及
将源代码变换成内部表示,其中,将源代码变换成内部表示包括在确定出第一代码部分相对于第二代码部分是冗余的时从源代码中去除第一代码部分。
16.如权利要求15所述的计算机实施的方法,还包括将内部表示变换成机器代码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于太阳微系统有限公司,未经太阳微系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/00107020.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:用于接收广播信号的接收机
- 下一篇:具有排液特性的损坏指示盖