1249 Commits

Author SHA1 Message Date
warren%netscape.com
8c71c45537 Fixed AddRef/Release problems to eliminate negative refcounts in Bloaty. 1999-10-08 01:49:06 +00:00
jband%netscape.com
68de88b11a fix warning of old style C++ variable scope declared in 'for'. bug 15778. r=slamm 1999-10-08 00:11:05 +00:00
rogerl%netscape.com
59df6ba2b7 Fixed build failures - these files are NOT part of the seamonkey build. 1999-10-07 20:45:27 +00:00
rogerl%netscape.com
0f3e5543f2 Fixed error reporting to not smack the source line with a zero, but use
copyN instead - things were failing when very last line of input had an
error and didn't end with '\n'. r=mccabe
1999-10-07 20:44:40 +00:00
rogerl%netscape.com
00c8daeea3 Fixed build warnings by removing macros with '{..}'.
Made str_escape available for jsfile.
r=mccabe
1999-10-07 20:42:20 +00:00
rogerl%netscape.com
a6311b8044 Making str_escape available for jsfile use. r=mccabe. 1999-10-07 20:41:15 +00:00
rogerl%netscape.com
dac74252b1 Bug . Catch new Array(NaN). r=mccabe. 1999-10-07 20:40:17 +00:00
norris%netscape.com
41f9794d2f Fix 15711 Can't call java.lang.Class methods from JS 1999-10-07 18:27:21 +00:00
norris%netscape.com
6757acf35a Subject:
Re: NPL vs. MPL
       Date:
            Wed, 06 Oct 1999 18:30:34 -0400
      From:
            "Ian D. Stewart" <idstewart@softhome.net>
        To:
            Norris Boyd <norris@netscape.com>
 References:
            1 , 2 , 3




Norris Boyd wrote:

  Great. So I'd like to change this copyright text

  /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset:
  4 -*-
   *
   * The contents of this file are subject to the Mozilla Public License
   * Version 1.0 (the "MozPL"); you may not use this file except in
   * compliance with the MozPL.  You may obtain a copy of the MozPL at
   * http://www.mozilla.org/NPL/
   *
   * Software distributed under the MozPL is distributed on an "AS IS"
  basis,
   * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
  MozPL
   * for the specific language governing rights and limitations under the
   * MozPL.
   *
   * The Initial Developer of this code under the MozPL is Ian D. Stewart.

   * Portions created by Ian D. Stewart are Copyright (C) 1998, 1999
   * Ian D. Stewart.
   * All Rights Reserved.
   */

  to this:

  /* -*- Mode: java; tab-width: 8; indent-tabs-mode: nil; c-basic-offset:
  4 -*-
   *
   * The contents of this file are subject to the Netscape Public
   * License Version 1.1 (the "License"); you may not use this file
   * except in compliance with the License. You may obtain a copy of
   * the License at http://www.mozilla.org/NPL/
   *
   * Software distributed under the License is distributed on an "AS
   * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express oqr
   * implied. See the License for the specific language governing
   * rights and limitations under the License.
   *
   * The Original Code is ListenerCollection, released
   * May 15, 1998.
   *
   * The Initial Developer of the Original Code is Ian D. Stewart.
   * Portions created by Ian D. Stewart are Copyright (C) 1998, 1999
   * Ian D. Stewart.
   * Rights Reserved.
   *
   * Contributor(s):
   * Ian D. Stewart
   *
   * Alternatively, the contents of this file may be used under the
   * terms of the GNU Public License (the "GPL"), in which case the
   * provisions of the GPL are applicable instead of those above.
   * If you wish to allow use of your version of this file only
   * under the terms of the GPL and not to allow others to use your
   * version of this file under the NPL, indicate your decision by
   * deleting the provisions above and replace them with the notice
   * and other provisions required by the GPL.  If you do not delete
   * the provisions above, a recipient may use your version of this
   * file under either the NPL or the GPL.
   */

  Can you give me your approval for this change?

Make it so.


Ian
1999-10-07 16:57:01 +00:00
rogerl%netscape.com
0b5779e73c More errors-as-exceptions stuff 1999-10-06 23:55:33 +00:00
norris%netscape.com
032b7f4436 More license wrangling: fix the release date (1999, not 1998). 1999-10-06 21:52:17 +00:00
jband%netscape.com
0da203c7c3 - the rest of the fix for bug 14738 - detect JSErrors with
JSErrorReports when thrown as exceptions. Extract JSErrorReport
and convert to an xpcexception. This restores functionality that
was whacked when JS errors-as-exceptions was enabled in the JS
engine.
- add conversion support for string-with-length as part of array
support mentioned in bug 13420. All the array stuff is basically
in with minimal testcases. More comprehensive tests need to be
written to verify and tune the code.
- fix a broken #undef
- switch to using PR_Alloc/PR_Free internally in nsjsid where we
were using new/delete before. This is prompted by warren's change
to nsID::ToString that uses PR_Alloc were before it used new.
This fixes an alloc/delete mismatch detected by Purify.
r=mccabe
1999-10-06 21:35:27 +00:00
sspitzer%netscape.com
295700338f fix for (and a whole bunch of duplicates).
fix by vidur, r=rogerl
1999-10-06 21:31:34 +00:00
beard%netscape.com
5eebed5f4a added EcmaError.java, NativeError.java 1999-10-06 21:07:04 +00:00
norris%netscape.com
55b6742fed Update contributors, add some license text. 1999-10-06 20:50:04 +00:00
cbegle%netscape.com
27ff0f3d29 tests for javascript errors as exceptions, a feature that was recently
added to the javascript engine.

not part of the build.
1999-10-06 20:45:44 +00:00
norris%netscape.com
52141616b0 Make sure creation of class loader is inside a try block to handle security exceptions. 1999-10-06 17:39:48 +00:00
brendan%mozilla.org
78daa5976c Fix Object.prototype.toSource so it parenthesizes outermost-toSource literals for eval roundtrips. 1999-10-06 09:09:31 +00:00
brendan%mozilla.org
8f10045f6d Top-level ToSource function for primitive type roundtrips. 1999-10-06 06:37:55 +00:00
brendan%mozilla.org
bb6510becd Fix two multi-threaded GC-rooting bugs:
- js_NewFunction wasn't initializing (clearing) JSFunction members before it
  linked the JSFunction to a JSObject that the GC could reach from a root.
- Make sure frame.scopeChain is cleared before linking frame via cx->fp, even
  though we set frame.scopeChain to some object later (another signal that we
  should rework js_Invoke to inline it and otherwise optimize it).
1999-10-06 06:29:43 +00:00
rogerl%netscape.com
a881374871 Added version 150, changed version testing in regexp 1999-10-06 00:10:27 +00:00
rogerl%netscape.com
f775195a30 Bug - get array length exceptions working with non-Number array
contructor arguments.
1999-10-05 22:11:57 +00:00
jband%netscape.com
8e2a51ab02 the JS engine part of the fix for bug 14738. This does two things: 1) expose the JSClass for JSError so that it is possible to detect from the outside if a given JSObject is of that JSError class, and 2) expose an api call via which the JSErrorReport can be extracted from a JSError (if present). This change required renaming the JSClass used for JSError, so many lines were touched 1999-10-05 21:07:23 +00:00
rogerl%netscape.com
fe413b9972 Errors as exceptions working from generated code. 1999-10-05 19:44:24 +00:00
kipp%netscape.com
e0e02e284d r=jband; fixed a memory leak 1999-10-05 14:56:41 +00:00
mccabe%netscape.com
1fbb1a0a36 Initial checkin of TestScan.java, a simple driver for generating and printing various kinds of parse trees, and for profiling scanning, parsing and compiling. 1999-10-05 03:47:04 +00:00
dmose%mozilla.org
0f48266224 update license boilerplate to NPL dual w/GPL, r=norris@netscape,a=norris@netscape.com 1999-10-05 01:42:01 +00:00
dmose%mozilla.org
9d7478e8be update license boilerplate to NPL dual w/GPL, r=norris@netscape,a=norris@netscape.com 1999-10-05 00:44:05 +00:00
rogerl%netscape.com
079188169c First cut at errors as exceptions - These changes should be benign since
the errors are being wrapped by runtime exceptions and still need to be
explicitly caught (this is happening in the interpreter, but not in
generated code).
1999-10-05 00:21:07 +00:00
waterson%netscape.com
2efd076b82 Bug 15367. Dump 'class' instead of 'file/line' for NS_LOG_REFCNT. r=shaver,dp 1999-10-05 00:07:54 +00:00
norris%netscape.com
4c4cc4d82a Fix up makefiles; previous patch was mis-applied. 1999-10-04 21:31:21 +00:00
norris%netscape.com
b1ecbb62ba Fix bug found by Andrew Wason (see below).
Problem was that one transformation of a node to GETVAR wasn't protected by a check of inWithStatement().

======================================
Subject:
        multiple scopes
   Date:
        Fri, 01 Oct 1999 12:39:14 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        Howard Lin <howard@softcom.com>




When I create two scopes, and one scope evaulates a string in the other
scope, it works.  However, if I do this while handling an exception thrown
within a JavaAdapter method, it fails with an exception.

Run the attached Java program with the two script files.  scope1.js
evaluates a string "printMessage" in the scope of scope2.js.  This returns
a function object which is then invoked.  This works in 3 cases, but fails
in the 4th (in the catch in the JavaAdapter).  Even in the 4th case where
it fails, printing the function object looks normal.

Am I doing something wrong, or is there a bug here?

java CrossScope scope1.js scope2.js

Outside of JavaAdapter
works before exception
works after exception
Inside of JavaAdapter
works before exception
Caught exception
pma=
function printMessage(msg) {
     java.lang.System.out.println(msg);
}

Exception in thread "main" org.mozilla.javascript.JavaScriptException:
org.mozilla.javascript.EvaluatorException: The undefined value has no
properties.
         at
org.mozilla.javascript.JavaScriptException.wrapException(JavaScriptException
.java:61)
         at
org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java,
Compiled Code)
         at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1256)
         at org.mozilla.javascript.Interpreter.interpret(Interpreter.java,
Compiled Code)
         at
org.mozilla.javascript.InterpretedScript.call(InterpretedScript.java:49)
         at
org.mozilla.javascript.InterpretedScript.exec(InterpretedScript.java:37)
         at org.mozilla.javascript.Context.evaluateReader(Context.java:697)
         at CrossScope.<init>(CrossScope.java:30)
         at CrossScope.main(CrossScope.java:10)


Thanks,
Andrew

import java.io.*;
import org.mozilla.javascript.*;

public class CrossScope {
	private Context m_jsContext;
	private Scriptable m_scope1;
	private Scriptable m_scope2;

	public static void main(String args[]) throws Exception {
		new CrossScope(args[0], args[1]);
	}

	private CrossScope(String strFile1, String strFile2) throws Exception {
		// Associate Context with main thread
		m_jsContext = Context.enter();
                m_jsContext.setOptimizationLevel(-1);

		// Init scope1, expose Scope object
  		m_scope1 = m_jsContext.initStandardObjects(new ImporterTopLevel());
		m_scope1.put("Scope", m_scope1, this);

		// Init scope2
		m_scope2 = m_jsContext.initStandardObjects(new ImporterTopLevel());

		// Run script in scope2
		Reader r2 = new FileReader(strFile2);
		m_jsContext.evaluateReader(m_scope2, r2, strFile2, 1, null);

		// Eval input JS in scope1 - it can in turn eval JS over in scope2
		Reader r1 = new FileReader(strFile1);
		Object obj = m_jsContext.evaluateReader(m_scope1, r1, strFile1, 1, null);
		if (obj instanceof Throwable)
			((Throwable)obj).printStackTrace();

		m_jsContext.exit();
	}

	public Object scope1Eval(String str) throws JavaScriptException {
			Context cx = Context.enter(m_jsContext);
			Object objResult = cx.evaluateString(m_scope1, str, "scope1EvalString", 1, null);
			cx.exit();
			return objResult;
	}

	public Object scope2Eval(String str) throws JavaScriptException {
			Context cx = Context.enter(m_jsContext);
			Object objResult = cx.evaluateString(m_scope2, str, "scope2EvalString", 1, null);
			cx.exit();
			return objResult;
	}
}


// Scope1

importPackage(java.lang);

System.out.println("Outside of JavaAdapter");

try {
	var pm = Scope.scope2Eval("printMessage");
	pm("works before exception");
	System.arraycopy(null, 5, null, 5, 100);
} catch (e) {
	var pma = Scope.scope2Eval("printMessage");
	pma("works after exception");
}

var obj = new Runnable() {
	run: function() {
		System.out.println("Inside of JavaAdapter");
		try {
			var pm = Scope.scope2Eval("printMessage");
			pm("works before exception");
			System.arraycopy(null, 5, null, 5, 100);
		} catch (e) {
			System.out.println("Caught exception");
			var pma = Scope.scope2Eval("printMessage");
			System.out.println("pma=" + pma);
			pma("works after exception");
		}
	}
};

obj.run();



// Scope2

function printMessage(msg) {
	java.lang.System.out.println(msg);
}
1999-10-04 18:27:30 +00:00
beard%netscape.com
208d328010 changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr 1999-10-03 20:47:12 +00:00
beard%netscape.com
9eae33066d changed from directly using "MSL DropInRuntime.Lib" to using "NSComponentStartup.o" to enable GC leak detector. r=smfr 1999-10-03 20:46:23 +00:00
beard%netscape.com
0a7a3c72b6 changed from directly using "MSL ShLibRuntime.Lib" to using "NSLibraryStartup.o" to enable GC leak detector. r=smfr 1999-10-03 20:23:01 +00:00
norris%netscape.com
d21c5596fd Fix the following bugs:
14443 "Same origin" security policy may be circumvented using docu
14820 Fixing up the relationship between nsCodeBasePrincipal and n
14919 Crash in JS MM code
Reviewed by mstoltz, approved by scc.
1999-10-02 03:41:37 +00:00
norris%netscape.com
9169791d48 Contribution from Andrew Wason:
Subject:
        optimizer Makefiles
   Date:
        Fri, 01 Oct 1999 14:50:05 -0400
   From:
        Andrew Wason <aw@softcom.com>
     To:
        norris@netscape.com
    CC:
        Howard Lin <howard@softcom.com>




Norris,

Here are patches to the Rhino Makefiles to build the optimizer package and
the jsc compiler.  They also fix a problem with "gmake clean".

Andrew
--
Andrew Wason
SoftCom, Inc.
aw@softcom.com
1999-10-01 22:58:48 +00:00
norris%netscape.com
cf9f713ecb \t doesn't work on Windows. 1999-10-01 22:56:30 +00:00
kipp%netscape.com
0ca8147bb6 Convert to a module from a component 1999-09-30 21:47:04 +00:00
kipp%netscape.com
3dc38d7da4 Fixed shutdown related memory leaks 1999-09-30 21:12:33 +00:00
beard%netscape.com
978fa797c2 fixed output directory 1999-09-29 16:11:58 +00:00
beard%netscape.com
1803aa06ab fixed source folder name 1999-09-29 16:10:25 +00:00
beard%netscape.com
d54d7ae821 build debugger with CW Pro 4. 1999-09-29 16:07:22 +00:00
beard%netscape.com
cf51c97bad builds the optimizer using CW Pro 4. 1999-09-29 15:55:29 +00:00
sfraser%netscape.com
65d0896a12 More type mismatch fixing for shavear 1999-09-29 03:07:27 +00:00
shaver%netscape.com
7a5b9d5e55 nsIRegistry scriptability update, r=dveditz,dp,alecf a=leaf,chofmann 1999-09-29 02:36:54 +00:00
dmose%mozilla.org
16e0d1f95e update license boilerplate to NPL-1.1 dual-licensed with the GPL. a=brendan, r=brendan. 1999-09-28 23:12:09 +00:00
norris%netscape.com
edd009bad1 Add example of classfile generation. 1999-09-27 23:21:01 +00:00
norris%netscape.com
40f1ee60cc Changes for classfile generation. 1999-09-27 23:17:29 +00:00
rogerl%netscape.com
854aa7f8a3 Better error handling for interpreter. 1999-09-27 17:47:51 +00:00