5373 Commits

Author SHA1 Message Date
igor%mir2.org
5523fffb09 Pass Decompiler object as an argument for Parser.parse instead of creating an instance there for better flexibility. 2003-08-08 15:42:19 +00:00
igor%mir2.org
6d6c104572 Calling Decompiler.decompile directly instead of calling Parser.decompile 2003-08-08 15:36:48 +00:00
igor%mir2.org
dda5331153 Decompiler class is moved to a separated file 2003-08-08 10:35:57 +00:00
igor%mir2.org
1c08dda3b8 1. Fixing Decompler.decopile for a function body when justBody is true Token.LC is added to the list of tokens to skip in function header.
2. Various cleanups in Decompiler to finalize Parser/Decompler split.
2003-08-08 09:35:36 +00:00
igor%mir2.org
0148813038 push(int/double) simply calls now ClassFileWriter.addPush() 2003-08-08 09:32:40 +00:00
igor%mir2.org
9ad008dd30 Added addPush(String) to generate code to push the given String into stack even if String does not fit the class file format restriction that JVM utf-8 encoding of strings in constant pool can not exceed 64K - 1.
Also added addPush(int/double) for symmetry, they are copied here from omj/optimizer/Codegen.java.
2003-08-08 09:30:57 +00:00
igor%mir2.org
99e484ca5b Restoring from bad commit of development uncompilable code 2003-08-07 15:10:10 +00:00
igor%mir2.org
666483b96d Notification of debugger about finished compilation of script/top-level-function is moved to a separated function. In this way Interpreter and ScriptOrFnNode does not need to pass original source around just to throw it away if debugger is not present. 2003-08-07 15:08:00 +00:00
igor%mir2.org
74d4f30e0e Replace anonymous/empty name play for functions constructed through Function in NativeFunction/Parser by using anonymous when necessary when assembling function source from Function arguments. 2003-08-07 10:46:41 +00:00
igor%mir2.org
954158fd2c Less generic code for interactioon between Parser and Decompiler 2003-08-07 07:19:16 +00:00
igor%mir2.org
db59f1d230 Code to generate/decode encoded source presentation is factored to a separated class Decompiler. 2003-08-06 16:18:28 +00:00
igor%mir2.org
2b68f1745e 1. Add Token.NOT as a byte code instead of generating if code to push false/true as "!" is frequent enough and interpreter does not have optimized mode to remove most of its usage in logical context.
2. When dumping icode, print it to System.out instead of icode.txt file for more convenient development.
2003-08-06 11:37:14 +00:00
igor%mir2.org
d153c65a1b build.xml reorganization to add deepclean, clean and help targets and making help a default target, see for details http://bugzilla.mozilla.org/show_bug.cgi?id=214997 2003-08-06 07:47:58 +00:00
igor%mir2.org
faf2a30c39 More tokens used only in Interpreter are moved from Token to Interpreter. I also added addToken/addIcode to be used instead of simple addByte to catch bugs about wrong byte code as soon as possible. 2003-08-06 07:39:37 +00:00
igor%mir2.org
f95ae1ab5b I changed Context.codeBug to return RuntimeException instead of void to be able to wright "throw Context.codeBug()" when simple "Context.codeBug()" leads to a compile error about unreachable code or missed return. 2003-08-06 07:37:27 +00:00
brendan%mozilla.org
33b1784614 I can't believe that after all the work for bug 208030, I forgot to re-base js_GetSrcNote's notion of note origin to the script's prolog, from its main entry point (214761). 2003-08-06 06:56:01 +00:00
brendan%mozilla.org
b7cdb7debb Add shared DHashTableOps for [const] char *key use-cases, clean up dhash API abusages (214839, r=dougt, sr=dbaron). 2003-08-05 20:09:21 +00:00
igor%mir2.org
87aeaade82 1. Constants in Token that are used only as Interpreter bytecode are moved to Interpreter.
2. LAST_BYTECODE_TOKEN is added to Token to server as a base for internal Interpreter bytecodes instead of Token.LAST_TOKEN. In this way compiler can generate more denser code for switches over interpreter bytecode.
2003-08-05 15:58:39 +00:00
igor%mir2.org
fa6d86fba0 SOURCEFILE bytecode used to restore interpreter source information is replaced by setting cx.interpreterSourceFile at the beginning of Interpreter.interpreter and restoring the old value at the end. 2003-08-05 11:16:14 +00:00
igor%mir2.org
61cd64260c I moved definitions of tokens in Tokenstream to separated class Token. In this way minimal Rhino distribution way remove Token class since it only necessary during compilation and strings with constant names would not be loaded into JVM. 2003-08-04 15:00:06 +00:00
igor%mir2.org
fb9ac64c2e Initialize cx.interpreterSourceFile with script o r function source name before starting bytecode execution so this information for the first script throw/runtime exception 2003-08-04 13:01:06 +00:00
igor%mir2.org
040a93626e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214945 :
Optimize away empty try block only if finally is empty as well.
2003-08-04 12:57:15 +00:00
igor%mir2.org
30718f5ece <center><h1>... is replaced by <h1 align=center> to avoid warning from javadoc 2003-08-04 07:51:19 +00:00
brendan%mozilla.org
9d6835e2ba Prevent recursive divergence via watchpoint handlers (213482, r=scole). 2003-08-03 21:59:50 +00:00
igor%mir2.org
86bdaa37fc Fixing /** coments to remove JavaDoc errors/warnings 2003-08-03 21:40:22 +00:00
pschwartau%netscape.com
c0ed4e801d Rhino shell has been updated to exit with code 3, not 1 on OutOfMemory/StackOverflow exceptions. 2003-08-03 18:20:24 +00:00
cls%seawood.org
09671327f5 Remove unused references to xpcom_obsolete
Bug #38122 r=dougt sr=bryner
2003-08-02 20:17:28 +00:00
cls%seawood.org
b05376f6a4 Fixing XPCONNECT_STANDALONE bustage 2003-08-02 19:33:52 +00:00
brendan%mozilla.org
1befd85eee Fix JS_SetTrap to cope with existing trap at same PC, overwriting its handler and closure (213841, r=self). 2003-08-01 23:16:04 +00:00
igor%mir2.org
9d44b5410e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214608 :
The reason for the regression is that now JavaMembers.lookupClass never
attempts to reflect package-private classes. But this is wrong since even with
SecirutyManager installed JVM allows to call Class.getMethos()( and returns
list of all public methods in the class and its super classes.

The patch removes the restrictions while making JavaMembers.lookupClass much
simpler.
2003-07-31 17:08:58 +00:00
brendan%mozilla.org
ccebdd1892 Fix off-by-N in CG_COUNT_FINAL_SRCNOTES (214210). 2003-07-29 09:11:04 +00:00
brendan%mozilla.org
8b14ddcf8f Fix 7x bloat bug due to off-by-1-level-of-indirection in sizeof type param typo (214176, r=Mitch@0Bits.COM). 2003-07-28 20:58:52 +00:00
brendan%mozilla.org
ab61333253 Undo critical part of last change to try to fix crashing testerboxes. 2003-07-28 18:30:12 +00:00
brendan%mozilla.org
d099ebd936 Minor cleanups to last checkin. 2003-07-28 05:46:18 +00:00
brendan%mozilla.org
4fa5213a91 Big dynamic footprint win via script filename caching, plus line number fix for strict/const diags (see http://bugzilla.mozilla.org/attachment.cgi?id=127130&action=view for detailed checkin comments; 208030, r/rs=shaver, r=rginda on the jsd change, r=jst on the dom change). 2003-07-26 22:37:11 +00:00
igor%mir2.org
3bad6fe1f8 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
All information about exception handlers are stored in exception table eliminating the need to have TRY bytecode.
2003-07-24 10:50:29 +00:00
igor%mir2.org
6a3aad3989 Work in progress on http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
Replacing try stack by static table of exception handlers
2003-07-24 10:46:46 +00:00
igor%mir2.org
7625f8b519 Work in progress on http://bugzilla.mozilla.org/show_bug.cgi?id=213231 :
When handling exceptions, restore proper scope without using try stack
2003-07-24 10:45:30 +00:00
igor%mir2.org
dfd7e9d362 Restoring NativeJavaMethod(Method, String) for backward compatibility. 2003-07-24 09:06:44 +00:00
caillon%returnzero.com
91b7c60bee Bug 83536.
Merge script principal implementations into one class.
Should reduce footprint, speed up calls to caps a little bit, and fixes several memory leaks.
Also fixes bugs 211174 and 211263
r=jst@netscape.com
sr=bzbarsky@mit.edu
moa=mstoltz@netscape.com (he looked at an earlier patch and said it looked fine, and will do a retroactive review when he returns from vacation as well)
2003-07-24 05:15:20 +00:00
mkaply%us.ibm.com
0ebbd8021a rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 21:08:40 +00:00
mkaply%us.ibm.com
672b9405e9 rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 20:29:43 +00:00
mkaply%us.ibm.com
1a38ab2d00 rs=leaf
Remove XP_OS2_VACPP from the tree
2003-07-22 18:38:01 +00:00
igor%mir2.org
e0de8aab17 Move code to adjust stack depth for finally handler from TARGET case of the main switch in generateICode to TRY switch generating all the code for try. It allows to remove special marking of JSR targets with FINALLY_PROP and make stack handling for catch and finally block uniform. 2003-07-22 13:41:35 +00:00
igor%mir2.org
687dff0fe1 Removal of JTHROW byte code: instead of generation byte code pair [GOSUB exception handler], JTHROW, RETSUB from finally now supports re-throwing of exception object directly when called from exception handler.
Now the exception handler invokes finally code with the exception object on the stack top, not PC to return which allows RETSUB to distinguish between this and GOSUB invocation.
2003-07-22 13:04:07 +00:00
igor%mir2.org
ebe60fb675 Move ENDTRY, JTHROW, GOSUB and RETSUB from TokenStream to Interpreter as they specific only to Interpreter implementation. 2003-07-22 11:16:54 +00:00
igor%mir2.org
cef7d514f9 Removal of code to handle stack chages when generationg GOSUB to finally code for finally handler: the stack size adjustments is done during FINALLY code generation already. 2003-07-22 08:58:08 +00:00
igor%mir2.org
a6ec3480e3 When generating code to invoke finally block from exception handler, do not store exception object in the local slot but rather leave it on JS stack and update finally block generation to expect potentially 2 objects on stack, not single return pc address. 2003-07-21 16:27:48 +00:00
igor%mir2.org
004397fe5e Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=201893 :
New class MemberBox wraps Method or Constructor instances to cache results of getParameterType() and other information and to to replace Method instance by more accessible one recovery from IllegalAccessException is possible.
2003-07-15 20:47:29 +00:00
igor%mir2.org
697f7be97f Cosmetics: layot fixes 2003-07-15 20:44:17 +00:00