Commit Graph

5595 Commits

Author SHA1 Message Date
brendan%mozilla.org
7809adca33 Fix missing cx param problem (223041, r=caillon, sr=dbaron). 2003-11-03 04:26:55 +00:00
igor%mir2.org
ef93931896 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
e793b86743 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
c4cd345781 Fix JS_DropPrincipals (thanks, dbaron). 2003-11-02 03:25:25 +00:00
brendan%mozilla.org
c85bc41f9e 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
314f3f5bc8 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
efd61a6673 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
674cfbf1bb 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
16dcc44df0 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
e9ff806fda 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
f78d4de11b 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
2851be6c6c Use getPrototype instead of explicit reference to this.prototype 2003-10-30 16:40:42 +00:00
igor%mir2.org
6b0c1e82ad 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
552126e233 Added readReader 2003-10-30 16:40:40 +00:00
igor%mir2.org
ba5928dd83 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
85fcb8e2bc Use passed scope instead of the object parent scope 2003-10-30 16:39:46 +00:00
igor%mir2.org
a80d67208d 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
c25c8fc58f Added getAssociatedValue()/associateValue() to allow to connect arbitrary application-specific object with ScriptableObject. 2003-10-27 19:19:50 +00:00
brendan%mozilla.org
102afcc93c 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
7514a2a682 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
2b2f9d3303 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
7d206cb287 Backout of bug 153586. a=asa 2003-10-27 17:00:38 +00:00
igor%mir2.org
64affb2798 Added addPush version taking long argument. 2003-10-27 15:47:05 +00:00
pschwartau%netscape.com
1faffc0fb6 Replacing "Copyright �" by "Copyright (C)" in JS test suite sources. See bug 222759. 2003-10-27 01:49:27 +00:00
igor%mir2.org
a9d220df39 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
8b796c2f63 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
94f8c13c56 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
82a03fc995 Adding more cases. 2003-10-24 17:55:06 +00:00
pschwartau%netscape.com
e3b4c16fa0 Initial add. Regression test for bug 223535. 2003-10-24 17:47:36 +00:00
pschwartau%netscape.com
92ef5f7beb 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
21596d6383 Correcting a mistake: remember to escape the escape character inside eval strings! 2003-10-24 00:51:37 +00:00
brendan%mozilla.org
0355393543 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
e5b4886f58 Added information on shared scopes 2003-10-23 21:49:23 +00:00
igor%mir2.org
f813a31aa8 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
0b9f8244c1 Whitespace fix. 2003-10-23 21:15:06 +00:00
pschwartau%netscape.com
e03b9ebe33 Fixing a comment. 2003-10-23 21:13:34 +00:00
pschwartau%netscape.com
d04a86445e Added cases covering unbalanced brackets and braces. 2003-10-23 20:48:43 +00:00
pschwartau%netscape.com
054eaeb6fc Initial add. Regression test for bug 223273. 2003-10-23 20:27:32 +00:00
igor%mir2.org
a23733fc96 The class is no longer used. 2003-10-22 08:02:37 +00:00
igor%mir2.org
00c2ae199e 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
0e4347e841 Added JavaDoc for listener utilities 2003-10-22 07:57:49 +00:00
dbaron%dbaron.org
99ee03d000 Convert CR-LF line endings to LF. 2003-10-22 07:30:52 +00:00
brendan%mozilla.org
eb925a7246 Check in rogerl's big perf patch (85721). 2003-10-22 07:01:50 +00:00
brendan%mozilla.org
a15916b480 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
66caced69a 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
6f00139216 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
368bd47f1e Introduction of org.mozilla.javascript.Kit to contain generic support utilities. 2003-10-21 13:43:22 +00:00
igor%mir2.org
8c9720b2b3 Use getPrototype instead of explicit reference to this.prototype 2003-10-21 13:43:21 +00:00
igor%mir2.org
31bc498af4 Added readUrl method to shell 2003-10-21 09:13:59 +00:00
igor%mir2.org
d6cd0b4569 Reuse results of method.getParameterTypes() and better hash code for javaAdapterSignature. 2003-10-20 14:11:08 +00:00
igor%mir2.org
0e47d37a12 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
36c079aa4c Cosmetics: indentation fixes 2003-10-20 14:02:53 +00:00
igor%mir2.org
136718b2e1 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
2d87a134ca 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
d939e7224e 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
2049f8f1b7 Skip new tests that use SpiderMonkey's f.caller property (non-ECMA). 2003-10-16 04:08:38 +00:00
brendan%mozilla.org
45f871a076 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
d4413688b0 Updated ftp links to the download files due ftp server reorganization 2003-10-15 18:13:33 +00:00
brendan%mozilla.org
8a74bd32a6 Fix comment bug reported by timeless (222055). 2003-10-13 23:25:48 +00:00
pschwartau%netscape.com
d764fcd48b Initial add. Regression test for bug 222029. 2003-10-13 22:23:17 +00:00
pschwartau%netscape.com
e21b28f1d4 Whitespace fix. 2003-10-13 20:56:55 +00:00
pschwartau%netscape.com
d3607e4a9d Initial add. Regression test for bug 222029. 2003-10-13 20:18:46 +00:00
brendan%mozilla.org
ef6607007f Expand tabs, add assertion. 2003-10-13 18:38:50 +00:00
igor%mir2.org
4b876ea459 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
c21ab0c7a0 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
064afe0a07 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
89318be0fd Inlining code into exceMethod to shrink code size. 2003-10-13 07:30:33 +00:00
igor%mir2.org
d50209987d 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
27cae5bd87 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
c23530f968 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
6419c245b7 More optimizations to shrink code size. 2003-10-12 08:52:24 +00:00
igor%mir2.org
778fff4c99 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
3cc6308b48 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
0a5b59efe7 Added ScriptRuntime.splitSC 2003-10-11 20:24:27 +00:00
igor%mir2.org
bb5d66ddc1 Change JavaScriptException to include source and line information in Throwable.getMessage() 2003-10-11 19:36:25 +00:00
igor%mir2.org
6935fd4558 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
d13a4dc44c 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
1221cd0a72 Split jsconfig.h JS_HAS_XDR macro for better code factoring. 2003-10-11 18:17:53 +00:00
dwitte%stanford.edu
7a2d3ff642 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
ea5c7f67be Remove false comment (whew). 2003-10-10 01:46:55 +00:00
igor%mir2.org
fe83dbd84d BinaryDigitReader logic is inlined in ScriptRuntime.stringToNumber removing the need in the class. 2003-10-09 17:38:34 +00:00
peter%propagandism.org
9059682e5b 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
4f020527c8 Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the examples 2003-10-09 07:00:40 +00:00
igor%mir2.org
13d75fc940 Use non-static functions in Shell 2003-10-09 07:00:01 +00:00
igor%mir2.org
2aa3f1b663 Cosmetics: removal of end-of-line junk space 2003-10-09 06:57:12 +00:00
igor%mir2.org
99ad0b5fed Use newly introduced Context.initStandardObjects(), not initStandardObjects(null) in the documentation 2003-10-09 06:55:49 +00:00
igor%mir2.org
a738d7b424 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
a95f9c4651 GlobalScope is a part of API now. 2003-10-09 06:42:30 +00:00
igor%mir2.org
0c39c2bd7b 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
75e6970c55 Added version of Context.initStandardObjects that does not take scope as its argument. 2003-10-09 06:37:25 +00:00
brendan%mozilla.org
40b84ab879 Late-breaking security fix (221526, r=shaver). 2003-10-07 23:02:29 +00:00
cls%seawood.org
f1c0224f36 What bryner said 2003-10-07 22:07:14 +00:00
bryner%brianryner.com
dffdfd622c attempting to fix windows bustage 2003-10-07 21:18:57 +00:00
cls%seawood.org
5c61023297 Case matters.
Fixing mingw cross-compiling bustage.
2003-10-07 20:39:25 +00:00
igor%mir2.org
2593ae88cb 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
2ab3731f6d Cosmetics: expanding tabs 2003-10-01 15:02:09 +00:00
igor%mir2.org
002127495a 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
c3fc6c32a5 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
65bc76fe1e 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
18aa61bacd Initial add. Regression test for bug 39309. 2003-10-01 00:03:32 +00:00
pschwartau%netscape.com
de6f7a3a8b Initial add. Regression test for bug 220584. 2003-09-29 17:45:15 +00:00
igor%mir2.org
f8232c4663 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
b74c0ad822 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
1ef13c34c6 Self-documenting example 2003-09-28 19:49:07 +00:00
igor%mir2.org
caa446bcc0 Added msg.adapter.zero.args 2003-09-28 18:14:16 +00:00
igor%mir2.org
b976cc3dce 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
0335328a4b 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
553f7df961 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
2bf2a57dd4 Improving readability. 2003-09-26 19:37:15 +00:00
pschwartau%netscape.com
769b832c24 Initial add. Regression test for bug 220367. 2003-09-26 19:24:58 +00:00
pschwartau%netscape.com
59648663bd Initial add. Regression test for bug 220362. 2003-09-26 18:56:23 +00:00
igor%mir2.org
fc51c3df0e 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
34313f0f12 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
7cb2529128 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
9aed8fe664 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
0924111af4 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
f04a8dec42 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
2497aed559 Eliminate unnecessary local variable. 2003-09-23 00:07:24 +00:00
brendan%mozilla.org
fa18fa1e14 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
7546dbbac4 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
7848633a4a 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
8df24a01d8 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
1e85c1d2f9 #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
1bc491b06a 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
57083559e2 Fixing 219094. Simple build bustage fix. r=darin 2003-09-15 04:13:19 +00:00
igor%mir2.org
c7382925ac 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
9aa6317814 Cosmetics: identation fixes 2003-09-12 15:04:21 +00:00
igor%mir2.org
ca657b86ae 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
cf45db3956 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
f0adcfbccd 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
207ceb33fe Restoring NativeJavaPackage(String) constructor as deprecated for compatibility with Batik. 2003-09-09 13:27:11 +00:00
igor%mir2.org
0296631e46 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
68676e179e Restoring JavaScriptException(String) as deprecated constructor for compatibility with BSF. 2003-09-09 13:22:50 +00:00
pschwartau%netscape.com
5547869e54 Initial add. Regresssion test for bug 216320. 2003-09-09 00:37:49 +00:00
bryner%brianryner.com
9d11b3c424 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
88c394e664 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
31b2256d97 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
f8c669f1dd 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
de7b10603e 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
54f85a5212 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
c9d7ff074e 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
1fe8179c7b 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
54563952a0 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
008e6de35a 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
fbd31b0fe2 Cosmetics: removal of EOL blanks 2003-09-03 14:26:39 +00:00
igor%mir2.org
2956f5b69d 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
214fac7ac4 Fix js_FinishTakingSrcNotes edge-case (bug 216320, r=shaver, a=asa). 2003-09-03 02:10:38 +00:00
igor%mir2.org
6e967acb16 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
57f50e5f8d 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
0b3c7a2041 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
1dadf61103 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
2aa340aba8 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
6814bf31f0 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
46c31c6a73 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
4936fa3877 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
d1be8de8ca 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
b8655920a5 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
48c6e651e5 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
cd2ce4c17c Cosmetics: removal end-of-line blanks 2003-08-29 15:28:08 +00:00
igor%mir2.org
965090841f 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
37375e32cf 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
3c9b841737 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
89468875b8 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
6dd4d70e56 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
18456e5ca1 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
894383d75f 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
51bf324448 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
2709c61a4d Using ScriptRuntime.emptyStrings to return emoty var array 2003-08-26 15:45:16 +00:00
igor%mir2.org
cb46fe1b41 Added public static final String[] emptyStrings to denote zero-length string array 2003-08-26 15:45:15 +00:00
igor%mir2.org
7d0e681b6a 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
f9b335bf06 Making createObject public so optimizer implementation can access it outside BaseFunction subclass 2003-08-26 15:45:13 +00:00
igor%mir2.org
856b7cabb4 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
a803853242 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
f8e8aed8a7 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
9983fdb0e8 Cosmetics: removal of end-of-line blanks 2003-08-20 11:11:00 +00:00
igor%mir2.org
9be83bb44c 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
b6c1d3644c 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
43cbf72f08 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
60a8469472 Correcting a typo. 2003-08-19 16:45:03 +00:00
pschwartau%netscape.com
19674c814c Initial add. Regression test for bug 216591. 2003-08-19 16:36:54 +00:00
igor%mir2.org
040923febc More renames and preparations for code split. 2003-08-19 15:37:50 +00:00
igor%mir2.org
32e0764d1c 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
bd2594e6eb 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
810aa53fd8 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
ed64a67527 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
abefa99b1e 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
5f6517906c Added store/load function to shortcut add(ByteCode.x, i) 2003-08-18 11:49:39 +00:00
igor%mir2.org
041149139b 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
5be8c599eb 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
0ee771b8c2 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
7c70d93492 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
1b51ba858c 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
fe402a8124 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
b96ac683c8 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
9fce703481 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
b63333276d 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
7fdd9e85d1 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
09c327adc3 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
9a1fbf3def 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
8f4d8cb810 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