igor%mir2.org
f28c2bb83d
Updated to remove NotAFunction exception handler which is not generated any more and was deprecated.
2003-10-23 21:48:45 +00:00
pschwartau%netscape.com
8c55a03216
Whitespace fix.
2003-10-23 21:15:06 +00:00
pschwartau%netscape.com
53519242cd
Fixing a comment.
2003-10-23 21:13:34 +00:00
pschwartau%netscape.com
aa3708c9cc
Added cases covering unbalanced brackets and braces.
2003-10-23 20:48:43 +00:00
pschwartau%netscape.com
74211d2bde
Initial add. Regression test for bug 223273.
2003-10-23 20:27:32 +00:00
igor%mir2.org
b0cc0c620a
The class is no longer used.
2003-10-22 08:02:37 +00:00
igor%mir2.org
f828aace6b
1. Added Context.hideFromContextListeners() which makes invisible for listeners.
...
2. Made sure that ContextListener.contextCreated is called only once. After a resent change to call the method from Context.enter, not from Context constructor the method would be called each time on first enter which broke the debugger.
3. Using new listener utilities from Kit instead of ListenerArray methods that would create a special storage object only if there is more then one listener.
2003-10-22 08:01:46 +00:00
igor%mir2.org
dd0cf32131
Added JavaDoc for listener utilities
2003-10-22 07:57:49 +00:00
dbaron%dbaron.org
ac89bf7304
Convert CR-LF line endings to LF.
2003-10-22 07:30:52 +00:00
brendan%mozilla.org
9410aed3d1
Check in rogerl's big perf patch (85721).
2003-10-22 07:01:50 +00:00
brendan%mozilla.org
795b642e96
Add __noSuchMethod__ handler support, and clean up js_ValueToFunction/js_ReportIsNotDefined error diagnosis hard cases (196097, r=sparky).
2003-10-22 06:26:03 +00:00
caillon%returnzero.com
de3d3fbf61
Re-land patch for bug 83536, merging principal objects.
...
Also includes fixes from bug 216041.
r=bzbarsky
sr=jst
2003-10-21 22:11:49 +00:00
tor%cs.brown.edu
deda694a3a
Bug 153586 - add js callback to convert native string to unicode, use
...
for date.toLocale*String. r=jst, sr=brendan
2003-10-21 18:03:04 +00:00
igor%mir2.org
7ca1f5cb7d
Introduction of org.mozilla.javascript.Kit to contain generic support utilities.
2003-10-21 13:43:22 +00:00
igor%mir2.org
6aac95c7d1
Use getPrototype instead of explicit reference to this.prototype
2003-10-21 13:43:21 +00:00
igor%mir2.org
6c99cceb21
Added readUrl method to shell
2003-10-21 09:13:59 +00:00
igor%mir2.org
0e344eacac
Reuse results of method.getParameterTypes() and better hash code for javaAdapterSignature.
2003-10-20 14:11:08 +00:00
igor%mir2.org
1ff42561c8
Count syntax error in TokenStream directly instead of going through Context object so it would be possible to use TokenStream without instantiating Context.
2003-10-20 14:06:12 +00:00
igor%mir2.org
d77c60cb02
Cosmetics: indentation fixes
2003-10-20 14:02:53 +00:00
igor%mir2.org
91d08bfaf5
1. Static hash table in JavaAdapter is replaced by a non-static fields in GlobalScope.
...
2. NativeObject implements just Serializable, not Externalizable interface to simplify serialization.
2003-10-19 09:59:52 +00:00
igor%mir2.org
8d96213e1b
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=222635 :
...
Now activation is always properly removed under the debugger.
2003-10-17 18:24:29 +00:00
igor%mir2.org
cb7cd3ec6f
I changed FunctionObject and ScriptableObject to use MemberBox wrapper for native methods, getters and setters that allowed to get following:
...
1. Method serialization code in MemberBox takes care of all serialization so ScriptableObject and FunctionObject does not need anything on its own.
2. Invoker optimization is extended to getters and setters in ScriptableObject.
3. Recovery from IllegalAccessException is extended to all cases of method invocation via reflection.
4. All error wrapping happens in a single class so FunctionObject and ScriptableObject does not need to wary about it.
2003-10-16 14:27:53 +00:00
pschwartau%netscape.com
9ae2c06c8d
Skip new tests that use SpiderMonkey's f.caller property (non-ECMA).
2003-10-16 04:08:38 +00:00
brendan%mozilla.org
a1cd41a8ea
Fix f.call and f.apply so f.caller skips those natives, to match IE (222029, r=shaver).
2003-10-16 03:30:18 +00:00
igor%mir2.org
84f91c674b
Updated ftp links to the download files due ftp server reorganization
2003-10-15 18:13:33 +00:00
brendan%mozilla.org
bf84cc3273
Fix comment bug reported by timeless (222055).
2003-10-13 23:25:48 +00:00
pschwartau%netscape.com
6b038f578b
Initial add. Regression test for bug 222029.
2003-10-13 22:23:17 +00:00
pschwartau%netscape.com
6de1779a96
Whitespace fix.
2003-10-13 20:56:55 +00:00
pschwartau%netscape.com
8ece50899f
Initial add. Regression test for bug 222029.
2003-10-13 20:18:46 +00:00
brendan%mozilla.org
0d2b22b67b
Expand tabs, add assertion.
2003-10-13 18:38:50 +00:00
igor%mir2.org
fc7c0bf413
Code to create invoker master instance is placed into Invoker itself since FunctionObject does not need to know which classes stays behind the implementation.
2003-10-13 16:04:20 +00:00
igor%mir2.org
93a6e530db
FunctionObject.convertArg is split into FunctionObject.getTypeTag() and FunctionObject.convertArg version taking that tag for better error reporting and performance since the tag can be cached and an expensive sequence of if and instanceof to check for the type would be replaced by a simple switch.
2003-10-13 16:02:35 +00:00
igor%mir2.org
4e0f4b2130
Run ContextListener.contextCreated from Context.enter(), not Context constructor. In this way listeners will not be invoked for Context that are never associated with a thread and contextCreated will be more symmetric with Context.contextReleased.
2003-10-13 15:57:18 +00:00
igor%mir2.org
e18f8b655f
Inlining code into exceMethod to shrink code size.
2003-10-13 07:30:33 +00:00
igor%mir2.org
1903241b26
In getLength check for version of compiled function, not version from the current context for consistency.
2003-10-13 07:29:43 +00:00
igor%mir2.org
921de84285
In classOrNull and newInstanceOrNull catch and ignore LinkageError since it can be thrown if class links to unknown class.
2003-10-13 07:28:37 +00:00
igor%mir2.org
d14b894ae8
Added to build.xml the smalljar target to generate smalljs.jar. Its usage is documented in doc/footprint.html.
2003-10-12 13:45:41 +00:00
igor%mir2.org
e59ea85bdc
More optimizations to shrink code size.
2003-10-12 08:52:24 +00:00
igor%mir2.org
7dcd39d424
Inlining of private functions and reorganization to shrink code size to offset resent Rhino size growth
2003-10-11 20:29:32 +00:00
igor%mir2.org
85487e456b
Using ScriptRuntime.splitSC to extract packages from semicolon-separated string instead of explicit code.
2003-10-11 20:27:08 +00:00
igor%mir2.org
16966afd81
Added ScriptRuntime.splitSC
2003-10-11 20:24:27 +00:00
igor%mir2.org
0f0bba3319
Change JavaScriptException to include source and line information in Throwable.getMessage()
2003-10-11 19:36:25 +00:00
igor%mir2.org
5791085f43
Optimization: for line counting use offset of line icode of interpreter instead of the line itself. In this way interpreter does not need to read encoded line data on each line marker which can occur quite frequently.
2003-10-11 19:34:29 +00:00
dbaron%dbaron.org
ac7430c22e
I am not sure what brendan meant to do, but making JS_HAS_XDR always be the same as it was before the previous checkin should get the Mozilla client working again.
2003-10-11 19:01:43 +00:00
brendan%mozilla.org
dec5855fd7
Split jsconfig.h JS_HAS_XDR macro for better code factoring.
2003-10-11 18:17:53 +00:00
dwitte%stanford.edu
53e3afed0c
spelling fixes... s/debuging/debugging/. thanks to WeirdAl for the patch.
...
b=106386, p=ajvincent@juno.com , r=timeless, sr=bz.
2003-10-10 04:31:15 +00:00
brendan%mozilla.org
c3ab352130
Remove false comment (whew).
2003-10-10 01:46:55 +00:00
igor%mir2.org
b51c421805
BinaryDigitReader logic is inlined in ScriptRuntime.stringToNumber removing the need in the class.
2003-10-09 17:38:34 +00:00
peter%propagandism.org
884ae755ae
Move voidable string into xpcom. Part of fix for bug 221387 (XPathExpression.createExpression doesn't throw NAMESPACE_ERR). r=bz, sr=dbaron.
2003-10-09 16:15:29 +00:00
igor%mir2.org
1300a83780
Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the examples
2003-10-09 07:00:40 +00:00
igor%mir2.org
0b8d376817
Use non-static functions in Shell
2003-10-09 07:00:01 +00:00
igor%mir2.org
1532e6ac8b
Cosmetics: removal of end-of-line junk space
2003-10-09 06:57:12 +00:00
igor%mir2.org
946702bcf1
Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the documentation
2003-10-09 06:55:49 +00:00
igor%mir2.org
841c039322
dist depends on deepclean to prevent erroneous distribution builds when ant fails to detect source code dependencies and misses recompilation.
2003-10-09 06:44:38 +00:00
igor%mir2.org
ba83445719
GlobalScope is a part of API now.
2003-10-09 06:42:30 +00:00
igor%mir2.org
ac55982694
Cosmetics: change argument order for package-private EcmaError constructor to it matchers other cases when a method takes line and column number.
2003-10-09 06:41:28 +00:00
igor%mir2.org
4431450289
Added version of Context.initStandardObjects that does not take scope as its argument.
2003-10-09 06:37:25 +00:00
brendan%mozilla.org
8786153bd1
Late-breaking security fix (221526, r=shaver).
2003-10-07 23:02:29 +00:00
cls%seawood.org
540088e8fa
What bryner said
2003-10-07 22:07:14 +00:00
bryner%brianryner.com
7dd357208e
attempting to fix windows bustage
2003-10-07 21:18:57 +00:00
cls%seawood.org
378b851b12
Case matters.
...
Fixing mingw cross-compiling bustage.
2003-10-07 20:39:25 +00:00
igor%mir2.org
1f791c9fda
Adding getParent() to omg.debug.DebuggableScript to allow to browse whole script function tree from any function.
2003-10-01 15:03:06 +00:00
igor%mir2.org
5fa056c85d
Cosmetics: expanding tabs
2003-10-01 15:02:09 +00:00
igor%mir2.org
7a6878c0e9
Changing ScriptRuntime.initScript to return vois since it does not and should not change scope
2003-10-01 11:55:56 +00:00
igor%mir2.org
03ac8566e9
Extending omj.debug.DebuggableScript interface with functions to access nested functions and check if it is top-level script.
2003-10-01 11:55:55 +00:00
BradleyJunk%cinci.rr.com
a8abe61adf
Bug 220692 - Syntax error in /js/src/xpconnect/xpcmodule.cpp if MOZ_JSLOADER not defined. r=timeless, sr=brendan
2003-10-01 00:11:17 +00:00
pschwartau%netscape.com
6a080c99b8
Initial add. Regression test for bug 39309.
2003-10-01 00:03:32 +00:00
pschwartau%netscape.com
3f2915e0d1
Initial add. Regression test for bug 220584.
2003-09-29 17:45:15 +00:00
igor%mir2.org
7e809e3208
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220584 :
...
Script() result has no prototype and scope chains
Fix: initialize scope and prototype for Script instances in
NativeScript.jsConstructor
If Script is called as a constructor, it will get the proper parent and
prototype from the generic code to initialize newly constructed objects but if
it is called as a function, then it is the responsibility of the call
implementation to do the job.
2003-09-28 22:52:57 +00:00
igor%mir2.org
ce1bfbad95
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220362 :
...
Local functions lose scope when called from outside (compiled with dynamic scopes, optlevel >= 0)
Fix: ignore dynamic scope for nested functions and functions declared within
the with statement.
The patch makes optimizer to behave in the same way as the interpreter does
with regard to dynamic scope: it ignores it for nested functions and functions
declared under with statements. Now parser checks for such functions and set
new flag itsIgnoreDynamicScope in FunctionNode. The flag then checked both by
interpreter and optimizer during byte code generation.
The patch also changes slightly interaction between changing dynamic scope flag
and interpreted Script instances. Currently the dynamic flag is read during
script execution but patch changes interpreter to behave exactly as the
optimizer does: the dynamic flag only affect script compilation, changes in its
value does not affect already compiled scripts.
2003-09-28 20:01:27 +00:00
igor%mir2.org
64ee78aaec
Self-documenting example
2003-09-28 19:49:07 +00:00
igor%mir2.org
026f5acdd0
Added msg.adapter.zero.args
2003-09-28 18:14:16 +00:00
igor%mir2.org
4a3446307d
JavaAdapter.createAdapterCode now takes the function name to function arity instead of Scriptable object. It allows to remove a hack from optimizer/Codegen where it created a temporary Scriptable just to populate it with FunctionNode as a source of arity values thus violating requirement on types of JS values.
...
The rest of JavaAdapter code is updated to use the ned form of the method as well.
2003-09-28 18:13:51 +00:00
igor%mir2.org
b38d3d8ef9
In ScriptRuntime.toInt32 check for Integer, not Byte when doing short-circuit optimization since Integer is always used to wrap int values.
2003-09-28 16:03:10 +00:00
brendan%mozilla.org
c9ea43af63
Redo thread/process stack size checking and API to avoid having to guess/fudge; instead, require embedders to advise explicitly, for fudge-free limits and backward API compatibility (192414, r=shaver).
2003-09-26 22:47:01 +00:00
pschwartau%netscape.com
996a0fd708
Improving readability.
2003-09-26 19:37:15 +00:00
pschwartau%netscape.com
cd5d6878eb
Initial add. Regression test for bug 220367.
2003-09-26 19:24:58 +00:00
pschwartau%netscape.com
5e0074371b
Initial add. Regression test for bug 220362.
2003-09-26 18:56:23 +00:00
igor%mir2.org
ac0d4eb822
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=220367 :
...
Fix: if in RegExpImpl.getParenSubString parens.get(i) is null, return
emptySubstring
If a branch of | with capturing () does not match , then RegExpImpl.parens will
contain null for corresponding $<group-number> according to code in
NativeRegExp.executeRegExp(). The current code does not check for a possible
null in RegExpImpl.parens when calling toString and the patch fixes that by
making sure that getParenSubString return SubString.emptySubString in such
cases.
2003-09-26 17:25:33 +00:00
brendan%mozilla.org
74e1a4f197
Follow-up fix to clamp cx->stackLimit so it doesn't wrap (192414, r=shaver).
2003-09-26 17:22:14 +00:00
brendan%mozilla.org
4d3ea782f9
Check in my version of a patch to avoid thread or process stack overflow from Igor Bukanov <igor@fastmail.fm> (192414, r=shaver).
2003-09-24 16:49:58 +00:00
igor%mir2.org
913e92ee46
Use ScriptableObject.getPropertyIds(jsObj) to get all object ids instead of explicit working throw prototype chain.
2003-09-24 13:35:52 +00:00
igor%mir2.org
b482ee16b2
Optimization in getPropertyIds: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain.
2003-09-24 13:32:42 +00:00
igor%mir2.org
1642f1695e
Optimization in IdEnumeration: since Scriptable.getIds returns unique ids, check against id duplication only if prototype chain contains more then one object with enumerable ids. It this way there is no need to allocate hash map in the common case of objects without enumerable properties on the prototype chain.
2003-09-24 13:29:17 +00:00
brendan%mozilla.org
997ae59d09
Eliminate unnecessary local variable.
2003-09-23 00:07:24 +00:00
brendan%mozilla.org
1501ed6f52
Don't finish temp and code arena-pools in JS_GC, in case it's nesting in the compiler via the debugger (131712, r=rginda, sr=shaver).
2003-09-19 18:36:50 +00:00
igor%mir2.org
854e18e642
Use special subclasses of Node to represent various jumps and control structures to avoid allocating of property objects for frequently occurring parse tree nodes.
2003-09-18 16:20:32 +00:00
igor%mir2.org
3bfcd0e8e6
Mark parse subtree for finally statement with Token.FINALLY instead of using special property to mark USETEMP node.
2003-09-17 13:43:12 +00:00
igor%mir2.org
10f7bc1e8d
Addressing http://bugzilla.mozilla.org/show_bug.cgi?id=219055 :
...
Delay creation of NativeError wrapper for EcmaError until the exception is caught in the script.
2003-09-16 16:08:55 +00:00
mkaply%us.ibm.com
0e55428e0f
#215581
...
r/sr=brendan
Changes to get GCC 3.2.2 working on OS/2 - this set is OS/2 only changes
2003-09-15 22:10:12 +00:00
rginda%netscape.com
e6e4bee726
bug 217768, interruptHandler isn't properly loaded if trapHandler returns JSTRAP_CONTINUE
...
sr=brendan
2003-09-15 18:50:10 +00:00
dougt%meer.net
03eb836195
Fixing 219094. Simple build bustage fix. r=darin
2003-09-15 04:13:19 +00:00
igor%mir2.org
5abaaa06f2
Changing Main.eval implementation to use compileString/exec instead of evalString to avoid dependancy on NativeGlobal when passing explicit thisObj to Script instances when they implement Function interface which holds currently in Rhino.
2003-09-12 17:12:20 +00:00
igor%mir2.org
93d0318b76
Cosmetics: identation fixes
2003-09-12 15:04:21 +00:00
igor%mir2.org
5aebbbe9d9
Siplified code to extract error message from Throwable to reflect recent changes in exception-related API semantics.
2003-09-11 15:41:06 +00:00
igor%mir2.org
9db4ab159d
Changing Context.newObject to use ScriptRuntime.getExistingCtor to get constructor Function instance. In this way Context.newObject will throw the same set of exceptions that other parts of Rhino will throw on bad access to constructor.
...
With this change NotAFunctionException is no longer used so it is deprecated and changed to extend from Error not Exception for source compatibility: otherwise compiler will complain about unreachable catch handler.
2003-09-10 12:44:23 +00:00
igor%mir2.org
4c14c37359
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=218440 :
...
Making Script implementations by Interpreter and Optimizer scope independent while keeping while still supporting compiling of regexp literals only once per Script instance.
2003-09-10 11:06:25 +00:00
igor%mir2.org
d498e94c0c
Restoring NativeJavaPackage(String) constructor as deprecated for compatibility with Batik.
2003-09-09 13:27:11 +00:00
igor%mir2.org
6b88939df0
ScriptRuntime.getCatchObject is modified to allow to accept instances of EvaluatorException, not only its WrappedException subclass.
2003-09-09 13:25:15 +00:00
igor%mir2.org
f7e67f2455
Restoring JavaScriptException(String) as deprecated constructor for compatibility with BSF.
2003-09-09 13:22:50 +00:00
pschwartau%netscape.com
d6910cdd1e
Initial add. Regresssion test for bug 216320.
2003-09-09 00:37:49 +00:00
bryner%brianryner.com
86ad399c4f
Fix build on gcc 3.4 by removing extra semicolons (bug 218551). r/sr=dbaron, a=brendan.
2003-09-07 22:37:27 +00:00
igor%mir2.org
61a75d60bc
Explicit separation between regexp compilation and execution: all data structures that represent compiled regexp are moved to a separated RECompiled class.
2003-09-06 15:49:05 +00:00
igor%mir2.org
51314a3313
To construct regexp objects the generated code now calls omj.RegExpProxy instead of explicit calls to NativeRegExp constructor. It removes dependence of compiled Script instances on details of RegExp implementation.
2003-09-06 15:44:41 +00:00
igor%mir2.org
5f745d1f6e
Added ScriptRuntime.checkRegExpProxy which is used in Interpreter and NativeString to check for regexp package presence instead of own duplicating code.
...
RegExpProxy.find_split is changed to include Context argument to follow the rest of RegExpProxy functions.
2003-09-06 15:41:03 +00:00
igor%mir2.org
5a252e7afe
I made most internal functions of NativeRegExp static since they do not reference NativeRegExp.
2003-09-06 12:49:07 +00:00
igor%mir2.org
6497b67f9c
ScriptRuntime.main now takes Script as the first argument since it is simpler instantiate Script directly and pass it to ScriptRuntime.main then load Script lass which will be then instantiated in ScriptRuntime.main
2003-09-06 07:51:02 +00:00
igor%mir2.org
4bad77a49f
Replace Context field In REGlobalData by boolean multiline since it is the only information that is needed for matching code from RegExpImpl which was previously accessed through Context.
2003-09-05 21:22:51 +00:00
igor%mir2.org
07c84846bc
Fixing regression caused by optimizer changes to address http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
...
Now Script.exec can be called more then once.
2003-09-05 21:17:58 +00:00
igor%mir2.org
1e3baffb2a
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
...
Replacing static caches by global scope based storage.
2003-09-05 14:35:09 +00:00
igor%mir2.org
195739a349
Patch from Nicolas JOUVE to address http://bugzilla.mozilla.org/show_bug.cgi?id=218163
2003-09-05 09:04:36 +00:00
igor%mir2.org
80cab2fc94
Cosmetics: removal of EOL blanks
2003-09-03 14:26:39 +00:00
igor%mir2.org
67749a7953
Work for http://bugzilla.mozilla.org/show_bug.cgi?id=213279 :
...
Code for NativeJavaPackage.TopLevelPackage is moved to a separated file NativeJavaTopPackage.java
2003-09-03 10:42:36 +00:00
brendan%mozilla.org
34309a2ace
Fix js_FinishTakingSrcNotes edge-case (bug 216320, r=shaver, a=asa).
2003-09-03 02:10:38 +00:00
igor%mir2.org
cabd0efab4
Fix from Merten Schumann to initialize lineNumber/sourceName in the constructor, see http://bugzilla.mozilla.org/show_bug.cgi?id=217584 .
2003-09-02 12:32:41 +00:00
igor%mir2.org
36aaed961a
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=214594 :
...
In IRFactory.createLoop propagate line number information to the condition subtree for "while" and "for" loops so exceptions generated in a loop condition would have proper line number.
2003-09-02 06:23:20 +00:00
igor%mir2.org
c8275b1f14
Fix from Olivier Oeuillot to address http://bugzilla.mozilla.org/show_bug.cgi?id=212395 .
2003-09-01 13:32:33 +00:00
igor%mir2.org
737a2a03c0
Fix from Ming-Yee Iu to address http://bugzilla.mozilla.org/show_bug.cgi?id=217951
2003-09-01 11:06:03 +00:00
igor%mir2.org
348f0a5a75
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217379 :
...
The code in RegExpImpl.findReplen did not take into account that a particular
parenthesis pair can be null if it is not captured. The patch fixes that to
send undefined to the replace function for that case.
2003-09-01 09:05:52 +00:00
igor%mir2.org
bc6bf1fc38
Fix for DToA.JS_dtoa() to resolve http://bugzilla.mozilla.org/show_bug.cgi?id=217268
2003-08-31 19:42:58 +00:00
igor%mir2.org
f969c11384
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217346 :
...
I changed DToA.JS_dtobasestr to use BigInteger for its integer part when it does not fit long.
2003-08-30 15:34:44 +00:00
igor%mir2.org
26296c096d
Finalizing work on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
...
Now optimizer generates exactly one class per script and all its functions.
2003-08-30 12:02:19 +00:00
igor%mir2.org
a2a564b53c
Changing ScriptRuntime to return vois since it does not and should not change scope
2003-08-30 12:02:18 +00:00
igor%mir2.org
63aef961cd
More fixing for http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
...
Use Context.getSourcePositionFromStack in the EvaluatorException(String details) constructor to get line number information.
2003-08-30 11:59:15 +00:00
pkw%us.ibm.com
13b592f34c
Bug 217499: Clean up AIX libpath and configure script
...
r=cls@seawood.org , a=asa@mozilla.org
2003-08-29 17:15:06 +00:00
igor%mir2.org
026e55d006
Cosmetics: removal end-of-line blanks
2003-08-29 15:28:08 +00:00
igor%mir2.org
e143e6b01b
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217584 :
...
Implementation of Merten Schumann suggestion to add to EvaluatorException and JavaScripException information about script source name and error line .
2003-08-29 13:19:37 +00:00
igor%mir2.org
94cf77a758
More work for http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
...
The patch changes omj.NativeScript to represent only instances of Script object
in scripts and removes its second role to server as a superclass for compiled
forms of JS scripts. In is not only allow to make optimizer to generate only
single class but also would make instances of Script generated by optimizer not
to depend on the scope. The later is essential for Script object reuse to
execute it against different scopes.
2003-08-29 10:42:23 +00:00
igor%mir2.org
f451118048
Working on http://bugzilla.mozilla.org/show_bug.cgi?id=198086 :
...
Now optimizer will generate only one class for all functions a script contains instead of class per function.
2003-08-28 12:40:10 +00:00
igor%mir2.org
035192c8be
Changing signature of addConstant from short to int and updating the code correspondingly to allow for constant indexes to exceed 32K since their type is unsigned short, not short and int allows to cover that while removing casts.
2003-08-28 12:29:01 +00:00
igor%mir2.org
e258a29853
1. Removal of NativeScript.initScript which was empty and was never overridden by script function implementations.
...
2. Using in NativeScript.compile Context.compileString instead of compileReader to avoid unnecessary construction of StringReader.
3. Overriding NativeFunction.getEncodedSource() in NativeScript to call this method on the delegated script object so decompilation of scripts constructed via script.compile would work.
2003-08-27 11:53:01 +00:00
igor%mir2.org
ae2cb1ea90
NativeFunction.decompile abd NativeFunction.initScriptFunction are final since script function implementations should not override them.
2003-08-27 11:47:19 +00:00
igor%mir2.org
eb2de8c08c
New form of markTableSwitchCase that allows to mark a switch case jump target and adjust stack top.
2003-08-27 11:44:46 +00:00
igor%mir2.org
b515f98de1
Added NativeFunction.initScriptFunction to initialize NativeFunction.argNames, NativeFunction.version and its usage in InterpretedFunction/InterpretedScript.
...
It will allow to make the protected fields in NativeFunction private when the optimizer will be updated to use the new function.
2003-08-26 18:06:10 +00:00
igor%mir2.org
86ebe14d54
Added public static final String[] emptyStrings to denote zero-length string array
2003-08-26 15:45:16 +00:00
igor%mir2.org
4047861bf2
Using ScriptRuntime.emptyStrings to return emoty var array
2003-08-26 15:45:15 +00:00
igor%mir2.org
a9f4d1e47b
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=217257 :
...
Patch from Larry Blair to fix decodeURIComponent()
2003-08-26 15:45:14 +00:00
igor%mir2.org
0439643ca6
Making createObject public so optimizer implementation can access it outside BaseFunction subclass
2003-08-26 15:45:13 +00:00
igor%mir2.org
3f846adf77
1. Support for generation tableswitch code
...
2. Utility method addLoadThis() as an alias for add(ByteCode.ALOAD_0)
2003-08-26 15:43:11 +00:00
igor%mir2.org
fd9857dc15
Fixing line-table initialization issue: set itsLineNumberTableTop to 0 at the end of stopMethod so generation of multiple methods with source line information would work.
2003-08-22 09:10:14 +00:00
caillon%returnzero.com
c11c6acb17
Backing out the patch to bug 83536.
...
I will reland this when 1.6a re-opens.
r+sr=jst@netscape.com
a=chofmann
2003-08-22 03:06:53 +00:00
igor%mir2.org
feaebaffbd
Cosmetics: removal of end-of-line blanks
2003-08-20 11:11:00 +00:00
igor%mir2.org
6c33282a4d
Splitting Codegen into 2 Codegen and BodyCodegen where the second class contains code to generate butecode for the body of script.
2003-08-20 10:52:54 +00:00
igor%mir2.org
157bd43021
1. Codegen.classNameToSignature is removed and call to the methods are replaced by cfw.classNameToSignature.
...
2. Calls to ClassFileWriter.fullyQualifiedForm are removed since all ClassFileWriter API accepts both dotted and slashed forms of Java class names.
3. Few identation fixes
2003-08-20 07:36:33 +00:00
igor%mir2.org
429111a705
1. Added ClassFileWriter.classNameToSignature to convert Java class name into JVM signature.
...
2. The public method getFullyQualifieedForm that was used to replace . to / is removed since all classname API accepts both form of class names and convertion to the internal /-form can be done in ClassFileWriter in a more efficient way.
2003-08-20 07:32:48 +00:00
pschwartau%netscape.com
4585faf2b3
Correcting a typo.
2003-08-19 16:45:03 +00:00
pschwartau%netscape.com
d399b7e7b8
Initial add. Regression test for bug 216591.
2003-08-19 16:36:54 +00:00
igor%mir2.org
dec1ba89ae
More renames and preparations for code split.
2003-08-19 15:37:50 +00:00
igor%mir2.org
f9a067e749
More preparations for separating code to generate main script method and the rest of methods.
2003-08-19 13:19:57 +00:00
igor%mir2.org
f4ef5c00b7
1. Renaming Codegen.classFile to Codegen.cfw and removal of methods like push/load/store in favour of directly calling ClassFileMethods.
...
2. Move all code related to generating of prologue for main function implementation to Codegen.generatePrologue.
In this way the following patch to split Codegen into 2 classes to factor away all generation code for the main function will look smaller.
2003-08-19 08:21:36 +00:00
igor%mir2.org
a9ed8d9651
Renaming [ilfda]load/store into add[ILFDA]Load/Store for consistency and moving package-private functions from ByteCode to ClassFileWriter so JVM does not need to load ByteCode since it includes only constants.
2003-08-19 08:15:33 +00:00
igor%mir2.org
4b5fa8776f
Replace few usages of Node.cloneNode by a more explicit code to create a fesh childless node copy.
2003-08-18 14:27:51 +00:00
igor%mir2.org
614d63535f
Using simple Token.<op> instead of (Token.EQOP, Token.<op>) to denote parser nodes for equality operations. It allowed to remove sharing of Node.intValue to mean line number and operation type so it was renamed to Node.lineno.
2003-08-18 11:53:00 +00:00
igor%mir2.org
aa709dd3ba
Added store/load function to shortcut add(ByteCode.x, i)
2003-08-18 11:49:39 +00:00
igor%mir2.org
d6f2cfc479
Using simple Token.<op> instead of (Token.RELOP, Token.<op>) to denote parser nodes for relational operation.
2003-08-18 09:55:19 +00:00
igor%mir2.org
aba31de195
Move code to classify binary and relation operation tokens to IRFactory so parser does not need to know about details of tree implementation.
2003-08-18 08:05:06 +00:00
igor%mir2.org
5ccaea2003
Changing order of parameters in ScriptRuntime.instanceOf to match order in ScriptRuntime.in to use simpler code in optimizer.
2003-08-18 08:00:55 +00:00
igor%mir2.org
c3d4e19b03
Removal of unnecessary instanceOf: Scriptable does not have such method and Undefined does not need to override it.
2003-08-18 07:57:40 +00:00
cls%seawood.org
c08e99a287
Set MODULE in makefiles at the top of a heirarchy so that module-deps lists are more precise and builds will have the proper order if some subdirs contain other modules.
2003-08-16 00:42:35 +00:00
igor%mir2.org
05b377eb6b
Make all convertions from == to === to support JavaScript 1.2 to single place in Parser
2003-08-15 16:48:56 +00:00
igor%mir2.org
8ebab73aa6
Added explicit IRFactory.createIncDec to create ++/-- subtree which removed need to have Token.PRE/Token.POST.
2003-08-15 11:19:47 +00:00
igor%mir2.org
807d553c04
Removal of Token.UNARYOP: after the previous patches parse tree used Token.UNARYOP only to group Token.TYPEOF and Token.VOID into the same node type. Since they are very different, it is simpler to use the tokens directly as node type.
...
To remove ambiguity caused by re-use of Token.VOID to denote no-operation node, a new Token.EMPTY is added to denote the former usage.
2003-08-15 10:21:09 +00:00
igor%mir2.org
945c6bd1ec
Added Token.TYPEOFNAME to denote explicitly parser nodes for typeof(name) to make code more explicit about this case compared with typeof(expression) which is denote by Token.TYPEOF. Previously the ambiguity was resolved by using (Token.UNARY.OP, Token.TYPEOF) for parser tree nodes denoting the later and simple Token.TYPEOF for the former.
2003-08-15 09:00:42 +00:00
igor%mir2.org
f82801fd15
Another replace of (Token.UNARYOP, Token.X) -> Token.X: this time it is for Token.BITNOT and Token.NOT
2003-08-15 08:11:32 +00:00
igor%mir2.org
be4c1a98f2
Changing Token.POS, Token.NEG to represent their parser tree nodes by the token themselves, not via pair Token.UNARYOP, POS/NEG. It simplifies code especially in optimizer/Optimizer.java
2003-08-15 07:15:07 +00:00
igor%mir2.org
423b5b900f
Removal of Token.TONUMBER: it had exactly the same semantics as Token.POS, that is to convert its argument to number.
2003-08-15 06:08:44 +00:00
rginda%netscape.com
4829d7f297
bug 216112, "add ability to disable object tracking in jsd"
...
r=caillon, sr=brendan, a=asa
adds the ability to turn off the object tracking without having to disable the debugger. should make a dormant venkman less of a performance impact.
2003-08-14 22:49:09 +00:00
igor%mir2.org
5447c67824
Removal of Token.PRIMARY: it was used in parser to group primary tokens such as false, true, null, this but since the semantic of them is very different it is simpler to create parse tree nodes directly from tokens and check only for node type, not for type and operation.
2003-08-14 14:49:46 +00:00
igor%mir2.org
683197bd59
Parser tree nodes of Token.CONVERT type are replaced by Token.TONUMBER and additional optimizer nodes to convert to double or object eliminating the need to distinguish them by Node.TYPE_PROPERTY.
2003-08-14 11:21:46 +00:00
igor%mir2.org
6b7800c03d
Removal of TypeEvent since its essential functionality beyond the declaration of few constants was used only to implement OptLocalVariable.assignType. Inlining that code eliminated need in TypeEvent.
2003-08-14 06:03:22 +00:00
brendan%mozilla.org
1f78682ed5
One more comment tweak.
2003-08-14 01:19:30 +00:00
brendan%mozilla.org
68fcf03cb1
Followup to last checkin to better comment the dependency I missed.
2003-08-14 01:17:27 +00:00
igor%mir2.org
2d24913e43
Change TokenStream to return operational tokens as is without grouping them through Token.UNARY, Token.PRIMARY etc. Instead do grouping only in parser. In this way exceptional cases when grouping of tokens has to be changed by parser (like reinterpretation of Token.IN) it is easy to deal with. Another advantage is decompiler simplification since it does not need to perform nested switches to unwrap tokens.
2003-08-13 14:21:39 +00:00
igor%mir2.org
b6cc816a7e
I replaced Token.ADD/Token.SUB by Token.POS/Token.NEG as operands of UNARY operation nodes in parse tree. This is mostly for readability and to catch ADD/SUB misuse earlier.
2003-08-13 11:57:33 +00:00
igor%mir2.org
1207aaf29d
Cosmetics: nodeOp as variable name is replaced by assignOp in methods related to construction of assignment nodes.
2003-08-13 11:53:14 +00:00
igor%mir2.org
41850a6a58
Change Parser to use IRFactory.createAssignment to create assignment nodes instead of calling createBinary only to handle assignments explicitly in IRFactory later.
2003-08-13 10:51:38 +00:00
brendan%mozilla.org
ecc678e336
Really fix 215878, with great help from darin.
2003-08-13 06:54:13 +00:00
igor%mir2.org
b295ff2879
Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=215923 :
...
Search prototype chain of JS this until wrapped Java object is found that is compatible with Java this.
2003-08-13 06:04:41 +00:00
brendan%mozilla.org
23e1763316
Restore next-to-last rev, which is harmless.
2003-08-13 05:25:04 +00:00
darin%meer.net
da75c3136d
backing out changes for bug 215878 to clear tinderbox orange (startup crash)
2003-08-13 05:17:14 +00:00
brendan%mozilla.org
de76eafb5a
Fix js_FinishTakingSrcNotes 'logic gap' bug (215878, r=shaver, a=dveditz).
2003-08-12 23:42:55 +00:00
igor%mir2.org
ab08a3b216
Making Decompiler.decompile public and changing NativeFunction.getSourceFunction() to return Object so it is easy to implement alternative presentation of encoded source.
2003-08-12 13:12:39 +00:00
igor%mir2.org
ec958a8bd4
Encoded source presentation changes.
...
Now encoded source does not encode sources of nested functions as external references. Rather they are encoded as any other source elements and to implement function.toString() runtime stores starting and ending offsets for function encoded source.
In this way decompiler is separated from the rest of runtime and external applications can access the encoded source with less efforts.
2003-08-12 11:50:48 +00:00
igor%mir2.org
494a57b800
Using ScriptRuntime.emptyStrings to return emoty var array
2003-08-12 11:50:45 +00:00
igor%mir2.org
35a6276528
Switching to use ClassFileWriter.addPush(String) instead of ClassFileWriter.addLoadConstant(String) to support string constants with JVM UTF8 encoding exceeding 64k.
2003-08-11 14:54:19 +00:00
igor%mir2.org
ea022380ec
Fixing bugs in the initial implementation of ClassFileWriter.addPush(String): now it works
2003-08-11 14:14:12 +00:00
igor%mir2.org
ed090e665d
Use special token to encode function escape in Decompiler instead of using elaborated code to distinguish between start of function and function escape.
2003-08-11 11:06:21 +00:00
igor%mir2.org
4c2e90dc66
Adding readFile function to the shell to read file context.
2003-08-11 10:54:40 +00:00
igor%mir2.org
bcc6e01937
making decompiler class public so public method Parser.parser still can be called from outside omj.
2003-08-08 16:42:41 +00:00
igor%mir2.org
05eb524d3a
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
9f0dfa296b
Calling Decompiler.decompile directly instead of calling Parser.decompile
2003-08-08 15:36:48 +00:00
igor%mir2.org
96a2d4f7b0
Decompiler class is moved to a separated file
2003-08-08 10:35:57 +00:00
igor%mir2.org
e7294c0d66
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
282751793f
push(int/double) simply calls now ClassFileWriter.addPush()
2003-08-08 09:32:40 +00:00
igor%mir2.org
a837af4e01
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
807f86937c
Restoring from bad commit of development uncompilable code
2003-08-07 15:10:10 +00:00
igor%mir2.org
1c21aeb4b2
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
02965674fe
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
6ef6f731d0
Less generic code for interactioon between Parser and Decompiler
2003-08-07 07:19:16 +00:00
igor%mir2.org
64eb193a93
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
8a7aea78a4
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
bd839e9869
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
b4041d1788
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
8cd43155f4
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
f1392f57b4
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
f6be8fe74f
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
0e29410001
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
86cd62c38a
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
77701f3d53
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
668a70e247
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
41be961fb9
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
5c9fcbc358
<center><h1>... is replaced by <h1 align=center> to avoid warning from javadoc
2003-08-04 07:51:19 +00:00
brendan%mozilla.org
17e627c3ed
Prevent recursive divergence via watchpoint handlers (213482, r=scole).
2003-08-03 21:59:50 +00:00
igor%mir2.org
06ea9ce3ff
Fixing /** coments to remove JavaDoc errors/warnings
2003-08-03 21:40:22 +00:00
pschwartau%netscape.com
6a2888809e
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
ad20d0d29c
Remove unused references to xpcom_obsolete
...
Bug #38122 r=dougt sr=bryner
2003-08-02 20:17:28 +00:00
cls%seawood.org
8216341e1a
Fixing XPCONNECT_STANDALONE bustage
2003-08-02 19:33:52 +00:00
brendan%mozilla.org
ad3c46d676
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
13d2351d26
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
90cd6a1b97
Fix off-by-N in CG_COUNT_FINAL_SRCNOTES (214210).
2003-07-29 09:11:04 +00:00
brendan%mozilla.org
878a435300
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
abac0ba1fe
Undo critical part of last change to try to fix crashing testerboxes.
2003-07-28 18:30:12 +00:00
brendan%mozilla.org
77f1747424
Minor cleanups to last checkin.
2003-07-28 05:46:18 +00:00
brendan%mozilla.org
32d941a463
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
5b5659a759
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
c51b5baef2
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
1c5587194f
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
3d44748251
Restoring NativeJavaMethod(Method, String) for backward compatibility.
2003-07-24 09:06:44 +00:00
caillon%returnzero.com
9c22160a4b
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
539cfcb481
rs=leaf
...
Remove XP_OS2_VACPP from the tree
2003-07-22 21:08:40 +00:00
mkaply%us.ibm.com
1513a68f57
rs=leaf
...
Remove XP_OS2_VACPP from the tree
2003-07-22 20:29:43 +00:00
mkaply%us.ibm.com
56dc425c51
rs=leaf
...
Remove XP_OS2_VACPP from the tree
2003-07-22 18:38:01 +00:00
igor%mir2.org
44b2b7a51b
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
08be0f19ff
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
b13e48a42a
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
806103a6b0
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
293663835f
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
2d7d723eef
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
88bc61b4a7
Cosmetics: layot fixes
2003-07-15 20:44:17 +00:00
timeless%mozdev.org
2edc8745a1
Bug 212287 xpcwrappedjsclass.cpp:891: warning: unused variable `PRUnichar * sourceNameUni'
...
r=dbradley sr=kin
2003-07-14 21:13:46 +00:00
timeless%mozdev.org
186b4f709f
Bug 212266 xpcexception.cpp:236: warning: assignment of negative value `-1' to `unsigned int'
...
r=dbradley sr=kin
2003-07-14 21:12:24 +00:00
jaggernaut%netscape.com
20004e3489
Bug 73353: clean up MODULE/REQUIRES story. r=cls, sr=bryner
2003-07-13 22:29:00 +00:00
igor%mir2.org
425cf932f1
Throw IllegalArgumentException from compileString/compileReader if script line number is negative instead of catching it much later via Context.codeBug().
2003-07-09 19:27:46 +00:00
igor%mir2.org
911194379d
1. To evaluate script represented by String, use Context.evaluateString to avoid the need to create StringReader instances.
...
2. Catch VirtualMachineError so on out-of-memory/stack-overflow the shell will exit with System.exit(EXITCODE_RUNTIME_ERROR), not with 1. It will allow to distinguish cases when script tried to consume all available stack/memory with bugs in Rhino itself leading to NullPointerException etc.
3. Remove code to rethrow ThreadDeath from JavaScriptExcception since ThreadDeath is re-thrown by the engine itself.
2003-07-06 19:21:42 +00:00
igor%mir2.org
24a1f6c04d
Caching of Method/Constructor.getParameterType()
...
To avoid constant calling of Method/Constructor.getParameterType() which creates a new Class array on each call, NativeJavaMethod stores the parameter types for its methods in methodTypes array and similarly JavaMembers holds all constructor types in ctorTypes array. The cached Class arrays are passed explicitly to methods that previously called getParameterType().
2003-07-06 19:07:00 +00:00
igor%mir2.org
5cb6af55e7
Cosmetics: use
...
import java.lang.reflect.*;
import java.io.*;
instead of explicit importing multiple classes.
2003-07-06 19:02:03 +00:00
igor%mir2.org
90d98c2fd0
NativeJavaMethod.add is removed. It allows to assume that after NativeJavaMethod constructor methods array will remain the same, which I will use in the following patch to add caching of Method.getParameterTypes.
...
Instead of calling NativeJavaMethod.add, JavaMembers assemble the method list directly and then pass it to NativeJavaMethod when done.
2003-07-06 18:59:30 +00:00
igor%mir2.org
77e05e0e7b
Pass staticType to wrapAsJavaObject to restore an option to use it for reflection instead of dynamicType if a security manager prevents the later
2003-07-06 18:51:54 +00:00
igor%mir2.org
70cfc8b896
More JavaMembers cosmetics:
...
1. All its methods package private methods that are not accesible outside the class itself are made private.
2. Various package-private getters are removed in favor of direct field access.
2003-07-06 18:51:53 +00:00
igor%mir2.org
b0389f951d
1. Changing NativeJavaMethod.findFunction to return index of found method instead of the method itself to make smaller the following optimizations of findFunction.
...
2. Removal of NativeJavaMethod.getMethod that simply returned package-private field NativeJavaMethod.methods since the filed itself was accessed directly by other files.
2003-07-05 22:13:33 +00:00