Commit Graph

3776 Commits

Author SHA1 Message Date
brendan%mozilla.org
4e1703cf54 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
55069a4b1a 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
2bad71c89b 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
c2bf0b573d 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
0683215880 Making extensive corrections. Testcase had not conformed to ECMA-262 Final Edition. 2001-08-14 18:02:56 +00:00
pavel%gingerall.cz
e1d4f83235 Context typemapping changed 2001-08-14 13:09:43 +00:00
cls%seawood.org
a3c1dd1b09 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
3c0807c3df Adding new case to the test. 2001-08-13 19:38:18 +00:00
nboyd%atg.com
afe5ac0483 Fix 95101. 2001-08-13 18:33:25 +00:00
pschwartau%netscape.com
e7ab80d369 Initial add. 2001-08-13 18:05:42 +00:00
nboyd%atg.com
61f998bae8 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
c04a3d6833 Attempt to build on Unix 2001-08-11 04:57:50 +00:00
brendan%mozilla.org
9abbf226e2 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
bc3efa22e4 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
466a26d77c 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
d109dc3d71 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
6abf5d1dd4 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
d0f11628fb Adding two new cases to the test. 2001-08-09 23:22:16 +00:00
pschwartau%netscape.com
a39f79907f Corrected an error in Section 3 of the test. Improved readability. 2001-08-09 22:56:07 +00:00
pschwartau%netscape.com
9cb6aa464f Initial add. 2001-08-09 19:55:49 +00:00
brendan%mozilla.org
9e5cfdfda2 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
bdcd5ba11c Initial add. Tests to skip when testing the JS2 shell. 2001-08-08 21:58:12 +00:00
nboyd%atg.com
f6c346cc76 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
dbd534fadb Now able to run tests against the JS2 shell (code-named "DikDik"). 2001-08-08 00:12:50 +00:00
brendan%mozilla.org
68850351e9 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
bb7f3f9cb3 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
49c0102cdf 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
9a460b4ccf Don't modify state until after realloc succeeds (92810, sr=jband&waterson). 2001-08-07 02:48:10 +00:00
pschwartau%netscape.com
489562eb32 Minor improvement in readability - 2001-08-06 23:53:54 +00:00
nboyd%atg.com
e89d7ebdc2 Try recommitting changes to see if they make it to the web site. 2001-08-03 13:57:05 +00:00
nboyd%atg.com
b42e37107b Try to tweak getting the change propagated to the web site. 2001-08-03 13:55:31 +00:00
rginda%netscape.com
78dca2e056 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
5f82a6723b - not built -
add javadoc comments, remove jsdIScript::isActive, add jasIService::GC()
2001-08-03 05:15:27 +00:00
rginda%netscape.com
4bec38f2e7 - 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
5627dc3547 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
6f534f6129 Fix leaks of JS runtime service. b=93089 r=shaver, dbradley sr=waterson 2001-08-02 01:58:33 +00:00
nboyd%atg.com
9e1e01f617 New version number. 2001-08-01 20:46:46 +00:00
pschwartau%netscape.com
f801e2ecf9 Improving comments. 2001-08-01 17:43:12 +00:00
pschwartau%netscape.com
473c2ac5c6 Adding attribution to jim@jibbering.com 2001-08-01 00:54:44 +00:00
pschwartau%netscape.com
19f7f431ea Minor change to comment. 2001-07-31 20:14:30 +00:00
pschwartau%netscape.com
aa725b6658 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
275f729477 Correcting an error in the testcase - 2001-07-31 19:47:19 +00:00
brendan%mozilla.org
dbd7fed5b1 FASTLOAD_20010703_BRANCH landing, r=dbaron, sr=shaver. 2001-07-31 19:05:34 +00:00
nboyd%atg.com
3df003a114 Update for 1.5R2 release. 2001-07-30 19:30:07 +00:00
nboyd%atg.com
a44bfbaa7b Update with new bugs unfixed in either engine. 2001-07-30 14:11:18 +00:00
timeless%mac.com
e962707671 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
2c4e65702e Updated email addresses in the document. 2001-07-27 21:24:49 +00:00
nboyd%atg.com
a0b6deb251 Updates for 1.5R2. 2001-07-27 14:12:03 +00:00
nboyd%atg.com
41a836bef0 Update to test changes. 2001-07-26 19:00:39 +00:00
jaggernaut%netscape.com
e91f8a147e Bug 86734: Remove NS_WITH_SERVICE. r=dbaron, rs=scc, a=asa 2001-07-25 07:54:28 +00:00
brendan%mozilla.org
52f4ef75ac 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
5489eac1e8 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
cb0faab070 Bug 73353: clean up the REQUIRES lines in Makefiles. 2001-07-23 22:36:12 +00:00
waldemar%netscape.com
f43f993809 Moved to mozilla/js2/semantics 2001-07-21 02:11:56 +00:00
cls%seawood.org
c95f2a4a26 Update REQUIRES for jsd 2001-07-20 05:33:34 +00:00
pschwartau%netscape.com
0733c8cb62 Changing test since bug 90551 has been marked WONTFIX. 2001-07-19 23:46:23 +00:00
brendan%mozilla.org
f90032b6ba 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
8a89543e3d Added another section to the test. Improved comments. 2001-07-18 22:34:37 +00:00
rogerl%netscape.com
6303b01730 Added fdlibm_ns to build, stopped warnings from formmatter.h 2001-07-18 22:34:09 +00:00
pschwartau%netscape.com
40cf988765 Adding a comment. 2001-07-18 21:49:16 +00:00
pschwartau%netscape.com
2d58cb38ba Whitespace cleanup. 2001-07-18 21:42:24 +00:00
pschwartau%netscape.com
830f617bd4 Initial add. Regression test for bug 72964. 2001-07-18 20:30:21 +00:00
pschwartau%netscape.com
22b52e59d0 Initial add. 2001-07-17 21:48:28 +00:00
jst%netscape.com
f70ebcaecd 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
3ee52d160b Backing out existing fix for 87193 -- r=mstolz, sr=shaver, attinasi 2001-07-17 02:24:16 +00:00
pschwartau%netscape.com
8105cee9ce Initial add. 2001-07-16 23:40:35 +00:00
bryner%uiuc.edu
6ea11b87bc Fixing BeOS bustage - use uint32 instead of u_int32_t. 2001-07-16 06:04:25 +00:00
bryner%uiuc.edu
006ec96e1e 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
aa4fec2b67 Header include dependency cleanup. b=64023 r=jag rs=brendan 2001-07-16 02:40:48 +00:00
pschwartau%netscape.com
e3f7836a54 Initial add. 2001-07-15 23:01:19 +00:00
nboyd%atg.com
bf90b94ec7 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
a41197782b 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
bd4398308e 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
2822c6166e Always select JSOP_EVAL for unqualified eval calls (77578, r=rogerl, sr=shaver). 2001-07-13 06:13:56 +00:00
pschwartau%netscape.com
dbf7887f5e Initial add. Regression test for bug 77578. 2001-07-13 01:29:24 +00:00
pschwartau%netscape.com
85685006f5 Initial add. Regression test for bug 90445. 2001-07-12 21:55:17 +00:00
pschwartau%netscape.com
0da74e32ad Initial add. Regression test for bug 89443. 2001-07-12 21:54:27 +00:00
nboyd%atg.com
08f4af156e 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
0ee98640dd 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
b401fcb3a4 Initial add. Regression test for bug 49286. 2001-07-11 04:58:04 +00:00
mstoltz%netscape.com
755eb0ae93 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
f7a0fa338c 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
bce61b5cdb Correcting a misattribution, and improving readability. 2001-07-09 01:09:27 +00:00
pschwartau%netscape.com
844089d849 Initial add. Regression test for bug 89474. 2001-07-08 21:07:23 +00:00
rginda%netscape.com
8208d4a257 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
817140e9a0 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
cfce8f4dcc Updating .cvsignore files.
Bug #84824 r=jag
2001-07-06 02:36:37 +00:00
pschwartau%netscape.com
1a7bc2cd74 Improving readability. 2001-07-05 21:00:37 +00:00
rginda%netscape.com
67588ab2bd - not built -
remove spaces from non debug definitions of DEBUG_*, bug 89240
2001-07-05 09:06:24 +00:00
nboyd%atg.com
5e9bc346cb 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
030da7b1b9 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
586ff89371 Initial add. 2001-07-04 00:17:36 +00:00
rginda%netscape.com
5ab2adfee9 - not built -
add jsdIEphemeral interface, inherit from it in interfaces that need to.
2001-07-03 22:22:58 +00:00
rginda%netscape.com
a29db3ffa9 - 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
b96fa36548 - 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
61f8164eba 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
65130fd171 Improving readability. 2001-07-03 01:13:23 +00:00
pschwartau%netscape.com
a9e33f26e5 Fixing bug that prevented -p option from working on the Mac. 2001-07-03 00:40:46 +00:00
pschwartau%netscape.com
a889741b9e Initial add. 2001-07-02 20:43:49 +00:00
nboyd%atg.com
079d7bea96 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
9a8d2c2e41 In case of exceptions creating optimizer, just use interpreter. 2001-07-02 13:59:09 +00:00
nboyd%atg.com
99d9b052fd More liberal rules for default value conversions for java objects. 2001-07-02 13:58:17 +00:00
nboyd%atg.com
b7d911651e 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
ddaaaa90cc Updates from Christopher Oliver. 2001-07-02 13:50:23 +00:00
cls%seawood.org
b0724d0103 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
66d937045b 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
5a6317b8a5 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
9df1ab2d5c JS.pm works correctly 2001-06-29 10:59:32 +00:00
rginda%netscape.com
0e1ad7ad4e 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
a3ebe88fb9 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
6a25bb3258 - not built -
Add isValid to jsdIScript
Add jsdIService::isOn
2001-06-28 07:47:22 +00:00
rginda%netscape.com
19f9333338 - 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
f40fe785c4 - 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
9c7a5c99bf 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
b157dbb66e Added more cases to test. Also improved readability. 2001-06-23 19:22:07 +00:00
pschwartau%netscape.com
a0bd092d95 Show "$0" for the global match. Also minor changes to improve readability. 2001-06-23 19:21:05 +00:00
pschwartau%netscape.com
872b7a18e4 Minor formatting change - 2001-06-23 00:48:31 +00:00
pschwartau%netscape.com
a75120a825 Initial add. Regression test for bug 87231. 2001-06-23 00:42:39 +00:00
pschwartau%netscape.com
5298a496bc Replacing a return with a continue. Further readability improvements. 2001-06-23 00:41:58 +00:00
pschwartau%netscape.com
d44f753a83 Added array-length check. Also improved readability; cleaned up whitespace. 2001-06-22 20:12:01 +00:00
waterson%netscape.com
b74d6e1c8b 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
12ea62d4af 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
6dda9ad7d9 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
5a37561605 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
83d7acfbb7 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
bf5fb48486 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
691e16fb4d Further improvements to readability. 2001-06-17 23:31:11 +00:00
pschwartau%netscape.com
373ea16a0f Improved readability. 2001-06-17 23:12:31 +00:00
pschwartau%netscape.com
1c9b18876e Whitespace cleanup - 2001-06-14 19:53:47 +00:00
pschwartau%netscape.com
5801aec282 Adding another case to the test. 2001-06-14 18:27:06 +00:00
pschwartau%netscape.com
1c13d9e2da Initial add. Regression test for bug 85880 against Rhino. 2001-06-14 18:03:42 +00:00
nboyd%atg.com
114f43ccd6 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
e361382eb3 Mark deprecated. 2001-06-14 17:40:00 +00:00
nboyd%atg.com
2b5795b8f3 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
374c7af66a Fix bug 85880 2001-06-14 17:37:18 +00:00
jband%netscape.com
8c82e35ad2 fix SunOs bustage with a .get() on AutoMarkingPtr 2001-06-13 02:16:29 +00:00
jband%netscape.com
623c123aab 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
49d51102b3 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
0c12dc94c8 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
c6c8d7500a Names should be final. 2001-06-12 20:35:48 +00:00
nboyd%atg.com
bf31ffb5f8 Add archive info 2001-06-11 14:16:18 +00:00
pschwartau%netscape.com
11b72244c8 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
82a75c2a2f Fix for bug 77600
r=beard, sr=brendan, a=blizzard
2001-06-07 16:20:50 +00:00
nboyd%atg.com
665e7e9e9e 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
1e71ac75ba Clean up classloader usage to use the thread's context class loader. 2001-06-07 16:04:33 +00:00
brendan%mozilla.org
3dced335a3 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
1108eb2b5f Thanks to rginda, a better fix for the previous issue - 2001-06-06 22:15:13 +00:00
pschwartau%netscape.com
b72d3721bf Improvement on last patch: make distinction between HTML vs. console failure output. 2001-06-06 16:52:20 +00:00
valeski%netscape.com
5892765fc6 r=chak, sr=vidur, a=tor. 82000. removing unused arg from nsICategoryManager. 2001-06-05 21:25:57 +00:00
pschwartau%netscape.com
8cc759fb23 Initial add. 2001-06-05 20:56:40 +00:00
pschwartau%netscape.com
80f20e863c Making test a little more demanding - 2001-06-05 20:56:07 +00:00
nboyd%atg.com
fb69c14ae4 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
971aeaeabb Initial add. 2001-06-05 01:28:04 +00:00
pschwartau%netscape.com
f553a16ec4 Added two new sections to the test. 2001-06-05 01:26:59 +00:00
jband%netscape.com
2544c71288 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
ea41e651fd 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
6de619c0b1 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
2d4ce763e3 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
8214f675ca 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
1f68a2a9d8 Have doc reference nested apidocs. 2001-06-04 13:58:51 +00:00
nboyd%atg.com
65691a4f92 Add skip for bug 83051 2001-06-04 13:55:22 +00:00
pschwartau%netscape.com
63594bdfb4 Intial add. Regression test for bug 83532. 2001-06-01 23:56:58 +00:00
nboyd%atg.com
9249a305b5 Add new CounterTest example. 2001-06-01 15:26:45 +00:00
jband%netscape.com
e86547342e 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
69580206c7 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
064cfddeff Improving the error-reporting mechanism to include bug number and status lines. 2001-05-31 00:17:45 +00:00
pschwartau%netscape.com
6137d538b5 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
72612b689d Initial add. Regression test for bug 83293. 2001-05-30 22:10:37 +00:00
nboyd%atg.com
1be6c5fc8f 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
bc9dcf60de Correcting error in InLeapYear() function. 2001-05-29 16:27:45 +00:00
pschwartau%netscape.com
2d07cee32a Correcting mistake in InLeapYear() function. 2001-05-29 16:22:23 +00:00
pschwartau%netscape.com
071bfdca3c Correcting mistake in InLeapYear() function. 2001-05-29 16:13:56 +00:00
pschwartau%netscape.com
660421114a Correcting a mistake in InLeapYear() function. 2001-05-29 16:10:58 +00:00
nboyd%atg.com
481aa41f03 Add new FAQ, remove obsolete one. 2001-05-29 15:11:17 +00:00
nboyd%atg.com
8b34980fb3 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
ab5da9f316 Added mozilla/js/rhino/src/org/mozilla/javascript/BaseFunction.java source file. 2001-05-29 13:48:46 +00:00
pschwartau%netscape.com
23f4943fd8 Minor whitespace fix. 2001-05-28 22:47:14 +00:00
pschwartau%netscape.com
708ad8da18 Initial add. 2001-05-28 22:46:31 +00:00
nboyd%atg.com
d589083a1e 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
769e09a93e - 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
c23c5d3729 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
pschwartau%netscape.com
4c787095dc Adding attribution to Mike Epstein, creator of this test. 2001-05-23 23:01:08 +00:00
pschwartau%netscape.com
bd8d3a3346 Initial add. Regression test for bug 82306. 2001-05-23 22:47:48 +00:00
brendan%mozilla.org
3ce3840561 Fix failure to round up in chunked realloc test in AddCharsToURI (82306, r=rginda, sr=scc). 2001-05-23 06:49:19 +00:00
brendan%mozilla.org
80d36b42b2 Add intern help message, caught by epstein@tellme.com (not part of build). 2001-05-23 06:13:13 +00:00
brendan%mozilla.org
8952a0a28f Lazily pin the less likely atoms when resolving standard class names (77861, r=jst, sr=jband). 2001-05-23 04:02:06 +00:00
jband%netscape.com
1f119bd32a fix bug 82220. enumeration of Components.interfaces should only include scriptable interfaces. r=vidur sr=jst 2001-05-23 00:12:04 +00:00
rginda%netscape.com
3fac831047 create a dummy stack frame before calling out to the new-script-hook. The dummy frame prevents the script from being affected by any GC the hook may trigger. See bug 77636. author=shaver, r=me, sr=brendan 2001-05-22 23:57:37 +00:00
brendan%mozilla.org
e46d5f7fc4 Warning abatement (r=polarbear, sr=lumpy). 2001-05-22 23:25:18 +00:00
nboyd%atg.com
0aa0daf081 This patch renames in IdFunction the methodName field into functionName
and ads getFunctionName method to match NativeFunction.
2001-05-22 12:51:21 +00:00
nboyd%atg.com
a388953fef This patch fixes the bug when global With object was set to With
prototype and not With constructor, makes id for constructor property
visible only in a prototype instance and removes the unused scopeInit
function.
2001-05-22 12:51:02 +00:00
nboyd%atg.com
357263c927 The patch adds new class org.mozilla.javascript.BaseFunction as a base
for classes implementing the Function interface and switch
IdFunction.java to use it. The code in BaseFunction to serve as
Function.prototype is not used yet. The patch modifies NativeCall so it
can be used against BaseFunction.

The patch was made from org/mozilla directory via
diff -uN javascript.0 javascript > BaseFunction_patch
2001-05-22 12:50:26 +00:00
scc%mozilla.org
ced4be648e ok, but make this local bustage fix into a global one 2001-05-22 08:43:30 +00:00
scc%mozilla.org
63395b4d88 Fixing AIX/BeOS bustage. The statically determined length of the string was |0|, and on these ports, that was erroneously considered a candidate for conversion to a pointer, which made selection of the appropriate constructor for |nsDependentString| ambiguous ... go figure. 2001-05-22 08:02:58 +00:00
scc%mozilla.org
c9eeb0d1ec Fixing AIX/BeOS bustage. The statically determined length of the string was |0|, and on these ports, that was erroneously considered a candidate for conversion to a pointer, which made selection of the appropriate constructor for |nsDependentString| ambiguous ... go figure. 2001-05-22 07:25:25 +00:00
jband%netscape.com
90b7fefa54 - Fix bug 81341. Force creation of a WrappedJS around the JSObject of
aWrappedNative when doing aggregation. r=dradley sr=jst.
- Fix bug 81877. Avoid infinite recursion when reporting threadsafety
error. r=perterv,dradley sr=jst.
- Fix bug 81882. Use JS_AddNamedRootRT in XPCWrappedNative::AddRef to avoid
the unnecessary cost of creating an XPCCallContext in this frequently called
method. r=dbaron,dbradley sr=jst.
2001-05-21 22:45:14 +00:00
nboyd%atg.com
e4294421c9 This patch changes NativeError.java to store message and name properties
in fields of the object itself instead of using the standard property
hashtable in ScriptableObject.java. This saves 3 object instances per
NativeError (2 slot entries and hashtable array itself) and given the
fact that NativeGlobal defines a few permanent Error instances, it is
visible saving even after taking into account code size increase.

The change also gives a good test of IdScriptable implementation.

-----

This patch introduces the uniform decompile method for NativeFunction
and IdFunction with the signature:

public String decompile(Context cx, int indent, boolean justbody)

instead of NativeFunction.decompile(int indent, boolean toplevel,
boolean justbody) and IdScriptable.toStringForScript(Context cx) and
replaces the special treatment of NativeJavaMethod in
NativeFunction.jsFunction_toString by overriding decompile in
NativeJavaMethod

-----

This patch adds getFunctionName to NativeFunction to return function
name and replaces few places with jsGet_name usage by getFunctionName

The patch was made via
diff -ru javascript.0 javascript > name_patch
from org/mozilla directory
2001-05-21 15:04:54 +00:00
rginda%netscape.com
8a96b5310f - not built -
add enumerateScripts() method to jsdIDebugger service
don't create a new debugger context if the user trys to call on[ForRuntime]() multiple times
2001-05-21 07:18:10 +00:00
rginda%netscape.com
faa84321f8 - not built -
add onForRuntime() method to jsdIDebuggerService to let native code turn on the deubgger (on() can only be called from js)
register an app-start observer so we can turn on the debugger at startup if "js.debugger.autostart" pref is true.
r=peterv, bug 81840
2001-05-21 06:00:12 +00:00
nboyd%atg.com
35caf7c2bb Subject:
Rhino: behavior update for IdScriptable subclasses
        Date:
             Fri, 18 May 2001 11:45:00 +0200
       From:
             Igor Bukanov <igor.bukanov@windriver.com>
 Organization:
             Wind River
         To:
             Norris Boyd <nboyd@atg.com>




The attached patch introduces separation between id-base properties in
prototype instances and the rest of objects so it is possible to
allocate some ids for each instance and the rest only for prototype. The
patch adds to each descendants of IdScriptable a special prototypeFlag
which set to true only if object serves as a global prototype and all
methods that check/return ids first check for that flag. (This is the
reason for the patch size: diff is not very well in dealing with
indentation changes.)

In this way ids for prototype properties are completely hidden from
potential subclasses and there is no need to define methods like
getMaximumId in most cases, only if some ids present in each instance,
IdScriptable.maxInstanceId should be overridden to return max id present
in each instance.

The patch also replaces 2 boolean fields in IdScriptable by bit masks in
the setupFlag field.
2001-05-19 17:39:50 +00:00