Commit Graph

5729 Commits

Author SHA1 Message Date
brendan%mozilla.org
b8206857f8 Fix bungled attempt to ComputeThis before __noSuchMethod__ extension (225423, r=shaver, a=asa). 2003-11-26 02:46:50 +00:00
pschwartau%netscape.com
c94fc89bea Initial add. Regression test by Igor Bukanov, for bug 226507. 2003-11-25 02:23:59 +00:00
brendan%mozilla.org
6e4bb85437 Comment-only change. 2003-11-25 01:50:41 +00:00
brendan%mozilla.org
8cd9036829 Patch from Igor Bukanov <igor@fastmail.fm> with a few tweaks from me to limit stack consumption under js_EmitTree (226507, r=shaver, a=rjesup). 2003-11-25 01:50:17 +00:00
igor%mir2.org
2997e9f7ee Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=226045:
(new RegExp).toString/toSource() now gives /(?:)/ instead of  // which is comments and does not work with uneval.
2003-11-24 15:51:44 +00:00
timeless%mozdev.org
8831aead60 Adding support for Solaris 9 (copied from Solaris 8) 2003-11-23 20:13:36 +00:00
mkaply%us.ibm.com
e67c7acaed #200144
r=brendan, a=mkaply
Remove XP_OS2 #ifdefs from JS
2003-11-19 23:07:57 +00:00
brendan%mozilla.org
fe950fd204 Fix old bug afflicting for(var i=j in o) hard case; fix for(var... in decompilation; expand tabs in jsopcode.c (226078, r=shaver). 2003-11-18 23:51:43 +00:00
pschwartau%netscape.com
cd45244168 Updating email address. 2003-11-18 20:58:56 +00:00
pschwartau%netscape.com
f457eaa80d The behavior of toString() and toSource() on empty regexps has changed. See bug 225550 and bug 226045. 2003-11-18 04:12:48 +00:00
brendan%mozilla.org
79ad410220 Forgot a couple of places in need of sealed-scope locking optimization; also reordered lock-free tests to avoid ClaimScope from GC. 2003-11-18 02:45:17 +00:00
brendan%mozilla.org
bf7997bdef Add -S maxstacksize option (225061, patch from Igor Bukanov <igor@fastmail.fm>, r=me). 2003-11-17 23:58:21 +00:00
brendan%mozilla.org
31652c3945 My attempt to fix 225343, r=shaver. 2003-11-17 22:12:52 +00:00
igor%mir2.org
46e97e6ab7 Fixing debug printout of icode: CALLSPECIAL prinout was not updated to reflect proper value of only 6 additional bytes for bytecode. 2003-11-17 18:31:55 +00:00
igor%mir2.org
a9bb9a44ac To mark special properties __proto__ and __parent__ in parse tree use integer ids instead of strings so it is easier to check tree consitency. 2003-11-17 17:39:43 +00:00
igor%mir2.org
cbacb923d3 Finalizing toSource() support: do not put () arround {} for source representation of objects that are part of recursive toSource call.
For details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225465
2003-11-17 17:37:21 +00:00
pschwartau%netscape.com
cbb33a9d98 Removing skip of fileName and lineNumber test; these properties are now supported by Rhino. See bug 225817. 2003-11-17 16:48:12 +00:00
igor%mir2.org
02c0cb7a89 Changing wrapping of caught Java exceptions: now they are constructed with JavaException constructor, have fileName, lineNumber defined to point to script line that executed Java code triggering exception and have javaException property pointing to the wrapped exception object.
For details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225817
2003-11-17 11:04:29 +00:00
igor%mir2.org
834efdbe71 Fixing http://bugzilla.mozilla.org/show_bug.cgi?id=225817 :
Proper support for fileName and lineNumber in Error objects.
2003-11-17 09:45:01 +00:00
pschwartau%netscape.com
b707a22895 Removing inner () 's from Section 4 of test. See bug 225831 comment 7. 2003-11-17 00:46:52 +00:00
pschwartau%netscape.com
24d46ce950 Adding comments. 2003-11-16 23:10:49 +00:00
pschwartau%netscape.com
2954f1e1c9 Nope, that last correction was wrong; fixing mistake. See bug 225289 comment 9. 2003-11-16 23:07:28 +00:00
pschwartau%netscape.com
336f8f995e Adding three more sections, by igor@fastmail.fm. 2003-11-16 22:03:14 +00:00
brendan%mozilla.org
58ec114d26 Fix ALTPREREQ2, it was just plain busted (225289, r=zack-web@gmx.de based on his similar patch). 2003-11-16 21:34:59 +00:00
pschwartau%netscape.com
5e19ce935a Initial add. Regression test for bug 225831, by igor@fastmail.fm. 2003-11-16 00:04:18 +00:00
pschwartau%netscape.com
059637f8b3 Correcting another error (I believe; see bug 209919 comment 14). 2003-11-15 23:22:00 +00:00
pschwartau%netscape.com
e19013d947 Fixing more errors in the test - see bug 225289 comment 6. 2003-11-15 23:19:27 +00:00
pschwartau%netscape.com
22ba07905f Fixing an error in the test. 2003-11-15 22:47:03 +00:00
gerv%gerv.net
29cfd51965 Bug 205418 - Relicense Spidermonkey (js/src) to MPL/LGPL/GPL. Patch by gerv; r,a=brendan. 2003-11-15 00:11:16 +00:00
igor%mir2.org
7c4e5d8424 Allow for scripts to catch instances of EvaluatorException 2003-11-14 20:38:06 +00:00
igor%mir2.org
8e546b9047 Transform StackOverflow during parsing into runtime exception so script can detect too deep recursion during parsing. 2003-11-14 20:33:43 +00:00
igor%mir2.org
7c0cff6574 Splitting Token.ASSIGN into Token.ASSIGN and Token.ASSIGNOP where the former represents only = while ASSIGNOP is used to denote +=, -= etc. Parse tree for the 2 operations is rather different and split allowed to simplify IRFactory code. 2003-11-14 16:03:31 +00:00
brendan%mozilla.org
79d99c1c7a Tweak so uneval(-0) == '-0' (r=igor@fastmail.fm). 2003-11-14 03:40:36 +00:00
brendan%mozilla.org
3a340c0519 RegExp().toString and .toSource should return '/(?:)/', not '//' (bug 225550, r=sparky). 2003-11-14 03:23:49 +00:00
mkaply%us.ibm.com
fcba513440 #224487
r=brendan
Os/2 only changes to work around FPU issues. See the bug.
2003-11-14 01:49:37 +00:00
pschwartau%netscape.com
75422d50c1 Removing skips for toSource() and uneval(), now that Rhino has implemented these methods (bug 225465). Adding a comment for skip of js1_5/Regress/regress-192465.js. 2003-11-13 18:39:17 +00:00
igor%mir2.org
2e75448c13 Implementing uneval/toSource functionality of SpiderMonkey. Foe details, see http://bugzilla.mozilla.org/show_bug.cgi?id=225465. 2003-11-13 17:15:31 +00:00
brendan%mozilla.org
e74d5a9b8e Heal a now-bogus assertion under JS_LOCK_OBJ/JS_LOCK_SCOPE. 2003-11-12 22:14:25 +00:00
igor%mir2.org
7d1e5eda47 Passing to decompiler information about function type so it can use it to customize its output in future. 2003-11-12 15:47:50 +00:00
peter%propagandism.org
d4474f74da Part of fix for bug 219848 (Cannot programmatically (JavaScript) set value of HTMLInputElement) - return JS_FALSE when throwing an exception. r=caillon, sr=jst. 2003-11-12 14:19:26 +00:00
igor%mir2.org
f2ba87fed2 Changing Decompiler.decompile to take just encoded source, flag argument controlling output format and property table so it would be possible to add more options to decompiler without changing the rest of code. 2003-11-12 12:22:12 +00:00
igor%mir2.org
e734cecce2 Changing return type of NativeFunction.getEncodedSource() to String from Object since the idea of having anything else but String would require changes in API in any case. 2003-11-12 10:23:53 +00:00
pschwartau%netscape.com
976f1809e1 Initial add. Regression test for bug 225343. 2003-11-11 20:55:59 +00:00
igor%mir2.org
b7d4dfaa28 In ClassFileWriter.addPush(double) use DNEG to generate more compact code for -0.0 and -1.0 2003-11-11 20:31:36 +00:00
igor%mir2.org
f260baaf11 Changing just introduced CodeBlock into Callable that define call method with exactly the same signature as Function.call and changing Function to extend Callable.
Now Context defines new method "call" that provide optimized version of the following code:

Context cx = Context.enter()
try {
    callable.call(cx, scope, thisObj, args);
} finally {
    Context.exit();
}

Since Function extends Callable, it can be passed to this method directly thus simplifying ScriptableObject.call method and Java adapter code.

The new interface is used in SecurityController implementation which allows to pass interpreted functions there directly as well removing the need to have intermediate class in Interpreter.
2003-11-11 20:30:08 +00:00
igor%mir2.org
dd1efd374f Extend constant folding to cover few unary operations 2003-11-11 20:18:34 +00:00
igor%mir2.org
12c1d23434 1. Make sure that -0.0 from parser are treated properly: new constant folding code there may produce it.
2. Instead of generating code to call Double constructor use the new method OptRuntime.wrapDouble() that allows to cut amount of produced byte code.
2003-11-11 20:04:38 +00:00
jshin%mailaps.org
eabe319067 bug 44272 : make escape/unescape (in DOM) correctly work with the full range of Unicode chars. (by making it use JSengine version) (r=brendan/bz, sr=bz) 2003-11-11 17:59:54 +00:00
pschwartau%netscape.com
6414dc4d64 Correcting mistakes, and changing style. 2003-11-11 05:21:26 +00:00
pschwartau%netscape.com
c8372729aa Initial add. Regression test for bug 225289. 2003-11-11 04:56:52 +00:00
brendan%mozilla.org
24e5990b0c Remove JS_UnsealObject, optimize locking of sealed objects, shrink JSContext by two JSArenaPool members (224306, r=shaver). 2003-11-11 01:28:17 +00:00
igor%mir2.org
8313023fae Patch from Dave Russo to wrap arguments array properly: the code has to allocate new Object[] array since Context.newObject needs instances of Object[], not SomeObjectSubclass[], to work properly. 2003-11-10 02:18:11 +00:00
igor%mir2.org
44c6535ad4 Check in Context.newArray(Scriptable scope, Object[] elements) that elements is instance of Object[] and not SomeObjectSubclass[] to expose broken usage of newArray as soon as possible. 2003-11-10 02:14:37 +00:00
brendan%mozilla.org
a602059a69 Revise js_DecompileValueGenerator assertion in light of JS_HAS_NO_SUCH_METHOD. 2003-11-09 20:31:16 +00:00
brendan%mozilla.org
6ccc5150bf Restore long-lost obj=null setting so null() etc. (calling primitive-type values) fails as expected, instead of crashing (224956, r=shaver). 2003-11-09 03:58:48 +00:00
pschwartau%netscape.com
1ecac41a94 Adding one more section. 2003-11-08 23:02:59 +00:00
pschwartau%netscape.com
cc191541bb Adding more sections. 2003-11-08 22:54:19 +00:00
pschwartau%netscape.com
df02e5884f Removing a stray comment. 2003-11-08 22:50:27 +00:00
pschwartau%netscape.com
f584a9af35 Initial add. Regression test for bug 224956. 2003-11-08 22:48:54 +00:00
brendan%mozilla.org
841034e384 Atomize rt->emptyString so '' constants all share it. 2003-11-08 18:54:33 +00:00
pschwartau%netscape.com
0865e526f2 Correcting a mistake in this testcase, discovered by zack-weg@gmx.de. The left and right parens were not balanced! 2003-11-07 22:47:34 +00:00
igor%mir2.org
dc34ed3dc1 Changes in Security API: using CodeBlock interface instead of reusing Script to represent code that should be executed with different domain. 2003-11-07 22:29:59 +00:00
igor%mir2.org
49ffeac3df New interface to refer to code executed with a particular context and arguments. 2003-11-07 22:28:22 +00:00
igor%mir2.org
6006898229 1. Removal of very recently introduced hideFromContextListeners: it was a wrong solution to the problem of running scripts under independent Context instances on the same thread.
2. Optimization of Context.enter()/Context.exit() when ThreadLocal is available:
Store Context[1], not Context in the variable so  Context.enter()/Context.exit() would need to access ThreadVar only once and then update the reference.
2003-11-07 22:24:53 +00:00
igor%mir2.org
5b675f523e Added setDouble, setString that are used in IRFactory during constant folding 2003-11-07 22:18:49 +00:00
igor%mir2.org
8eb8104ae7 Move all contant folding logic to IRFactory where it simpler to do and possible to reuse tree nodes during folding. 2003-11-07 22:17:54 +00:00
timeless%mozdev.org
9e6299130e Bug 222056 Integrate warning fix from Adobe for e_pow.c and e_sqrt.c
Patch by Adobe rs=brendan
2003-11-07 19:46:29 +00:00
pschwartau%netscape.com
b0748544ba 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
c6e98c8a21 Rearranging code to make style consistent with other tests in this directory. 2003-11-07 18:00:09 +00:00
igor%mir2.org
7ed29ee5a5 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
94cdb231a3 Initial add. Regression test for bug 224676. 2003-11-05 04:08:11 +00:00
igor%mir2.org
d7d991d76f 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
4da147d828 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
4c338669a9 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
6cbd10e41c JavaDoc @link fixes 2003-11-04 14:49:20 +00:00
igor%mir2.org
da6b0bef31 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
cd582ddebe 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
8349b3ea49 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
7d26c9eb27 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
80c54a080a 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
bef3bd17c6 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
2c30bb423d Added Kit.makeHashKeyFromPair to make combined key for hashtables from 2 objects 2003-11-03 18:04:27 +00:00
brendan%mozilla.org
2e7b972ae2 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
1156b9ae73 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
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