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

3895 Коммитов

Автор SHA1 Сообщение Дата
nboyd%atg.com e2e4c983c5 Fix broken link 2001-09-13 13:49:23 +00:00
brendan%mozilla.org 567e35c2fc 1. Fix jsdhash/pldhash.[ch] so that add/remove cycles for a given k do not
create a long chain of removed sentinels.  Also, when adding k to a table
    where k is not mapped, but where k hashes to a chain that includes removed
    sentinels, recycle the first removed sentinel in the chain for k's entry.
2.  Cache cx->resolving till js_DestroyContext, to avoid high JSDHashTable
    new/destroy overhead in js_LookupProperty.
3.  Add NS_TraceStack to nsTraceMalloc.[ch] and clean the .c file up a bit.
2001-09-12 06:39:31 +00:00
cls%seawood.org 3c7bd216d1 Make generated header use common install rules.
Bug #59454 r=bryner sr=alecf
2001-09-12 06:35:50 +00:00
blizzard%redhat.com 7576f9d61f Checking in for Ulrich Drepper. Bug #99246. r=beard, sr=brendan 2001-09-12 03:19:08 +00:00
pschwartau%netscape.com d4c99c8495 Trivial whitespace cleanup. 2001-09-10 23:16:43 +00:00
pschwartau%netscape.com 09feb18343 Initial add. Regression test for bug 97921. 2001-09-10 23:05:12 +00:00
alecf%netscape.com fed01025f6 add REQUIRES support to jpeg, sun-java, db, etc.. b=98371 r=cls 2001-09-10 20:48:38 +00:00
pschwartau%netscape.com 7c3e22cebb Trivial change to comment and whitespace. 2001-09-08 18:58:40 +00:00
rginda%netscape.com 880eefc8dd bug 95534, r=brendan, sr=jband
fix semantics of JSTRAP_CONTINUE to prevent a debugger client from telling the engine to continue when we all know it'll proobably just crash.
2001-09-06 21:46:18 +00:00
jband%netscape.com 61deed876d fix bug 96511. Meant #ifdef not #if. sr=brendan r=jband 2001-09-06 19:01:17 +00:00
nboyd%atg.com 06f9b8d505 patch (with my modifications) from jj@mail.ahc.umn.edu:
It would be nice if the rhino shell would accept a URL as the source
for javascript.

I've added this feature to my local copy so that I can launch rhino
with js scripts using  JavaWebStart.

Below is a context diff of the changes I made to
toolsrc/org/mozilla/javascript/tools/shell/Main.java
2001-09-06 16:53:29 +00:00
jband%netscape.com 3c797dd762 fix bug 98450. We need to be calling OBJ_DROP_PROPERTY after OBJ_LOOKUP_PROPERTY. Also, this was refactored on dbradley's suggestion. sr=brendan r=dbradley 2001-09-06 06:29:19 +00:00
rginda%netscape.com e9ca148ce0 - venkman only -
init xpconnect on the debugger's default context so that xpconnect can use it when it has to.  r=jband
2001-09-06 01:34:44 +00:00
pschwartau%netscape.com afc220c663 Trivial whitespace fix. 2001-09-05 23:35:07 +00:00
pschwartau%netscape.com 62b2092a4a Completely rethinking this testcase. Reduced test as much as possible, added try...catch blocks and for-loop to stress-test the code. 2001-09-05 23:21:33 +00:00
rginda%netscape.com 39d53b3512 - venkman only -
turn off verbose debugging for me
push a thread event queue for necko before we enter a nested event loop
2001-09-05 21:29:59 +00:00
jband%netscape.com 5d806fa79e fix bug 97444. It is not good to patch a different fun into the frame. Let's safely shunt aside the callee frame instead. r=rogerl sr=brendan 2001-09-05 21:25:09 +00:00
pschwartau%netscape.com 7358d0981f Improved accuracy of test, and added more cases. 2001-09-05 21:15:43 +00:00
pschwartau%netscape.com 10122c88ea Adding comment regarding regress-97646-001-n.js, regress-97646-002-n.js 2001-09-05 17:47:11 +00:00
pschwartau%netscape.com aed121b5e2 Correcting comments at top of file, plus bug and summary values. 2001-09-05 17:13:14 +00:00
pschwartau%netscape.com 9c77981572 Correcting date at top of file. 2001-09-05 17:03:32 +00:00
pschwartau%netscape.com 8136f6b92e Correcting comments at top of file, plus bug and summary values. 2001-09-05 17:01:03 +00:00
nboyd%atg.com 50ad4bd8ea Patch from Igor. 2001-09-05 16:54:37 +00:00
nboyd%atg.com 9d84f0c42f Patch from jeffh@aiinet.com:
There is a bug in the JavaMembers class called to wrap a Java object.

In JavaMembers.lookup(), code was added to override the static type.  The
code works in the case of an Enumeration returning an Object which would
have to be casted to the appropriate type.

The code does not work when the static type is an interface.  In this case,
the interface class is the one which should be reflected, not a parent class
of the dynamic type.  A simple staticType.isInterface() check around the
parent traversal code fixes the problem.

Jeff
2001-09-05 16:52:39 +00:00
nboyd%atg.com 41d71ed1c7 Patch from jeffh@aiinet.com:
I have found a couple problems with running Rhino 1.5R2 in a heavily
multi-threaded environment.  The attached patches fix the problems.

- org.mozilla.javascript.optimizer.InvokerImpl - This class was accessing
the shared classNumber outside of the synchronized block.

- org.mozilla.javascript.optimizer.OptClassNameHelper - The reset method was
not synchronized.  It needs to be because the class using the classNames map
is synchronized and does not handle nulling of the variable while it's
looping on the map.

Jeff
2001-09-05 16:50:26 +00:00
nboyd%atg.com f6c7331ba4 Update for new tests. 2001-09-05 16:48:31 +00:00
pschwartau%netscape.com 465922df4d Initial add. Regression test for bug 98306. 2001-09-05 06:27:25 +00:00
pschwartau%netscape.com f246d1a1ef Skipping two new tests that use non-EMCA functionality: toSource() and uneval(). 2001-09-05 01:07:17 +00:00
pschwartau%netscape.com 5dbc246454 Improved readabilty. Improved accuracy of stripBraces() function. 2001-09-05 00:49:31 +00:00
pschwartau%netscape.com 2a0333d954 This is more accurate. Also using sorting now, for definiteness in comparisons. 2001-09-05 00:46:24 +00:00
pschwartau%netscape.com 018af54a38 Initial add. Regression test for bug 96284. 2001-09-04 01:54:36 +00:00
brendan%mozilla.org 31817b279f Ignore property found in non-native prototype (12367, sr=jband&shaver, a=asa). 2001-09-03 22:29:12 +00:00
brendan%mozilla.org bbc01b505e Fix toSource on exception objects so it uses toSource to generate properly-quoted, embedded string literals for message and filename (bug 96284, r=jband, sr=shaver, a=asa). 2001-09-03 19:36:24 +00:00
rginda%netscape.com f0a0f92d2a bug 88130, patch=jband, r=me,dbradley, sr=jst, a=brendan
clear exception state before and after calling out via xpconnect.
remove redundant exception clear from CallQueryInterfaceOnJSObject.
2001-09-01 22:47:47 +00:00
rginda%netscape.com 0a3c92841d -- not built --
exposing call hook functionality
2001-09-01 18:03:53 +00:00
rginda%netscape.com ae3da0ea95 -- not built --
whitespace cleanup
2001-09-01 18:01:28 +00:00
jband%netscape.com 328493fcca fix bug 97555. Need to get the correct value of staep into the iterator object when we fail during enumeration init. r=jst sr=brendan a=asa 2001-08-31 21:48:18 +00:00
brendan%mozilla.org 9e20cb060c Fix 97540, r=rginda, sr=jband, a=asa:
- The most significant fix, to keep JSStackFrame.spbase, the operand stack base pointer for an active frame, null except when there is an operand stack allocated and in use by js_Interpret.  Previously, spbase would point after args and local vars (if any), then advance upon allocation of the (possibly discontiguous) operand stack space.  This made for a fatal ambiguity: js_AllocStack, called by XPConnect, could not tell when there was allocated operand stack space above the frame's sp, which needs to be set to a known (JSVAL_VOID) state for exact GC to work.  Now, the GC doesn't have to mark any operand stack space for a frame whose spbase is null, and js_AllocStack doesn't need to void any unused space for such a frame.

- Fixes to reload the JSRuntime's callHook or executeHook after calling or executing, in case the debugger removes the hook.  In which case, it must clean up any dynamic memory held by hookData, but in any event, in which case the engine must not call the post-call or post-execute hook.

- While debugging with rginda, I was horrified to see his trivial testcase function, expressed as a lambda, fail to be invoked using the "inline_call" machinery in js_Interpret (which avoids js_Interpret recursion through js_Invoke for most JS functions).  The problem was a test of fun->flags == 0 conditioning the /* inline_call: */ code.  Since that test was written, at least one JSFUN_* flag (JSFUN_LAMBDA, used only for pretty-printing or accurate decompilation) has been added.  But all along, that test was an over-optimization (testing against 0 without &'ing certain flags), making for an accident waiting to happen -- which did happen.  The relevant flags are JSFUN_HEAVYWEIGHT (set by the compiler when a function calls eval, uses with, or otherwise needs an activation object for its scope; if lightweight, the compiler can see the function's scope and eliminate it via specialized bytecodes) and JSFUN_BOUND_METHOD (for Java method calls, where |this| binds statically to the instance, not dynamically to the calling expression reference's base object, as in JS).
2001-08-31 21:25:26 +00:00
pschwartau%netscape.com 4dd88ab2c3 Corrected testcase so it will work in Rhino as well as SpiderMonkey. 2001-08-31 06:10:13 +00:00
pschwartau%netscape.com 7b9d482301 Initial add. 2001-08-30 19:55:05 +00:00
pschwartau%netscape.com dc8604dbe6 Trivial whitespace change. 2001-08-29 23:34:32 +00:00
pschwartau%netscape.com 59911a2c6c Initial add. 2001-08-29 23:20:16 +00:00
pschwartau%netscape.com 2679f13749 Removed a few hundred || conditions. See comment 2001-08-29 12:00 in bug 89443. 2001-08-29 20:37:58 +00:00
pschwartau%netscape.com a73b0023ad Adding skips for two tests employing the non-ECMA toSource() and uneval() functions. 2001-08-29 06:14:38 +00:00
pschwartau%netscape.com 2f11c773f9 Initial add. 2001-08-29 05:59:52 +00:00
rginda%netscape.com bc31e2e0ee - not built -
spruce up some comments
added, then comented out, jsdIDebuggerService::filterGlobalObject
2001-08-28 22:03:44 +00:00
rginda%netscape.com 7013f31b75 - not built -
whitespace tweakage
2001-08-28 22:02:28 +00:00
rginda%netscape.com 84e05c27ce - not built -
don't allow gc's during script hooks if CAUTIOUS_SCRIPTHOOK is defined (which it is, by default.)  Should help with stability until we can fix the real problems.
Use JSVAL_ macros instead of JSD_* calls in jsdValue::GetJSType method, avoiding two c++ frames per call.
2001-08-28 22:02:07 +00:00
rginda%netscape.com fe16ecaba4 - not built -
modeline fix
2001-08-28 21:59:53 +00:00
jband%netscape.com 017dc00df7 fix bug 96725. Avoid infinite recursion in call to QI'd xbl binding by avoiding the mutation of the interface set when the object implementing the interface is a wrappedJS around our wrappedNative's own JSObject. r=dbradley sr=hyatt a=brendan,hyatt,jband 2001-08-28 21:52:10 +00:00
pschwartau%netscape.com 136329a960 Adding two new utility functions. 2001-08-28 21:13:58 +00:00
thesteve%netscape.com 9b65355f4e Bug#81373 (mac static build)
fixed up access paths: get rid of :::dist:client[_debug]
r=jfrancis
sr=sfraser
a=asa on behalf of drivers
2001-08-27 23:45:59 +00:00
pschwartau%netscape.com c5f78027d9 Punctuation correction in comment. 2001-08-27 22:57:25 +00:00
pschwartau%netscape.com 8fe6b649b9 Initial add. 2001-08-27 22:55:57 +00:00
pschwartau%netscape.com 36f454c6cc Some RegExp bugs have now been fixed in Rhino. Removing the testcases from the skip list. 2001-08-27 19:58:56 +00:00
rogerl%netscape.com 43c0ad4889 Port of performance fixes from Monkey (see bug #85721).
Also, fixes for :
#91343, (non-latin1 fails for [\S])
#78156, (Unicode line terminator matching)
#87231, (/(A)?(A.*)/ didn't reset paren state for empty first match)
2001-08-27 18:03:19 +00:00
rjesup%wgate.com 21a61a2079 Bug 94243: VoidArray usage patch. a=asa sr=brendan r=waterson r=bienvenu
r=pierre r=jband/dbradley  Also fixes some whitespace issues.
2001-08-27 06:15:54 +00:00
pschwartau%netscape.com 30335fcc53 Technical change. Now test is accurate for Rhino as well as SpiderMonkey. 2001-08-25 05:01:50 +00:00
nboyd%atg.com c77209137f Original problem in following mail. I implemented JDK1.1 compatibility and performance
improvements:

Subject:
        Rhino: Problem in NativeJavaMethod
   Date:
        Tue, 14 Aug 2001 10:23:35 +0200
   From:
        felix.meschberger@day.com
     To:
        Norris Boyd <nboyd@atg.com>




Hi Norris,

While working with wrapped Java classes we discovered a problem in
NativeJavaMethod : If the public method to be called is part of a
non-public class, the Sun Java VM throws an IllegalAccessException. This
bug in the Sun VM has been reported as Bug 4071593 to Sun, but has not been
resolved since....

I implemented a circumvention, for which I provide you the patch. I quickly
tested it, and it seems to work.

Regards
Felix

And here's the patch :

diff -w -r1.19 NativeJavaMethod.java
227a228,234
>        /**
>         * Due to a bug in Suns VM, public methods in private
>         * classes are not accessible by default (Sun Bug #4071593).
>         * We have to explicitly set the method accessible beforehand
>         */
>        meth.setAccessible(true);
>

-----------------------------------------------------------------
This message is a private communication. If you are not the intended
recipient, please do not read, copy, or use it, and do not disclose it
to others. Please notify the sender of the delivery error by replying to
this message, and then delete it from your system. Thank you.
The sender does not assume any liability for timely, trouble-free,
complete, virus free, secure, error free or uninterrupted arrival of
this e-mail. For verification please request a hard copy version.

mailto:felix.meschberger@day.com
http://www.day.com

Felix Meschberger
Development
Day Interactive AG
Steinenberg 21-23
4001 Basel
Switzerland

T  41 61 226 98 98
F  41 61 226 98 97
2001-08-24 20:01:49 +00:00
brendan%mozilla.org 858882f465 Check keyword version when scanning, not by installing different keywords on version selection (when starting to compile; bug 96562, r=rogerl, sr=shaver&jband, a=dbaron). 2001-08-24 03:32:31 +00:00
brendan%mozilla.org 33a097cc08 Avoid corrupting backpatch chains by checking for jump offset operand overflow (90445, khanson's patch with minor changes, sr=shaver&me, a=asa). 2001-08-23 02:07:07 +00:00
brendan%mozilla.org 659646c9dd Checking in khanson's patch for bug 85112, based on joemansh@interl.net's algorithm (r=beard, sr=me). 2001-08-22 05:42:16 +00:00
brendan%mozilla.org e398ab1922 Forget to include jsopcode.h. 2001-08-22 05:33:32 +00:00
brendan%mozilla.org c892cc8306 Support ref()++ etc. for native ref (75688) and fix exn_toSource (96284); sr=shaver&jband. 2001-08-22 04:59:28 +00:00
brendan%mozilla.org 218702c3b3 Checking in shaver's patch for bug 78100, adding JS_GetExternalStringGCType (sr=brendan&jband). 2001-08-21 02:53:19 +00:00
dbaron%fas.harvard.edu 716f9f4695 Replace uses of deprecated NS_IMPL_ISUPPORTS and NS_IMPL_QUERYINTERFACE macros with NS_IMPL_{ISUPPORTS,QUERYINTERFACE}{1,0}. r=jag rs=brendan b=45797 2001-08-21 01:48:11 +00:00
nboyd%atg.com d60e950169 Subject:
Rhino: Problem in NativeJavaMethod
   Date:
        Tue, 14 Aug 2001 10:23:35 +0200
   From:
        felix.meschberger@day.com
     To:
        Norris Boyd <nboyd@atg.com>




Hi Norris,

While working with wrapped Java classes we discovered a problem in
NativeJavaMethod : If the public method to be called is part of a
non-public class, the Sun Java VM throws an IllegalAccessException. This
bug in the Sun VM has been reported as Bug 4071593 to Sun, but has not been
resolved since....

I implemented a circumvention, for which I provide you the patch. I quickly
tested it, and it seems to work.

Regards
Felix
2001-08-17 14:29:48 +00:00
brendan%mozilla.org dc5af729b7 Don't resolve standard classes if JSRESOLVE_ASSIGNING (NOT PART OF BUILD). 2001-08-17 10:40:15 +00:00
brendan%mozilla.org 51f1612008 Checking in khanson's patch with whitespace cleanups for bug 89443, to avoid stack overflow on too many || operators in one expression (r=rogerl, sr=me). 2001-08-17 10:29:59 +00:00
brendan%mozilla.org a384e4fdb8 Shrinking realloc can fail (95517, basic patch from epstein@tellme.com, r=brendan, sr=jband). 2001-08-17 09:56:48 +00:00
sfraser%netscape.com aaa47c9450 Project cleanup, rs=scc. Fix one or more of access paths, linking with the correct startup library, and unnecessary linkage. 2001-08-17 01:28:47 +00:00
jband%netscape.com 5192d92ebf fix bug 94752. Let xpconnect decide when to call JS_DestroyContext. It sometimes needs to defer the call until JS code running on the context is finished. r=dbradley sr=jst 2001-08-15 04:49:09 +00:00
pschwartau%netscape.com 6dfd5a7948 Removing skip for ecma_3/String/regress-83293.js. The testcase was incorrect, and is now corrected. 2001-08-14 18:28:57 +00:00
pschwartau%netscape.com 8fbd04fe28 Making extensive corrections. Testcase had not conformed to ECMA-262 Final Edition. 2001-08-14 18:02:56 +00:00
pavel%gingerall.cz c880a69b75 Context typemapping changed 2001-08-14 13:09:43 +00:00
cls%seawood.org 8405a1984e Use NS_PTR_TO_INT32 macros to do 64-bit safe pointer conversions.
Bug #20860 r=Roland.Mainz@informatik.med.uni-giessen.de sr=brendan@mozilla.org
2001-08-14 07:59:59 +00:00
pschwartau%netscape.com e50d864d59 Adding new case to the test. 2001-08-13 19:38:18 +00:00
nboyd%atg.com ade00af942 Fix 95101. 2001-08-13 18:33:25 +00:00
pschwartau%netscape.com 6cbad45cc8 Initial add. 2001-08-13 18:05:42 +00:00
nboyd%atg.com 4f24a67646 Subject:
[Fwd: Rhino 1.5.2 bug in debug support?]
        Date:
             Sun, 12 Aug 2001 14:13:26 -0700
       From:
             Christopher Oliver <coliver@mminternet.com>
 Organization:
             Primary Interface LLC
         To:
             nboyd@atg.com




Hi Norris,

Did you or are you fixing this problem?  It seems to be simply a matter
of filtering out -1 before inserting line numbers into the
lineNumberTable.  In this particular case the Parser generates -1 as a
line number for (? : ) in IRFactory.createTernary().  However the recent
changes to InterpreterData to use UintMap instead of Hashtable will not
tolerate negative numbers.  Changing Interpreter.updateLineNumber() and
InterpreterData.getOffset() to check for negative line numbers (and
avoid generating line number code or accessing the lineNumberTable in
that case) will correct the problem.

Chris


      Subject:
             Rhino 1.5.2 bug in debug support?
        Date:
             8 Aug 2001 12:47:28 -0700
       From:
             d-russo@ti.com (dave russo)
 Organization:
             http://groups.google.com/
 Newsgroups:
             netscape.public.mozilla.jseng



I'm getting the following exception when running the Rhino debugger.

java.lang.RuntimeException
        at org.mozilla.javascript.UintMap.check(UintMap.java:349)
        at org.mozilla.javascript.UintMap.put(UintMap.java:158)
        at
org.mozilla.javascript.Interpreter.updateLineNumber(Interpreter.java:234)
        at
org.mozilla.javascript.Interpreter.generateICode(Interpreter.java:300)
        at
org.mozilla.javascript.Interpreter.generateICode(Interpreter.java:926)
        at
org.mozilla.javascript.Interpreter.generateICode(Interpreter.java:302)
        at
org.mozilla.javascript.Interpreter.generateICode(Interpreter.java:302)
        at
org.mozilla.javascript.Interpreter.generateICode(Interpreter.java:302)
        at
org.mozilla.javascript.Interpreter.generateICodeFromTree(Interpreter.java:89)
        at
org.mozilla.javascript.Interpreter.generateFunctionICode(Interpreter.java:186)
        at
org.mozilla.javascript.Interpreter.generateNestedFunctions(Interpreter.java:164)
        at
org.mozilla.javascript.Interpreter.generateScriptICode(Interpreter.java:124)
        at org.mozilla.javascript.Interpreter.compile(Interpreter.java:78)
        at org.mozilla.javascript.Context.compile(Context.java:1810)
        at org.mozilla.javascript.Context.compile(Context.java:1735)
        at org.mozilla.javascript.Context.compileReader(Context.java:852)
        at org.mozilla.javascript.Context.evaluateReader(Context.java:770)
        at org.mozilla.javascript.tools.shell.Main.evaluateReader(Main.java:300)
        at org.mozilla.javascript.tools.shell.Main.processFile(Main.java:290)
        at org.mozilla.javascript.tools.shell.Main.processSource(Main.java:244)
        at org.mozilla.javascript.tools.shell.Main.exec(Main.java:104)
        at org.mozilla.javascript.tools.debugger.Main.main(Main.java:3156)


I'm using Rhino 1.5.2 prerelease
(ftp://ftp.mozilla.org/pub/js/rhino15R2pre.zip) and SUN's JDK 1.3.1
runtime for Windows.

I'm running the debugger as follows:
java -cp js.jar org.mozilla.javascript.tools.debugger.Main -f tconfini.tcf

Where the file tconfini.tcf is shown below:

function getBoard (defFile) {
    if (arguments.length > 0 ) {
        return (defFile != null ? defFile[1] : null);
    }
    return (null);
}

Any help would be appreciated.  Thanks!

dave
2001-08-12 22:56:33 +00:00
val4%cornell.edu ca655b463f Attempt to build on Unix 2001-08-11 04:57:50 +00:00
brendan%mozilla.org 2c41cd80a0 JSOP_BINDNAME needs JOF_SET flag for JSRESOLVE_ASSIGNING to be imputed (94631, r=shaver, sr=jband). 2001-08-10 23:57:07 +00:00
dbradley%netscape.com c473de394e Bug 88130: XPConnect disturbs exception state of the call-context. This is jband's patch to reorder calls and fix whitspace. r=rginda, sr=jst 2001-08-10 19:23:39 +00:00
dbradley%netscape.com 7205c461fc Bug 93790: xpconnect does not correctly reflect nsIClassInfo interface. r=dbradley, sr=jst, patch by jband 2001-08-10 14:13:17 +00:00
brendan%mozilla.org 1594424103 Check in balleysson@bigfoot.com's patch to avoid a redundant js_strlen (87271, r=shaver, sr=brendan). 2001-08-10 08:02:25 +00:00
brendan%mozilla.org dd1c5e601e Fix useless expression elimination to work with native-function-called JS_EvaluateScript (87271, r=rogerl, sr=jband). 2001-08-10 07:55:17 +00:00
pschwartau%netscape.com 3cf896c1f5 Adding two new cases to the test. 2001-08-09 23:22:16 +00:00
pschwartau%netscape.com ad1b24bae9 Corrected an error in Section 3 of the test. Improved readability. 2001-08-09 22:56:07 +00:00
pschwartau%netscape.com 73531630b9 Initial add. 2001-08-09 19:55:49 +00:00
brendan%mozilla.org 138a297e1f Shrink principals struct back to where it was last week -- but it could go further (93043, r=shaver, sr=jst). 2001-08-09 01:15:57 +00:00
pschwartau%netscape.com 34f4e77fdc Initial add. Tests to skip when testing the JS2 shell. 2001-08-08 21:58:12 +00:00
nboyd%atg.com aa649a28d2 Patches from Igor:
=================================
Rhino: use of Node.get/putIntProperty to store integer values

The patch replaces usage like
        node.putProp(PROPERTY, new Integer(int_value))
        ((Integer)node.getProp(PROPERTY))
by
        node.putIntProp(PROPERTY, int_value)
        node.getIntProp(PROPERTY, defaultValue)
        node.getExistingIntProp(PROPERTY)
to avoid creation of Integer wrapper objects while storing integer
properties in Nodes.

Patch also ads Node.removeProp to explicitly remove Node properties
=================================
The patch changes the type of the first argument of Interpreter.addByte
from byte to int so there is no need to cast int arguments, adds
addShort(int value, int iCodeTop), getShort(byte[] iCode, int pc) to
pack/unpack short values from pc array, replaces calls to
getString(stringTable, byte[] iCode, int pc) by
stringTable[getShort(iCode, pc)] and similar for getNumber

It makes Interpreter.java easy to follow and slightly shrink its class file.
2001-08-08 17:02:56 +00:00
pschwartau%netscape.com 6d88bc2982 Now able to run tests against the JS2 shell (code-named "DikDik"). 2001-08-08 00:12:50 +00:00
brendan%mozilla.org dd56c4b376 Quick followup, my reviewers missed a copy/paste error that's harmless but formally wrong. 2001-08-07 05:32:38 +00:00
brendan%mozilla.org f309276dbb Use a new JSContext option to type context-private data as nsISupports* (82845, sr=jst&waterson). 2001-08-07 05:27:42 +00:00
brendan%mozilla.org 01289b3afb Restore scriptable nsIClassInfo.classID but add fast/C++-only classIDNoAlloc; define and use nsIClassInfo::EAGER_CLASSINFO in caps (93792, sr=waterson&jst). 2001-08-07 03:59:29 +00:00
brendan%mozilla.org eb96838d19 Don't modify state until after realloc succeeds (92810, sr=jband&waterson). 2001-08-07 02:48:10 +00:00
pschwartau%netscape.com 2e2021c5c7 Minor improvement in readability - 2001-08-06 23:53:54 +00:00
nboyd%atg.com acd4cfc058 Try recommitting changes to see if they make it to the web site. 2001-08-03 13:57:05 +00:00
nboyd%atg.com 2093eb03d9 Try to tweak getting the change propagated to the web site. 2001-08-03 13:55:31 +00:00
rginda%netscape.com 366b346fdf remove js_EmitTree call (And friends) because this stuff has already been taken care of by the Statements() call.
See bug 82188
patch=brendan, r=me, sr=jband
2001-08-03 05:20:59 +00:00
rginda%netscape.com 7be0be9140 - not built -
add javadoc comments, remove jsdIScript::isActive, add jasIService::GC()
2001-08-03 05:15:27 +00:00
rginda%netscape.com cd03229855 - not built -
remove isActive attribute from jsdScript (it's the same thing as isValid)
fix bug in jsdValue::GetDoubleValue()
add jsdService::GC()
2001-08-03 05:14:21 +00:00
brendan%mozilla.org cc0ca388ba Mike Epstein's patch to make MAX_INTERP_LEVEL predefinable (93176, r=rogerl, sr=brendan) 2001-08-02 21:31:00 +00:00
dbaron%fas.harvard.edu 76db31a857 Fix leaks of JS runtime service. b=93089 r=shaver, dbradley sr=waterson 2001-08-02 01:58:33 +00:00
nboyd%atg.com a1150a2c0f New version number. 2001-08-01 20:46:46 +00:00
pschwartau%netscape.com 60bc41c155 Improving comments. 2001-08-01 17:43:12 +00:00
pschwartau%netscape.com 4b211d9f09 Adding attribution to jim@jibbering.com 2001-08-01 00:54:44 +00:00
pschwartau%netscape.com e5a14f991f Minor change to comment. 2001-07-31 20:14:30 +00:00
pschwartau%netscape.com 3813e99c60 Adding a new case to the test, from jim@jibbering.com (see bug 92942). 2001-07-31 20:05:26 +00:00
pschwartau%netscape.com e55d001cd6 Correcting an error in the testcase - 2001-07-31 19:47:19 +00:00
brendan%mozilla.org 8c7c819206 FASTLOAD_20010703_BRANCH landing, r=dbaron, sr=shaver. 2001-07-31 19:05:34 +00:00
nboyd%atg.com 17821a452d Update for 1.5R2 release. 2001-07-30 19:30:07 +00:00
nboyd%atg.com 56e795cac7 Update with new bugs unfixed in either engine. 2001-07-30 14:11:18 +00:00
timeless%mac.com 663f2bb3da Bugzilla Bug 92134 Sun Workshop 6 Update 2 _FCS_ fails to build due "jscpucfg" error
by : Roland.Mainz@informatik.med.uni-giessen.de r=cls a=dbaron
2001-07-30 06:44:43 +00:00
pschwartau%netscape.com 1a69e39188 Updated email addresses in the document. 2001-07-27 21:24:49 +00:00
nboyd%atg.com 611d29d7ea Updates for 1.5R2. 2001-07-27 14:12:03 +00:00
nboyd%atg.com 8f2f7d311d Update to test changes. 2001-07-26 19:00:39 +00:00
jaggernaut%netscape.com c14d9c09a1 Bug 86734: Remove NS_WITH_SERVICE. r=dbaron, rs=scc, a=asa 2001-07-25 07:54:28 +00:00
brendan%mozilla.org 1dedfa3257 Fix 3-way deadlock by never nesting rt->gcLock inside rt->setSlotLock (90994, sr=shaver&jband). 2001-07-25 02:43:40 +00:00
radha%netscape.com d6d068c6d4 Partial fix to bug # 40867. Exposes interfaces implemented by nsGlobalwindow to JS. r=rpotts sr=jst, vidur 2001-07-24 22:39:11 +00:00
jaggernaut%netscape.com 4d73a251ab Bug 73353: clean up the REQUIRES lines in Makefiles. 2001-07-23 22:36:12 +00:00
waldemar%netscape.com 299252d49c Moved to mozilla/js2/semantics 2001-07-21 02:11:56 +00:00
cls%seawood.org fd1695ac66 Update REQUIRES for jsd 2001-07-20 05:33:34 +00:00
pschwartau%netscape.com e96b46a40f Changing test since bug 90551 has been marked WONTFIX. 2001-07-19 23:46:23 +00:00
brendan%mozilla.org 49172d3f7f Drop scope property after holding, even if SPROP_GET/SET failed (90597, r=hyatt, sr=waterson). 2001-07-19 23:08:10 +00:00
pschwartau%netscape.com 0423b4566d Added another section to the test. Improved comments. 2001-07-18 22:34:37 +00:00
rogerl%netscape.com 4b108540cb Added fdlibm_ns to build, stopped warnings from formmatter.h 2001-07-18 22:34:09 +00:00
pschwartau%netscape.com 00297682e8 Adding a comment. 2001-07-18 21:49:16 +00:00
pschwartau%netscape.com b0b001d206 Whitespace cleanup. 2001-07-18 21:42:24 +00:00
pschwartau%netscape.com 2062257324 Initial add. Regression test for bug 72964. 2001-07-18 20:30:21 +00:00
pschwartau%netscape.com 521b8e3fd9 Initial add. 2001-07-17 21:48:28 +00:00
jst%netscape.com 91fe7ab7e7 Fixing bug #87389 This refreshes prototypes when classes are initialized on the context (Page transition) to prevent changes to prototypes from persisting across document loads. r=dbradley@netscape.com, sr=jst@netscape.com, patch by jband and dbradley (dbradley checking in from jst's account) 2001-07-17 06:20:37 +00:00
av%netscape.com a2bc907cd6 Backing out existing fix for 87193 -- r=mstolz, sr=shaver, attinasi 2001-07-17 02:24:16 +00:00
pschwartau%netscape.com 389723e5e5 Initial add. 2001-07-16 23:40:35 +00:00
bryner%uiuc.edu 4abe07430f Fixing BeOS bustage - use uint32 instead of u_int32_t. 2001-07-16 06:04:25 +00:00
bryner%uiuc.edu be5a231685 Bug 83388 -- dialogs (and probably other things) broken when using -O2 on gcc 2.96 due to js code that was unsafe for alias optimization. r=drepper@cygnus.com, sr=brendan. 2001-07-16 05:02:10 +00:00
dbaron%fas.harvard.edu bf82abfd11 Header include dependency cleanup. b=64023 r=jag rs=brendan 2001-07-16 02:40:48 +00:00
pschwartau%netscape.com 0cd8722f82 Initial add. 2001-07-15 23:01:19 +00:00
nboyd%atg.com 7ab6840f1c Subject:
Re: Rhino 1.5R2 release candidate
        Date:
             Fri, 13 Jul 2001 22:52:43 -0700
       From:
             Christopher Oliver <coliver@mminternet.com>
 Organization:
             Primary Interface LLC
         To:
             Norris Boyd <nboyd@atg.com>
  References:
             1




Hi Norris,

Attached are some (final?) changes to the debugger:

- Display NativeCall objects as "[object Call]" in this/locals tree-tables
- Fixed "Go to Function" to highlight the target function in the source
window
- Synchronized ContextListener implementation
- Added slightly more useful tooltips to the tool bar

Note I modified files from today's rhinoTip.zip.  Hopefully they were
identical to those in the cvs release branch.

Chris
2001-07-14 17:17:35 +00:00
brendan%mozilla.org 1cec8d7d58 Fix a bug reported incompletely by 89474: UMR in its_item for it.item() calls (NOT PART OF BUILD). 2001-07-13 17:58:50 +00:00
nboyd%atg.com c97a786c6e Subject:
Rhino: deal with all Throwables in Interpreter.interpret
        Date:
             Thu, 12 Jul 2001 14:27:34 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




The attached patch modifies the catch code in Interpreter.interpret to
catch general Throwable exceptions to allow cleanup after throwing an
Error instance from Context.observeInstructionCount.
===================
Subject:
             Rhino: change of InterpreterData.itsLineNumberTable from Hahstable to
             UintHash
        Date:
             Thu, 12 Jul 2001 15:51:38 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




The patch linetable_patch changes InterpreterData.itsLineNumberTable
from Hahstable to UintHash and debug/DebuggableScript.java to return
int[] array instead of Enumeration. It was run produced via
diff -ru javascript.0 javascript

The patch debugger_patch contains update for
toolsrc/org/mozilla/javascript/tools/debugger/Main.java to reflect above
api changes.
===============================
Subject:
             Rhino: patch not to store VariableTable in InterpreterData
        Date:
             Thu, 12 Jul 2001 16:34:18 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




The patch removes the "VariableTable itsVariableTable" field from
InterpreterData so it would not be stored in
InterpretedFunction/InterpretedScript and could be garbage collected
after interpreter byte code generation is finished. The usage of
theData.itsVariableTable it Interpreter.interpret is replaced by
accessing argNames/argCount fields from the passed NativeFunction.
2001-07-13 13:53:40 +00:00
brendan%mozilla.org d3a49bcb93 Always select JSOP_EVAL for unqualified eval calls (77578, r=rogerl, sr=shaver). 2001-07-13 06:13:56 +00:00
pschwartau%netscape.com 92ee77a1a3 Initial add. Regression test for bug 77578. 2001-07-13 01:29:24 +00:00
pschwartau%netscape.com 45acb5f289 Initial add. Regression test for bug 90445. 2001-07-12 21:55:17 +00:00
pschwartau%netscape.com 4fc2942a77 Initial add. Regression test for bug 89443. 2001-07-12 21:54:27 +00:00
nboyd%atg.com d6253de10c Fix bug:
Subject:
             Fatal error executing in IBM J9 VM
 Resent-Date:
             Mon, 9 Jul 2001 15:35:32 -0700 (PDT)
 Resent-From:
             mozilla-jseng@mozilla.org
        Date:
             9 Jul 2001 15:33:38 -0700
        From:
             bdemchak@tpsoft.com (Barry Demchak)
 Organization:
             http://groups.google.com/
          To:
             mozilla-jseng@mozilla.org
  Newsgroups:
             netscape.public.mozilla.jseng




Hi --

I've encountered an error in either Rhino or the IBM J9 VM's runtime
support -- I'm not sure which -- but the end result is an unhandled
exception. I'm quite willing to believe that it's already been dealt
with. If so, will someone point me to the solution?

I'm using: IBM's J9 on Windows 2000,
           IBM's IDE v1.3 on Windows 2000,
           Rhino v1.5 from mozilla.org

The exception is java.lang.StringIndexOutOfBoundsException.

It occurs in Context.getSourcePositionFromStack just after the call to
RuntimeException.printStackTrace. The code is expecting a code
reference that looks something like "(Example.js:50)" where "50" is
the line number. (I gather that's what the Sun VM returns???)

Instead, J9 is returning a code reference that looks like:
"java.lang.RuntimeException\n\n\n\nStack trace:\n\n
java/lang/Throwable.<int>()V\n\n" etc, etc, etc.

The error occurs because the Colon variable's value is less than the
Open variable's value in Context.getSourcePositionFromStack. When the
s.substring is evaulated, there's a negative string length ... boom.

I've patched an "if" statement in the getSourcePositionFromStack code
so that instead of:

if (c == '\n' && open != -1 && close != -1 && colon != -1)

I have:

if (c == '\n' && open != -1 && close != -1 && colon != -1 && open <
colon && colon < close)

Certainly, there's a better fix, but it's sufficient to keep me going.

So, I have several questions ... being new to open source and this
forum:

1) Is this a real bug ... a real Rhino bug??
2) Has this already been found?
3) Has this already been fixed?
4) If not, what's the proper protocol for reporting it?
5) What's the proper protocol for fixing it?

This shows up *very* quickly when trying to run a script under J9.
When it occurs, Rhino is trying to issue a warning about some shady
JavaScript code.

If this is a real bug and hasn't been fixed, I would infer that there
aren't a lot of people trying to run this under J9. Would that be a
fair statement? If so, can anyone comment as to why that would be??

Thanks!
2001-07-12 00:07:27 +00:00
nboyd%atg.com ab2a261fe7 Subject:
Rhino: Fixes for catch in Interpreter.interpret
        Date:
             Wed, 11 Jul 2001 19:06:46 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




Hi, Norris!

When doing that instruction counting implementation, I managed to mess
up code in the catch statement in Interpreter.interpret.

First for some reason I assumed that for a general RuntimeException the
previous code do not run finally statements but only script catch code.
Of cause this was wrong: that code skipped catch for arbitrary exception
while calling finally.

This is a reasonable behavior especially given the fact that arbitrary
RuntimeException may only arise from, say, bugs, other exceptions should
be wrapped to JavaScriptException.

Second I removed calls to debug.handleExceptionThrown...

The attached patch restores the original catch/finally logic and re-adds
calls to debug.handleExceptionThrown.

I will later update it that catch to handle Error as well to allow
cleanup after throwing an Error instance from
Context.observeInstructionCount , but restoration should go first.

Regards, Igor
2001-07-12 00:06:27 +00:00
pschwartau%netscape.com 6f99ff24eb Initial add. Regression test for bug 49286. 2001-07-11 04:58:04 +00:00
mstoltz%netscape.com 939cbb8680 Checking in bug 87913 for jesse@netscape.com - Allow untrusted scripts
to call Components.manager.autoRefresh, but only with default params.
r=mstoltz, sr=jst.
2001-07-11 04:48:55 +00:00
nboyd%atg.com 332f58b128 Fix bug 49286 "try/catch within JavaScript not working as expected"
Also, accept patches from Igor:

Subject:
             Rhino: UintMap optimization
        Date:
             Fri, 06 Jul 2001 13:14:49 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




Hi, Norris!

Currently omj.Node uses Hashtable to map int property types to
objects/integer. In my opinion this is very inefficient: to store single
int property it creates 5 objects: one for property Hahstable, 2 Integer
wrappers for property/value, array to sore Hahstable slots and Hashtable
slot itself. To fix this I added omj.UintMap class that can map
non-negative integers to objects or integers and modified omj.Node to
use it. The class is a hashtable implementation that uses one int[] and
one Object[] arrays to store keys/values and Object[] array is not
created if the map contains only integers.

To take full advantage of omj.UintMap code has to be modified to use
Node.getIntProp/Node.putIntProp to store int properties, but even in
this form it is a win.

I can provide patches to use Node.getIntProp/Node.putIntProp and UintMap
for InterpreterData.itsLineNumberTable if this is OK.

Regards, Igor
2001-07-10 17:30:16 +00:00
pschwartau%netscape.com 109794b62c Correcting a misattribution, and improving readability. 2001-07-09 01:09:27 +00:00
pschwartau%netscape.com 569a0c0ed0 Initial add. Regression test for bug 89474. 2001-07-08 21:07:23 +00:00
rginda%netscape.com 59afb0f257 remove bogus SAVE_SP before calling debugger hook
sr=brendan,r=shaver,bug=76983
2001-07-06 22:14:24 +00:00
rginda%netscape.com c33c3dad5c save context's exception state before calling a method on a wrapped js.
r=dbradley,sr=shaver,bug=88130
2001-07-06 03:28:07 +00:00
cls%seawood.org 654b132df3 Updating .cvsignore files.
Bug #84824 r=jag
2001-07-06 02:36:37 +00:00
pschwartau%netscape.com 018700f9a5 Improving readability. 2001-07-05 21:00:37 +00:00
rginda%netscape.com 43dfbfdf6d - not built -
remove spaces from non debug definitions of DEBUG_*, bug 89240
2001-07-05 09:06:24 +00:00
nboyd%atg.com 902d9d6552 Date:
Mon, 02 Jul 2001 12:58:44 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




Hi, Norris!

It turned out that in our browser implementation we need to be able to
abort too-long-running scripts. I implemented that for interpreter mode
via instruction counter callback. This callback is called at branch
points after instruction counter reach certain threshold as you
suggested once in mozilla-jseng mail list. The attached patch adds to
Context.java:
        public int getInstructionObserverThreshold() {
                return instructionThreshold;
        }

        public void setInstructionObserverThreshold(int threshold) {
                instructionThreshold = threshold;
        }

        protected void observeInstructionCount(int instructionCount) {}
...
        int instructionCount;
        int instructionThreshold;


where observeInstructionCount is a callback that should be overwritten
in a custom Context to observe execution.

Then as long as instructionThreshold is not 0 modifications to
Interpreter.java increase instructionCount at branches/function
calls/catch blocks and call cx.observeInstructionCount when it reaches
instructionThreshold. I also replaces 3 catch statements in
Interpreter.interpret for EcmaError, JavaScriptException and
RuntimeException by single one to reduce code duplication.

The patch lacks documentation in Context.java but I would add that later
if the patch is ok.

Regards, Igor

==========================


Subject:
        Re: Working for Rhino
   Date:
        Tue, 3 Jul 2001 10:41:42 +0200
   From:
        felix.meschberger@day.com
     To:
        Norris Boyd <nboyd@atg.com>




Hi Norris,

Well, I couldn't wait ;-) Here are my diffs :

   LazilyLoadedCtor: Make class and constructor public for use on my host
   objects
   NodeTransformer : Replace checks for "arguments" by call to
   checkActivationNeeded() in Context
   Context: Add the name list proposed as a hashtable with
   adder/checker/remover methods

Hope this helps. Regards
Felix
2001-07-05 02:08:14 +00:00
jst%netscape.com 1b353f633a Fixing bug 86147. Adding code that does security checks on access to getter and setter functions for properties of DOM objects in JS. Also fixing a JS engine bug that caused problems with the real fix for this bug, the JS engine bug was that a jsid was passed as a jsval to the checkAccess() class hook. r=mstolts@netscape.com, sr=brendan@mozilla.org 2001-07-04 09:44:57 +00:00
pschwartau%netscape.com 0b88d70521 Initial add. 2001-07-04 00:17:36 +00:00
rginda%netscape.com 94f76fe2f3 - not built -
add jsdIEphemeral interface, inherit from it in interfaces that need to.
2001-07-03 22:22:58 +00:00
rginda%netscape.com c9c7dff65b - not built -
move debug object counters and various constructors to jsd_xpc.cpp
add LiveEphemeral struct to reperesent a link in a PRCList of ephemeral objects.
declare jsdIEphemeral interface in objects that need it, add invalidaAll static method to jsdIProperty and jsdIValue.  jsdIObject still needs work.
2001-07-03 22:21:56 +00:00
rginda%netscape.com a69b4d96de - not built -
Large changes to improve the way we deal with our wrappers around js engine structures.  jsdIScript, jsdIStackFrame, jsdIValue, and jsdIProperty interfaces now inherit from a new interface "jsdIEphemeral".  This interface is used to invalidate the wrapper.  Once the wrapper is invalidated, *most* methods throw NS_ERROR_NOT_AVAILABLE, some interfaces, such as jsdIScript, cache important information so that the wrapper isn't utterly useless once it has been invalidated.  The boolean isValid attribute can be used to see if the wrapper is still valid.

factor debug object counters into some simple macros
add new velid assertion macros for the new ephemeral objects
add utility functions for dealing with PR_CLISTs full of ephemeral objects.
invalidate the jsdIFrame after the execution hook completes
move some c/dtors from jsd_xpc.h over here to avoid exposing debug object counters, and repeating some macros
fix incorrectly set out parameter in getValue::GetDoubleValue
2001-07-03 22:19:04 +00:00
nboyd%atg.com 0794dcd8d7 Fix following bug:
Subject:
             Re: Rhino: [[DefaultValue]] missing for Call object
 Resent-Date:
             Mon, 2 Jul 2001 08:52:07 -0700 (PDT)
 Resent-From:
             mozilla-jseng@mozilla.org
        Date:
             Mon, 02 Jul 2001 11:49:59 -0400
        From:
             Norris Boyd <nboyd@atg.com>
 Organization:
             Art Technology Group
          To:
             Christopher Oliver <coliver@mminternet.com>
         CC:
             mozilla-jseng@mozilla.org
  References:
             1




I believe the correct result of the script should be

[object global]
[object Object]
[object global]

The activation object (which goes by the name of "Call" for historical
reasons) should never be the 'this' value in a function call. See "10.1.6
Activation Object" in the ECMA spec.

I'll look at fixing the problem for Rhino. If there's agreement on my
analysis, someone should fix this for Spidermonkey too.

--N

Christopher Oliver wrote:

> Hi,
>
> function a() {
>     function b() {
>          print(this);
>     }
>     this.f = function() {
>          print(this);
>          b();
>     }
>     b();
> }
>
> var a = new a();
> a.f();
>
> Running the above script with SpiderMonkey produces:
>
> [object global]
> [object Object]
> [object Call]
>
> Running with Rhino produces the following exception:
>
> uncaught JavaScript exception: undefined: Cannot find default value for
> object. (line 3)
>
> This is due to a bug in org.mozilla.javascript.NativeCall which doesn't
> implement toString or valueOf or override getDefaultValue.
> However, even after I hacked in an implementation of getDefaultValue in
> NativeCall, Rhino still produces a different result then spidermonkey:
>
> [object Call]
> [object Object]
> [object Call]
2001-07-03 02:19:51 +00:00
pschwartau%netscape.com 33c273f62c Improving readability. 2001-07-03 01:13:23 +00:00
pschwartau%netscape.com 1c32016d6b Fixing bug that prevented -p option from working on the Mac. 2001-07-03 00:40:46 +00:00
pschwartau%netscape.com c2c96e778a Initial add. 2001-07-02 20:43:49 +00:00
nboyd%atg.com 068d578d57 Subject:
Re: Bug in RhinoTip
 Resent-Date:
             Sat, 30 Jun 2001 11:45:38 -0700 (PDT)
 Resent-From:
             mozilla-jseng@mozilla.org
        Date:
             Sat, 30 Jun 2001 20:54:21 +0200
        From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
          To:
             nboyd@atg.com
         CC:
             Christopher Oliver <coliver@mminternet.com>, mozilla-jseng@mozilla.org
  References:
             1




Christopher Oliver wrote:

> Hi,
>
> I noticed the following in today's rhinoTip:
>
> js> throw 100
> js: uncaught JavaScript exception: java.lang.Object@5d601f
>
> js> throw 200
> js: uncaught JavaScript exception: java.lang.Object@5d601f
>
> js> throw i = 100
> js: uncaught JavaScript exception: 100



The attached patch to omj/Interpreter.java fixes that: I forgot to check
for stack[stackTop] == DBL_MARK during throw when implemented
interpreter optimization to minimize number of created Double instances.

I think that example should go to the test suite in a form like:
try { throw 100; } catch (ex) { return ex == 100; }

Regards, Igor
2001-07-02 14:00:00 +00:00
nboyd%atg.com 902c5d3b27 In case of exceptions creating optimizer, just use interpreter. 2001-07-02 13:59:09 +00:00
nboyd%atg.com 95c5391739 More liberal rules for default value conversions for java objects. 2001-07-02 13:58:17 +00:00
nboyd%atg.com 57919785b7 Subject:
Bugfix to Rhino Debugger
        Date:
             Sat, 30 Jun 2001 06:09:44 -0700
       From:
             Christopher Oliver <coliver@mminternet.com>
 Organization:
             Primary Interface LLC
         To:
             nboyd@atg.com




Hi Norris,

Attached is a fix to a problem I encountered with the Rhino debugger.
Apparently some recent changes to the engine broke the debugger because
the debugger wasn't  acquiring a Context before making certain engine
calls like ScriptableObject.getIds().  You can see this by stepping
through the "enum.js" example and expanding the variable "elements".
The below exception trace will be printed on the debugger console.  The
attached file should fix this problem.

Chris

Subject:
             Another fix to VariableModel.java
        Date:
             Sat, 30 Jun 2001 07:33:51 -0700
       From:
             Christopher Oliver <coliver@mminternet.com>
 Organization:
             Primary Interface LLC
         To:
             nboyd@atg.com




Hi Norris,

I modified this file to always call Context.toString() to display a
variable's value in the the tree table.  Previously it only called it
for Scriptables and the toString() method of the object otherwise.  This
caused for example JavaScript "2" to be displayed as "2.0".

Chris
2001-07-02 13:55:20 +00:00
nboyd%atg.com 0ebd8bf7ad Updates from Christopher Oliver. 2001-07-02 13:50:23 +00:00
cls%seawood.org afece37288 Link mozjs before nspr for static irix build.
Thanks to John Mark Vandenberg <johnv@adacel.com.au> for the patch.
Bug #88288 r=cls
2001-07-01 15:02:27 +00:00
cls%seawood.org 52d7838acf Landing static build changes for OS2
Thanks to Javier Pedemonte <pedemont@us.ibm.com> for the patch.
Bug #85283 r=mkaply r=waterson
2001-07-01 12:11:13 +00:00
jaggernaut%netscape.com 03ab87e4a1 Bug 88413: Remove |GetUnicode()| from nsString (and replace it with |get()|). r=dbaron, rs=scc.
This removes all call-sites I can currently fix. Tomorrow I'll try to get someone to checkin my changes to security/ and I'll get some help with the Netscape side of things.

nsString::GetUnicode()'s final death-blow will be dealt soon. Please keep this in mind as you add new code :-)
2001-06-30 11:02:25 +00:00
pavel%gingerall.cz 637bc70a37 JS.pm works correctly 2001-06-29 10:59:32 +00:00
rginda%netscape.com 8eb75f4d0e use file:// url as the filename, instead of the native path, when compiling js components.
for bug 85968.  r=dbradley, sr=shaver
2001-06-29 02:20:48 +00:00
nboyd%atg.com a3b59239d5 Subject:
Rhino: speed optimization in omj/Interpreter.java
        Date:
             Tue, 26 Jun 2001 21:06:56 +0200
       From:
             Igor Bukanov <igor@icesoft.no>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




Hi, Norris!

The attached Interpreter_patch contains a speed optimization patch that
tries to avoid creation of Double objects by keeping a parallel stack
for double values: instead of putting Double to the stack, DBL_MRK is
put and the real value is put to double stack (sDbl). Then when reading
stack with DBL_MRK, the double value from the double stack is used
wrapped to Double object when necessary. In addition local and vars
arrays are merged to stack array.

The attached before.txt and after.txt contain results of typical runs of
mozilla/js/benchmarks/all_bench.js before and after optimization on my
PC: Athlon 650/Red Hat 7.0/JDK 1.3.0 from Sun .

In number of cases the optimization actually slow down the executionby
5-10% (I guess due to the checks for DBL_MRK), but mostly it is a nice
sped up often by factor of 2 ot more with overall optimization win: 267
versus 218 seconds.

I guess it is possible to apply the same optimization to the optimizer
package, but in our browser we use strictly interpreter mode. Also by
changing signature of call/construct methods in Scriptable it is
possible to avoid creation of almost all objects currently allocated
during method calls, but that is for far future.

Regards, Igor
2001-06-28 14:28:19 +00:00
rginda%netscape.com 0dd8228c9c - not built -
Add isValid to jsdIScript
Add jsdIService::isOn
2001-06-28 07:47:22 +00:00
rginda%netscape.com 27a7eb62fc - not built -
declare and initialize new provate members in jsdScript, copy important script properties at jsdScript creation time, so they're around after Invalidate().
2001-06-28 07:47:04 +00:00
rginda%netscape.com b799edc573 - not built -
large changes to fix the following bugs:
82684, crash manually clearing breakpoint
*actually* clearing mValid in jsdScript::Invalidate fixed this one.

85636, assertions on quiting venkman
jsdService::Off now disconnects the hooks into JSD, to avoid calling back into js after that.  It also processes any pending script delete events that occurred during the last GC. The code to process the gPendingScripts list has been factored out of the gc callback.  Processing the dead script list allows us to properly finalize all of the jsdIScript object, which seems to clear up the "gc roots exist at shutdown" assertions.  In effect, these changes get rid of *all* of the jsd related assertions on exit.

Added isOn attribute to jsdIService.
Added isValid attribute to jsdIScript.  We now prefetch appropriate properties from the underlying JSDScript, so that it's available after the script is Invalidate()d

moved jsdService constructor to jsd_xpc.h

Save the runtime passed to OnForRuntime so we can use it to clear the GC Gallback in Off().
2001-06-28 07:46:36 +00:00
pschwartau%netscape.com e95a2f4810 Fixing bug that prevented -p option from working (user-specified path to test directory) 2001-06-25 21:04:02 +00:00
pschwartau%netscape.com 5520e31953 Added more cases to test. Also improved readability. 2001-06-23 19:22:07 +00:00
pschwartau%netscape.com dace71153e Show "$0" for the global match. Also minor changes to improve readability. 2001-06-23 19:21:05 +00:00
pschwartau%netscape.com ff472d876a Minor formatting change - 2001-06-23 00:48:31 +00:00
pschwartau%netscape.com 4add678f0e Initial add. Regression test for bug 87231. 2001-06-23 00:42:39 +00:00
pschwartau%netscape.com 6109e72d80 Replacing a return with a continue. Further readability improvements. 2001-06-23 00:41:58 +00:00
pschwartau%netscape.com 0da67d0c3e Added array-length check. Also improved readability; cleaned up whitespace. 2001-06-22 20:12:01 +00:00
waterson%netscape.com 0877b1a573 Land STATIC_BUILD_20010612_BRANCH, which supports building mozilla with components statically linked into the executable, as well as 'meta modules' that combine components into uber-DLLs. 2001-06-20 20:21:49 +00:00
rginda%netscape.com 8bab34f5a1 bug 85355, XPCWrappedNative::ToString should sometimes yield '[object Foo]'. patch=dbradley, r=beard+me, sr=jst, a=dbaron.
Make .toString print [object <class>] instead of [object wrapped <classname>] for xpc wrapped objects with scriptable info.
2001-06-20 00:04:36 +00:00
rginda%netscape.com 98b375ae0a bug 83864 "Access to Components.interfaces denied sometimes", patch=jband, r=dbradley+mstoltz, sr=jst, a=blizzard
Allow xpc wrappers to be created by default, relying on security checks to happen at call-time instead.
2001-06-19 23:39:30 +00:00
rginda%netscape.com 88cf53654a bug 85572, "Javascript Error for each message sent"; patch=jband, r=me, sr=vidur, a=asa
xpconnect had been printing it's large "js component threw exception" whenever chatzilla's socket code threw NS_BASE_STREAM_WOULD_BLOCK from it's streamprovider (a non-error nsresult, bah.)  This patch adds the exception to the "suppression list", to quiet the debug message.
2001-06-19 22:53:36 +00:00
nboyd%atg.com 6e07ba105c Hi Norris, Simon,
I looked into this somewhat and I noticed the following:

1) There is a bug in Interpreter.java, line 1695. It sets the variable "i" to
the line number of the special call, but overwrites it on line 1699.  It then
passes this value to ScriptRuntime.callSpecial
2) In "generateScriptICode" in Interpreter.java the variable
itsData.itsSourceFile fails to be set to itsSourceFile.  This causes a null
source file name to be passed to handleCompilationDone when "Widget.js" is
compiled.  That is why you
initially see "<stdin>, line 6" when the debugger comes up (the debugger
interprets a null source name as "stdin").  I simply modified it as follows
(this might not be the right thing to do?):

  private InterpretedScript generateScriptICode(Context cx,
                                                  Scriptable scope,
                                                  Node tree,
                                                  Object securityDomain)
    {
        itsSourceFile = (String) tree.getProp(Node.SOURCENAME_PROP);
        itsData.itsSourceFile = itsSourceFile;
        ...

and that corrected the problem.

However there seems to be no way for the debugger to detect that the script
passed to handleCompilationDone() is the argument of an "eval()". So I modifed
NativeGlobal.evalSpecial() to munge the filename to indicate this (by appending
"(eval)" to it).  That way a separate window is created in the debugger to hold
the compiled eval code.  This is probably not be the best way to solve the
problem.

I have attached the files I modified.

Cheers,

Chris

Simon Massey wrote:

> Christopher,
>
> Attached is the code that trips the debugger up. The debugger comes up. You
minimize the console to reveal Widget.js file window. You click 'Go'. The
Widget.js window looses all the code in it and is just replaced by the evaluated
code:
>
>   this.invokedByEval()
>
> The rhino tip I have is rhino15R2pre.zip
>
> I am running it with the command:
>
> start javaw org.mozilla.javascript.tools.debugger.JSDebugger -f Widget.js -f
Main.js
>
> using the JVM:
>
>   java version "1.3.0"
>   Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0-C)
>   Java HotSpot(TM) Client VM (build 1.3.0-C, mixed mode)
>
> on Win2k.
>
> Just in case you are wondering why on earth my code wants to do this, it is
because I want to do some introspection. The real Widget invokes all its methods
that have a particular substring in their names:
>
>         for( key in this ){
>                 if( key.indexOf('reflect') == 0 ){
>                         var evalStr = "this."+key+"()";
>                         eval(evalStr);
>                 }
>         }
>
> Thanks for the great code. I have the real Widget stabilized and am happily
using the debugger on my other files.
>
> Thanks again!
>
> Simon Massey
>
2001-06-19 19:27:21 +00:00
cls%seawood.org 80f526179f Replaced NO_SHARED_LIB & NO_STATIC_LIB with BUILD_SHARED_LIBS, BUILD_STATIC_LIBS, FORCE_STATIC_LIB & FORCE_SHARED_LIB. Added FORCE_USE_PIC.
Changes allow us to have a finer control over which parts of the tree are built with PIC.  Part of the static build branch landing.
Bug #46775 r=mcafee a=leaf
2001-06-18 22:10:38 +00:00
pschwartau%netscape.com 3158f2376d Further improvements to readability. 2001-06-17 23:31:11 +00:00
pschwartau%netscape.com aebee4e4e9 Improved readability. 2001-06-17 23:12:31 +00:00
pschwartau%netscape.com 92a45bd452 Whitespace cleanup - 2001-06-14 19:53:47 +00:00
pschwartau%netscape.com 9e1bf00b31 Adding another case to the test. 2001-06-14 18:27:06 +00:00
pschwartau%netscape.com 722253918d Initial add. Regression test for bug 85880 against Rhino. 2001-06-14 18:03:42 +00:00
nboyd%atg.com 8d04f836a9 Replace instances of append("x") with append('x') on StringBuffers,
removing the need for String object instances.
2001-06-14 17:42:44 +00:00
nboyd%atg.com 5c8e32d7ee Mark deprecated. 2001-06-14 17:40:00 +00:00
nboyd%atg.com 4093e4c66e Subject:
jsdoc.js - added simple support for methods
   Date:
        Thu, 14 Jun 2001 09:12:26 +0100 (GMT Daylight Time)
   From:
        Simon Massey <simon_massey@hotmail.com>
     To:
        <nboyd@atg.com>






First off let me say thanks a lot for rhino. It is a really excellent piece
of software.

I am writing a large piece of js for making Excel2000 htm interactive on IE
and other browser such as Netscape6. Use a alot of code OO using methods
along the lines of:

  /**
   * Constructor
   */
  function Type(x){
   this.x = x;
  }

  /**
   * Method
   */
  Type.prototype.getX = function(){
   return x;
  }

  var type = new Type('a');
  var a = type.getX();

I have added to jsdoc.js so that finds and documents the method
declarations.

Attached is my modified jsdoc.js and a sample of the html that it generates
for the some of our proprietry :-( "Axel" code.

As an aside have you seen the job that www.blox.com have done on making a
dhtml spreadsheet? Bet they wished they could use exceptions in Netscape4!

Looking forward to the production JSDebugger. The tip version is great. It
does however seem to trash the view that it has of a file when an eval call
is made in that file. Is there a work around or will I have to wait till
the production version?

Thanks Again!

Simon Massey
2001-06-14 17:38:37 +00:00
nboyd%atg.com 5aa9da50f6 Fix bug 85880 2001-06-14 17:37:18 +00:00
jband%netscape.com c73c2185e0 fix SunOs bustage with a .get() on AutoMarkingPtr 2001-06-13 02:16:29 +00:00
jband%netscape.com 1f8b2c2a0e fix bug 59751 and bug 84600. This adds an AutoMarkingPtr scheme to protect partially built objects from gc. Also make sure we don't allow JS object to implement non-scriptable interfaces. r=dbradley sr=brendan a=drivers 2001-06-13 01:22:32 +00:00
Xiaobin.Lu%eng.Sun.com cd35552f35 Fix for bug 74482, Calling top.window.close does not work
work done by Nikolay and me
r=beard sr=brendan a=asa
2001-06-13 01:04:29 +00:00
Xiaobin.Lu%eng.Sun.com c67d1554f2 Fix for bug 74482, Calling top.window.close() does not work
Work done by Nikolay and me
r=beard sr=brendan a=asa
2001-06-13 01:03:25 +00:00
nboyd%atg.com 36b0995475 Names should be final. 2001-06-12 20:35:48 +00:00
nboyd%atg.com bb58676d23 Add archive info 2001-06-11 14:16:18 +00:00
pschwartau%netscape.com 8067253b43 Allow user-defined exit codes: fixed bug that was preventing this from working. 2001-06-08 22:05:32 +00:00
Xiaobin.Lu%eng.Sun.com e6c5118a89 Fix for bug 77600
r=beard, sr=brendan, a=blizzard
2001-06-07 16:20:50 +00:00
nboyd%atg.com e676db2096 This adds the hasFeature method to Context and modifies
NativeDate.getYear to use
cx.hasFeature(Context.FEATURE_NON_ECMA_GET_YEAR) for the behavior check.
2001-06-07 16:09:57 +00:00
nboyd%atg.com acc7518ff4 Clean up classloader usage to use the thread's context class loader. 2001-06-07 16:04:33 +00:00
brendan%mozilla.org 76675c4a88 Fix duplicate switch case detector bugs (83532, rogerl's patch, sr=jband, sr=brendan, a=chofmann). 2001-06-06 23:28:29 +00:00
pschwartau%netscape.com e10e3af80d Thanks to rginda, a better fix for the previous issue - 2001-06-06 22:15:13 +00:00
pschwartau%netscape.com 63ac16b5ae Improvement on last patch: make distinction between HTML vs. console failure output. 2001-06-06 16:52:20 +00:00
valeski%netscape.com 221edc8f1a r=chak, sr=vidur, a=tor. 82000. removing unused arg from nsICategoryManager. 2001-06-05 21:25:57 +00:00
pschwartau%netscape.com 574227aab1 Initial add. 2001-06-05 20:56:40 +00:00
pschwartau%netscape.com 84e11af973 Making test a little more demanding - 2001-06-05 20:56:07 +00:00
nboyd%atg.com ea784f1262 Patches from Igor:
-----
The patch adds to NativeArray.put a check for (this == start) so the
length field or a dense array element would not be updated if this !=
start. The following script exposes the problem:


function Test() { }

var array = new Array(0, 0); // Trigger dense mode
Test.prototype = array;

var test = new Test();

array[0] = 1;
test[0] = 2;

print(array[0]); // Should print 1, not 2
-----
When initially I switched NativeDate to use IdScritable, I made
toGMTString just an alias to toUTCString. Later I realized that it could
cause troubles if someone would check Date.prototype.toGMTString.name to
get "toUTCString" so I made the code to allocate a separated IdFunction
to toUTCString. Now when I read ecma 3 appendixes I see that the initial
behavior is what actually Ecma 3 requires. Here is an extract from B.2.6:

The Function object that is the initial value of
Date.prototype.toGMTString is the same Function
object that is the initial value of Date.prototype.toUTCString.

Sometimes doing nothing is the best solution...

The attached patch fixes that and inlines many 1-3 lines functions as
optimization that java compilers typically do not want to do...
2001-06-05 17:39:58 +00:00
pschwartau%netscape.com d884af8a23 Initial add. 2001-06-05 01:28:04 +00:00
pschwartau%netscape.com 4e4e073308 Added two new sections to the test. 2001-06-05 01:26:59 +00:00
jband%netscape.com 8bcfe12fca fix bug 84020 - don't override the context global, bug 83367 - add deferred Release of natives of wrappednatives to avoid nesting into js_AllocGCThing during JS gc, and bug 82274 - fix a little leak (patch from dbradley). sr=jst r=dbradley a=drivers 2001-06-05 00:59:53 +00:00
jband%netscape.com 74861d43ad fix bug 78428 by making sure to use the lesser of the freeslot or nslots value when marking slots. This is necessary because objects can now be in an initial state where the freeslots is a larger number than the nslots - and the actual number of slots in the array. sr=brendan r=beard a=drivers 2001-06-05 00:47:56 +00:00
jband%netscape.com eb2dc0ac61 fix bug 82034 by making wrapped Java objects be not JS natives again but with their own slot accessors. This should bring JS -> Java communication back to life. sr=brendan r=beard a=drivers 2001-06-05 00:39:13 +00:00
cls%seawood.org 86bc6dc2f0 Handle cygwin & mks uname output on win32.
Bug #72154 r=pschwartau@netscape.com a=asa@mozilla.org
2001-06-05 00:08:21 +00:00
nboyd%atg.com 889deca9d4 The patch applies the following optimization to TokenStream:
1. Keyword search via Java Hahstable is replaced by explicit "switch"
code generated by idswitch tool. It not only speed up keyword search and
eliminates all Integer objects created to hold keyword tokens and
corresponding Hahstable structures, but it also reduces code size due to
very poor array initialization support in JVM.

2. It replaces the isXDigit method by xDigitToInt that either converts
its argument to 0..15 or returns -1 if it is not a hex digit and updates
the method usage accordingly The patch updates NativeGlobal.js_unescape
to reflect this usage change.
2001-06-04 13:59:30 +00:00
nboyd%atg.com ca4019b4c8 Have doc reference nested apidocs. 2001-06-04 13:58:51 +00:00
nboyd%atg.com b8ffced8e1 Add skip for bug 83051 2001-06-04 13:55:22 +00:00
pschwartau%netscape.com c03577a1ae Intial add. Regression test for bug 83532. 2001-06-01 23:56:58 +00:00
nboyd%atg.com 85fc99bf0a Add new CounterTest example. 2001-06-01 15:26:45 +00:00
jband%netscape.com dba1ed9468 NOT PART OF ANY BUILD - adding a test case for use in demonstrating a crash to be fixed 2001-05-31 18:13:26 +00:00
nboyd%atg.com 5212ad7996 Patch from Igor:
In the attached patch I added documentation, did some inlining in the
get method implementation to gain some speed and overrode defineProperty
so it plays better with id-based properties.
2001-05-31 14:44:21 +00:00
pschwartau%netscape.com c56a1e84c9 Improving the error-reporting mechanism to include bug number and status lines. 2001-05-31 00:17:45 +00:00
pschwartau%netscape.com 10aacfb805 In this test, it's important to reportCompare() the other cases before the last case is attempted. Do not store results in an array. 2001-05-30 23:29:29 +00:00
pschwartau%netscape.com 085bd92875 Initial add. Regression test for bug 83293. 2001-05-30 22:10:37 +00:00
nboyd%atg.com 1de5242e59 For backwards compatibility keep an old method name used by
Batik and possibly others.
2001-05-30 17:29:42 +00:00
pschwartau%netscape.com ced142b993 Correcting error in InLeapYear() function. 2001-05-29 16:27:45 +00:00
pschwartau%netscape.com cf221b454e Correcting mistake in InLeapYear() function. 2001-05-29 16:22:23 +00:00
pschwartau%netscape.com b09788a482 Correcting mistake in InLeapYear() function. 2001-05-29 16:13:56 +00:00
pschwartau%netscape.com ee7d187c51 Correcting a mistake in InLeapYear() function. 2001-05-29 16:10:58 +00:00
nboyd%atg.com b9dcf29183 Add new FAQ, remove obsolete one. 2001-05-29 15:11:17 +00:00
nboyd%atg.com df6489821e Patches from Igor:
-----
The patch fixes a bug in getIds method where the assignment "result =
tmp" was missed, adds the public method activateIdMap(int maxId) to
IdScriptable and changes setAttributes method not to allow setting of
attributes that are less restrictive then ones returned by
getIdDefaultAttributes. That was supposed to be the case and the patch
makes it explicit.
-----
The patch makes BaseFunction.setImmunePrototypeProperty public so it can
be called from other packages (regexp).
-----
The patch switches NativeRegExp and NativeRegExpCtor to use
IdScriptable. It also changes code in a few places to passes Context and
RegExpImpl directly instead of using Context.getCurrentContext().

The patch also fixes a bug when

for (var i in RegExp) { print(i); }

would not include $1..$9 in the output in violation with Ecma. It was
caused by not overriding ScriptableObject.getIds in
NativeRegExpCtor.
2001-05-29 14:07:49 +00:00
beard%netscape.com fdb1aeffa2 Added mozilla/js/rhino/src/org/mozilla/javascript/BaseFunction.java source file. 2001-05-29 13:48:46 +00:00
pschwartau%netscape.com 45a5bcd3fa Minor whitespace fix. 2001-05-28 22:47:14 +00:00
pschwartau%netscape.com 4e6a345255 Initial add. 2001-05-28 22:46:31 +00:00
nboyd%atg.com a153327987 Patches from Igor:
-----
The patch changes NativeCall to use IdScriptable. This is done mostly
for uniformity with other Native* classes plus it would allow to call
NativeCall.init directly and make NativeCall package private.
-----
The patch changes NativeScript to use id-based properties. Due to
inheritance from NativeFunction, id support requires to take into
account the fact that there are instance ids available from
BaseFunction. This is the reason to use "int prototypeIdShift" instead
of "boolean prototypeFlag" so it can store instance id offset.

The patch updates ScriptRuntime.callOrNewSpecial to check against
IdFunction and not FunctionObject for the Script exec method where it
also add finally clause to make sure that Context.exit would always be
called after Context.enter in the evalScript method.
-----
After converting NativeScript and NativeFunction to use IdScriptable,
they get scope argument directly as a parameter of execMethod call, so
cx.ctorScope is not used any more. The patch removes code to set/unset
cx.ctorScope.
-----
[This patch depends on conversion of NativeScript and NativeCall to use
IdScriptable and the patch to remove access of ctorScope from
FunctionObject]

The patch changes Context.initStandardObjects to call NativeCall.init
and NativeScript.init directly plus it unrolls the lazily initialization
loop. Due to rather poor support of an array initialization in Java byte
code, it actually decreases code size while eliminating are creation of
array object. The patch also removes ctorScope field as unused.
-----
The patch makes sure that ids used by NativeGlobal are visible only in
the object instance that initializes global scope and removes some junk
white space at line ends.
-----
To use the idswitch tool to generate map for strings that can not be
part of Id_ Java identifier like $*, I added code to the tool to look
for "// #string=...#" in the id definition line. The attached README
file also contains some documentation about the tool and should go to
idswitch directory.

The patch was made from toolsrc/org/mozilla/javascript/tools via:
cvs diff -u > idswitch_patch
2001-05-25 13:24:17 +00:00
brendan%mozilla.org e21d5d58c0 - Add a generation number to JSDHashTable that counts entryStore changes due
to grows, shrinks, and compresses.  This helps JS_DHashTableOperate callers
  who hold returned entry pointers to validate those pointers and avoid having
  to re-lookup an entry by its key.
- Balance that addition by removing JSDHashTable.sizeMask, which is induced by
  JSDHashTable.sizeLog2 at the cost of two typically single-cycle instructions.
- Use JSDHashTable.generation in jsobj.c to avoid unsafely dereferencing an
  entry pointer held across calls to JSClass.resolve from js_LookupProperty,
  which may recur and add entries to cx->resolving, growing that table and
  invalidating entry pointers held by earlier js_LookupProperty activations.
(bug 78121, r=jst@netscape.com, sr=jband@netscape.com, a=asa@mozilla.org)
2001-05-25 03:05:38 +00:00
nboyd%atg.com c54775168e Patches from Igor:
----
The patch changes Notification to extend from BaseFunction and adjusts
Context, FunctionObject and NativeScript accordingly.
----
The patch changes BaseFunction.jsConstructor to use the scope argument
passed to execMethod instead of using cx.ctorScope. This argument is
null in this case because when calling execMethod IdFunction.construct
does not set cx.ctorScope because scope is passed to execMethod as argument.
2001-05-24 13:38:12 +00:00