Граф коммитов

5612 Коммитов

Автор SHA1 Сообщение Дата
pschwartau%netscape.com bffe6774e1 Patch by zack-weg@gmx.de correcting errors in this testcase. See bug 224951. 2003-11-07 18:08:35 +00:00
pschwartau%netscape.com 20f097afc9 Rearranging code to make style consistent with other tests in this directory. 2003-11-07 18:00:09 +00:00
igor%mir2.org 2be95ba6cd Do constant folding during parsing since it is cheap to do that at this stage then in optimizer during separated phase so even the interpreter will take advantage of the folding. 2003-11-07 15:58:57 +00:00
pschwartau%netscape.com fc95d6d3d2 Initial add. Regression test for bug 224676. 2003-11-05 04:08:11 +00:00
igor%mir2.org fd70d98f29 ClassRepository is removed from list of API classes to allow to replace it in future by direct access to optimizer. 2003-11-04 14:55:58 +00:00
igor%mir2.org ecad46eb8f Adjusting examples not to assume that Context.initStandardObjects(ScriptableObject) returns ScriptableObject since that was changed back to Scriptable for compatibility. 2003-11-04 14:54:43 +00:00
igor%mir2.org 56959e7696 Removal of initStandardObjects(boolean) not to proliferate versions of initStandardObjects: if Rhino would support recursive object sealing, it would not be necessary to call initStandardObjects with sealed flag at all. 2003-11-04 14:52:48 +00:00
igor%mir2.org 0e92e06301 JavaDoc @link fixes 2003-11-04 14:49:20 +00:00
igor%mir2.org 56cd62465f Return type of Context.initStandardObject(ScriptableObject) is changed back to Scriptable for binary compatibility. 2003-11-03 20:42:32 +00:00
brendan%mozilla.org 2341652777 Move ComputeThis call up in js_Invoke so __noSuchMethod__ sees the correct |this| parameter. 2003-11-03 20:23:23 +00:00
igor%mir2.org 011d5fcfd1 Removal of possibility to alter JavaAdapter through an external property as such functionality is redundant and can be emulated with altering JavaAdapter in the scope object after Context.initStandardObjects returns. 2003-11-03 19:58:17 +00:00
igor%mir2.org 8844a1f96b Use reflection to access JavaAdapter to allow to use NativeJavaObject with JavaAdapter classes absent. 2003-11-03 19:55:37 +00:00
igor%mir2.org 0bbeb14dff When converting function to Java interface and checking for the previous wrapping, do not use key stored in ClassCache.javaAdapterIFGlueMasters as it can be thrown away when caches are emptied and instead construct a key object from the passed class and uniqueness tag. 2003-11-03 18:15:00 +00:00
igor%mir2.org 6a865fc062 In NativeJavaClass.constructSpecific use passed scope, not function pointer as scope source so shared system scope with custom top scope and custom wrap factory would work. 2003-11-03 18:06:49 +00:00
igor%mir2.org d2c27acd1a Added Kit.makeHashKeyFromPair to make combined key for hashtables from 2 objects 2003-11-03 18:04:27 +00:00
brendan%mozilla.org 2c67a1add3 Fiddle a bit cosmetically to make arena member comparisons have the same form; add a comment. 2003-11-03 17:47:43 +00:00
brendan%mozilla.org 2ccb766a13 Squeeze a few instructions out of the noSuchMethod special case, and restore needed arena metering (followup to 196097, r=sparky). 2003-11-03 05:07:41 +00:00
brendan%mozilla.org 4be366b3cf Fix missing cx param problem (223041, r=caillon, sr=dbaron). 2003-11-03 04:26:55 +00:00
igor%mir2.org f9931a4665 Added Context.javaToJS as a convenient way to get JS values from Java objects and Context.emptyArgs so documentation does not need to refer to ScriptRuntime.emptyArgs. 2003-11-02 21:15:14 +00:00
igor%mir2.org 970fe84f50 In WrapFactory.wrap use String.valueOf(charValue) instead of new String(new char[] { charValue }) to get string from character. 2003-11-02 21:12:08 +00:00
brendan%mozilla.org 979ef1557d Fix JS_DropPrincipals (thanks, dbaron). 2003-11-02 03:25:25 +00:00
brendan%mozilla.org 4e6cfd64bd Use eval's object principals if possible, ditto for other eval-like methods (223041, r=caillon, sr=shaver). 2003-11-02 01:04:50 +00:00
igor%mir2.org ea9b76f64c Deprecation of get/setAttributes forms that take start argument. It was never used to pass anything but this object. 2003-11-01 20:23:28 +00:00
igor%mir2.org 4c360b0900 Since Undefined inherits from Scriptable, not ScriptableObject, it does not need to override get/setAttributes() 2003-11-01 20:21:28 +00:00
igor%mir2.org 2102257103 Removal of completely unnecessary getSlotToSet as its implementation repeated already unsuccessfully search done by getSlot. The put methods now call addSlot directly.
In addition, shared code in has and get to check/update lastAccess cache is moved to common method getNamedSlot.
2003-11-01 19:40:24 +00:00
igor%mir2.org 5294159feb GlobalScope is removed as its introduction had to serious consequences with compatibility and usage. Instead a special purpose class ClassCache is introduces to hold various caches. The class binds itself to an arbitrary object by using new SciptableObject.associateValue method so arbitrary ScriptableObject can be used as a scope without performance penalties. 2003-11-01 15:34:23 +00:00
brendan%mozilla.org 8ae9b25b8b Fix from zack-weg@gmx.de for magic number botch and early Java bug copy/paste in Math.random code (211590, r=me). 2003-10-31 23:21:13 +00:00
igor%mir2.org 15fc231809 parent and prototype fields are made privatenot to allow to mess with them from subclasses. Althoygh setter and getter can be used still to do that, at least some sanity checks can be added there. 2003-10-30 16:40:43 +00:00
igor%mir2.org e12e6f2269 Use getPrototype instead of explicit reference to this.prototype 2003-10-30 16:40:42 +00:00
igor%mir2.org a123fd228b passing Context instance to NativeJavaMethod.findMethod not to call Context.getContext() id some form of API to override method selection will surface 2003-10-30 16:40:41 +00:00
igor%mir2.org ea873cadc1 Added readReader 2003-10-30 16:40:40 +00:00
igor%mir2.org c0c59dd572 Not to call Context.getContext() in TokenStrea/IRFactory, an explicit Context instance is passed to TokenStream constructor 2003-10-30 16:40:39 +00:00
igor%mir2.org e0c6b113b2 Use passed scope instead of the object parent scope 2003-10-30 16:39:46 +00:00
igor%mir2.org 22d09dcc14 First part of resolving http://bugzilla.mozilla.org/show_bug.cgi?id=223435 :
Allow to pass JS function to Java method accepting interface with single method. The function will be called when interface method will be called.
2003-10-28 08:37:30 +00:00
igor%mir2.org db926bd850 Added getAssociatedValue()/associateValue() to allow to connect arbitrary application-specific object with ScriptableObject. 2003-10-27 19:19:50 +00:00
brendan%mozilla.org 6b1992aefa Don't under-malloc for short script filename entry (223810, r=shaver, a=dbaron). 2003-10-27 19:13:01 +00:00
igor%mir2.org 7a27515d50 Added initHash which would put value into hashtable only if it is first. This is usable to ensure proper synchronization with lazy initialization. 2003-10-27 18:45:39 +00:00
igor%mir2.org 69200530cc If invoker master throws RuntimeException during creation of invoker, then disable invokerOptimization. It fixes regression when SecurityManager prevents InvokerMaster from creation of class loader. 2003-10-27 18:42:39 +00:00
tor%cs.brown.edu 9d3e99b64f Backout of bug 153586. a=asa 2003-10-27 17:00:38 +00:00
igor%mir2.org 0ed88eb6e1 Added addPush version taking long argument. 2003-10-27 15:47:05 +00:00
pschwartau%netscape.com 15cd8633b1 Replacing "Copyright �" by "Copyright (C)" in JS test suite sources. See bug 222759. 2003-10-27 01:49:27 +00:00
igor%mir2.org ff9cd1a75d Common logic to create and cache adapter class on demand is moved to the new method getAdapterClass 2003-10-25 11:46:18 +00:00
igor%mir2.org f75ab50572 In getApplicationClassLoader cache result of Thread.getContextClassLoader if it coincides with the loader that loaded Context class. 2003-10-25 11:42:34 +00:00
brendan%mozilla.org 574241310a Hack to cope with input case (/|/, /x|/, etc.) not handled by recent rewrite (223535, r=timeless, sr=shaver, a=asa). 2003-10-24 22:23:36 +00:00
pschwartau%netscape.com 106370e00a Adding more cases. 2003-10-24 17:55:06 +00:00
pschwartau%netscape.com 60359c2bff Initial add. Regression test for bug 223535. 2003-10-24 17:47:36 +00:00
pschwartau%netscape.com d518ebafde Follow Perl 5, not ECMA-262 Ed 3 on unescaped, unbalanced brackets and braces. See bug 223273. 2003-10-24 17:18:21 +00:00
pschwartau%netscape.com 235dc1efdf Correcting a mistake: remember to escape the escape character inside eval strings! 2003-10-24 00:51:37 +00:00
brendan%mozilla.org bb9deac330 Fix to error on extra ) in regexp rather than corrupt 'n' crash (223273, r=timeless, sr=shaver, a=asa). 2003-10-24 00:37:49 +00:00
igor%mir2.org e8f46e37c1 Added information on shared scopes 2003-10-23 21:49:23 +00:00
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