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

3348 Коммитов

Автор SHA1 Сообщение Дата
mkaply%us.ibm.com 9bbaab9aef OS/2 bustage - need callback 2001-03-27 14:35:06 +00:00
nboyd%atg.com af6971af47 Fix 73555. 2001-03-27 14:01:53 +00:00
pschwartau%netscape.com e9c87a4bf1 Minor corrections to code and whitespace. 2001-03-27 07:53:14 +00:00
pschwartau%netscape.com 6acce8f960 Minor fixes to code and whitespace. 2001-03-27 07:43:17 +00:00
pschwartau%netscape.com d00fee858c Minor corrections to code and style - 2001-03-27 07:16:36 +00:00
shaver%mozilla.org 315da0eba6 correct cast to fix build bustage 2001-03-27 06:44:00 +00:00
waterson%netscape.com 3a6f221ad9 Fix windows bustage. 2001-03-27 06:39:05 +00:00
waterson%netscape.com eb0724a2e0 Bug 73540. Make sure [JS|PL]DHashTable clear live entries while finalizing. Remove induction variable from [JS|PL]_DHashEnumerate() along the way. r=brendan, sr=shaver 2001-03-27 06:24:25 +00:00
shaver%mozilla.org 0018ac7c7c 50602: Add support in XPConnect for sharing of refcounted string BufferHandles,
in both directions.
72552: Remedy overzealous CHECK_REQUEST placement in jsapi.c, to produce a
       minimal-but-complete set of engine entry points that require a Request
       for safe execution.
r=brendan, sr=jband, assist=scc,pinkerton
2001-03-27 06:04:44 +00:00
pschwartau%netscape.com 2bfdd49b98 Initial add. Testcase for the internal [[Class]] property of Objects. 2001-03-27 05:50:08 +00:00
pschwartau%netscape.com 433058f8eb Initial add. Utility functions for testing Objects. 2001-03-27 05:48:48 +00:00
shaver%mozilla.org 1fe0824c25 63027: Adding evalInSandbox to JS component loader script-context, to permit
JS components to execute script code with restricted privileges and
       controlled access to their (privileged) environment. r=brendan,
       sr=jband.
2001-03-27 05:35:52 +00:00
mkaply%us.ibm.com e82031955a #73191
r=beard, sr=brendan
Remove CRT_CALL - change to PR_CALLBACK or JS_DLL_CALLBACK appropriately
2001-03-26 23:21:53 +00:00
pschwartau%netscape.com 403c858181 In some shells, carriage returns are "\n"; in others, "\r\n". Look for either possibility - 2001-03-26 22:00:53 +00:00
disttsc%bart.nl 6e48266508 Clean up REQUIRES lines. r=cls 2001-03-25 22:59:27 +00:00
dmose%netscape.com 892509f523 Fix MOZ_TRACK_MODULE_DEPS bustage with --enable-xpctools (bug 72120). Only touches unix build-system. r=cls@seawood.org 2001-03-24 06:14:28 +00:00
brendan%mozilla.org a2a306a3c5 Fix old 1.4-era bogus code for setting JSPD_ARGUMENT or JSPD_VARIABLE given a heavyweight activation (68825, r=shaver, sr=jband). 2001-03-24 00:31:43 +00:00
nboyd%atg.com fd50474708 Fix bug 72921. 2001-03-22 21:56:12 +00:00
jband%netscape.com 2a65a69e81 [Not part of mozilla build]. Fix for bug pointed out by Celso Aguiar <caguiar@Adobe.COM>. 2001-03-22 20:11:26 +00:00
brendan%mozilla.org 27d279c118 - [jsemit.c] Fix horrid stupid bugs generating JSOP_ARGCNT and JSOP_ARGSUB,
where any occurrence of arguments.length or arguments[0], e.g., would be
  "optimized" to use those bytecodes.  This is just wrong if the occurrence
  is an operand of delete, ++, --, or the left-hand-side of an assignment
  operator!

- [jsfun.c, jsinterp.c]  args_getProperty etc. must use JS_GetInstancePrivate,
  not JS_GetPrivate, as the arguments object is exposed, and can be made a
  prototype of other objects that do not have private data, or private data
  that's a JSStackFrame*.  Same goes for fun_getProperty, js_GetArgument, etc.

- [jsfun.c, jsobj.c, jsstr.c]  No need to specialize fun_delProperty and
  str_delProperty to help convince users and ECMA conformance tests that
  fun.length and str.length are direct properties of instances, instead of
  being delegated to Function.prototype.length and String.prototype.length.
  This special case is done universally in js_DeleteProperty for all SHARED
  and PERMANENT proto-properties.

- [jshash.c]  Sneaking this followup-fix for bug 69271 in: use JS_HASH_BITS
  rather than hardcoded 32.

- [jsobj.c, jsscope.[ch]]  Fix misnamed js_HashValue (it takes a jsid, so it
  is now js_HashId).

- [jsscript.c] script_compile needs to call JS_InstanceOf, to ensure that obj
  is a Script object.
2001-03-22 02:52:42 +00:00
mkaply%us.ibm.com 810065aefd #72563
r=javier, a=jband
Change some PR_CALLBACK to JS_DLL_CALLBACK and vice versa and remove IBM cruft
2001-03-21 01:35:39 +00:00
brendan%mozilla.org 4b1afd1b62 Add JS_MapGCRoots for complete enumeration of GC roots (72465, r/sr={shaver,jband}). 2001-03-21 01:33:39 +00:00
shaver%mozilla.org fc7fa394b3 67797: add Components.isSuccessCode (r=jag, sr=jband) 2001-03-19 21:34:05 +00:00
brendan%mozilla.org f356f82d9a Fix JS_ArenaRealloc to cope with alignment shift from realloc (72034, r=shaver, sr=jband, a=asa). 2001-03-16 08:06:08 +00:00
brendan%mozilla.org cdb43c302d Fix bug 69271, r=waterson, sr=shaver:
- Don't ape java.lang.String's bogo-sampling hash function for "long" (>=16
  char) strings.
- Theory and practice comment in jsdhash.h helps analyze when to use double
  hashing (most of the time) vs. when to use chaining.
- Subroutine ChangeTable from JS_DHashTableOperate so it can be called from
  JS_DHashTableEnumerate, if the latter finds that enough entries have been
  removed to be worth a shrink or compress cycle.
2001-03-14 07:42:32 +00:00
mkaply%us.ibm.com ae7b14dd08 OS/2 TB break
Need calling convention
2001-03-14 05:28:27 +00:00
disttsc%bart.nl c16959d963 Fix MOZ_TRACK_MODULE_DEPS builds (like senna) bustage, adding "necko" to REQUIRES, r=cls 2001-03-14 03:46:23 +00:00
beard%netscape.com 3f7d76865d fix Mac build bustage. 2001-03-14 03:24:20 +00:00
rginda%netscape.com b7fee3dd43 fix for mac bustage, I think 2001-03-14 03:12:07 +00:00
Peter.VanderBeken%pandora.be ac96da18f4 part 3 of bug 48972 check in: mac changes. r=brendan, sr=shaver 2001-03-14 02:43:32 +00:00
rginda%netscape.com db16e7dc88 part 2 of bug 48972 check in. peterv to check in mac changes. r=brendan, sr=shaver 2001-03-14 02:41:55 +00:00
rginda%netscape.com d6761db137 part one of checkin for bug 48974, idl additions. sr=shaver, r= brendan 2001-03-14 02:39:23 +00:00
dprice%netscape.com 1b42d68e45 71057 sr=waterson new order files. NOT PART OF THE REGULAR BUILD 2001-03-13 10:47:37 +00:00
pschwartau%netscape.com 22d428d589 Fixing minor error in one path; and fixing whitespace. 2001-03-13 02:28:04 +00:00
pschwartau%netscape.com 0f963145e8 Put js1_5/Regress/regress-68498-003.js on Rhino skip list. Rhino does not support indirect eval. 2001-03-13 02:10:47 +00:00
pschwartau%netscape.com 1066653e58 Rhino doesn't implement toSource(). Adding js1_5\Regress\regress-44009.js to skip list - 2001-03-13 02:02:32 +00:00
pschwartau%netscape.com 9e72d07052 Initial add. This is Norris' testcase from bug 56883. 2001-03-13 01:23:34 +00:00
pschwartau%netscape.com be7da686df Rhino doesn't allow indirect calls to eval; adding such tests to the Rhino skip list - 2001-03-12 21:09:14 +00:00
shaver%mozilla.org 89c833fb49 67699: all your nsIClassInfo is belong to us
- teach nsGenericFactory about nsIClassInfo, and nsIClassInfo.idl to the
  builds
- add a heaping serving of macro love for classes that want to support it
- convert many modules to use nsGenericModule the new way
- handful of warning and modeline fixes
- nsSample and some XPConnect test classes now have nsIClassInfo support for
  testing
2001-03-12 20:43:02 +00:00
nboyd%atg.com 542c53deec Print name of function in toString 2001-03-12 19:05:36 +00:00
nboyd%atg.com ebb2f38252 Infinity/Math.min(0,-0) should produce -Infinity 2001-03-12 16:53:02 +00:00
nboyd%atg.com 39c42bc6b4 Close thread hazard hole. 2001-03-12 14:55:47 +00:00
pschwartau%netscape.com 976947229f Initial add of WINNT5.0.mk file (bug 71543). Copied from WINNT4.0.mk. 2001-03-11 04:59:23 +00:00
brendan%mozilla.org b2fa188505 Fix js_LookupProperty to resolve iff the resolved-in object owns its own scope (jband private bug, r=jband, sr=shaver). 2001-03-11 02:35:10 +00:00
nboyd%atg.com e988a8e8a0 More changes from Igor. 2001-03-10 11:51:15 +00:00
nboyd%atg.com 6838842027 Add method to set security support after creation. 2001-03-10 11:50:50 +00:00
mkaply%us.ibm.com 14d2bde561 WIN95 build breakage vis hwaara
Since Win95 can't recursively invoke NMAKE, need fdlibm in DIRS statement
2001-03-10 00:43:00 +00:00
rogerl%netscape.com 1fb906852a Fix #58031. sr=brendan. Crash in Array.prototype.toLocaleString() 2001-03-10 00:20:42 +00:00
rogerl%netscape.com 1de575f8ab Fix #57187. sr=brendan,r=shaver. Reorder lines to avoid warning. 2001-03-10 00:17:37 +00:00
rogerl%netscape.com a9500801d8 Fix bug #56868. sr=brendan,r=mccabe. Error object [[Class]] property. 2001-03-10 00:16:32 +00:00
pschwartau%netscape.com 977b6fa463 Updated JS_GetImplementationVersion() to date of latest JS release (67111, r=rginda, sr=jband). 2001-03-09 07:36:48 +00:00
mkaply%us.ibm.com c2bd15c2b5 #59855
r=pchwartau, sr=brendan
Just add an _IS_LITTLE_ENDIAN for XP_OS2 for now. Eventually, we need to figure
out how to get jstypes.h included in here, since it already has a LITTLE_ENDIAN define.
2001-03-09 04:07:15 +00:00
mkaply%us.ibm.com 9ce67d1a9b #59855
r=pchwartau, sr=brendan
Rework makefile.win and js.mak for the eventual ability to include jstypes.h in fdlibm.h
Not turned on yet because I can't get it working right on Linux
2001-03-09 04:05:44 +00:00
mkaply%us.ibm.com f0d86135ff #59855
r=pchwartau, sr=brendan
Get JS standalong building with Makefile.ref on Win32
2001-03-09 04:02:36 +00:00
shaver%mozilla.org c2d12a8e9f 71107: make inner-peeking properly set HEAVYWEIGHT for all outer functions (r=jband,sr=brendan) 2001-03-07 03:14:25 +00:00
pschwartau%netscape.com 89bf5855c4 Initial add. Regression test for bug 71107. 2001-03-07 01:30:15 +00:00
matthias%sorted.org bf7eb7d444 replicated SpiderMonkey fix for bug 67773 2001-03-06 13:57:01 +00:00
brendan%mozilla.org 00e515cda2 I'm a Linux loser, warnings don't affect me. 2001-03-06 02:45:35 +00:00
brendan%mozilla.org a413a0dc6e Death to tabs\! 2001-03-06 02:05:03 +00:00
brendan%mozilla.org 041a78e98e bugs 31003 and (mostly) 68045, r=rogerl, sr=shaver&hyatt
- Fix bug where script jssrcnote vector terminator was not XDRed.
- Ensure that memory is cleared by serializing zero padding bytes as needed
  under JS_XDRBytes and JS_XDRString.
- Fix JS_XDRValue to handle undefined and null JS types properly (bug 31003).
  Also make it cast from jsint to uint32 and back carefully, so as to work
  with negative numbers even on targets where jsval is a signed 64 bit type.
- Add JS_XDRScript public API.
- Optimize the per-JSXDRState class registry so it uses a JSDHashTable upon
  searching for a class-id by name in an overpopulated (for linear search)
  registry table.
- Clean up API nits such as JS_XDRNewBase => JS_XDRInitBase, with parameter
  list rotation to put cx last (JS_XDRInitBase is an infallible init helper,
  not an error-reporting, cx-comes-first, API entry point).
- Fix some XXX comments, unneeded masks, other nits.
- Make sure all JS XDR API functions start with JS_XDR.
2001-03-06 01:56:30 +00:00
beard%netscape.com d70f6ac0f2 Bug #70883, leaks in LiveConnect. sr/r=brendan 2001-03-05 15:41:12 +00:00
matthias%sorted.org c2edb3f3b3 * made shell.Global a subclass of ImporterTopLevel
* fixed ImporterTopLevel constructor - it now calls
cx.initStandardObjects before defining any functions. The old
constructor is still around for backwards compatibility.
2001-03-05 08:46:10 +00:00
beard%netscape.com d6739f9697 fix for bug #69210, r/sr=brendan 2001-03-04 21:26:19 +00:00
beard%netscape.com 157e56d88c bug #70240, sr=beard, r=brendan 2001-03-04 21:20:31 +00:00
beard%netscape.com d0d4897737 [not part of build] fix memory leak of full_classpath. 2001-03-04 19:23:51 +00:00
beard%netscape.com 3696fa19c0 [not part of build] use correct calling conventions when OJI is #defined. 2001-03-03 19:30:17 +00:00
beard%netscape.com f45b33f623 Automatically load "xpcshell.js" if available. sr=jband 2001-03-03 01:01:20 +00:00
jband%netscape.com 05ed74cd8f [not part of build] adding placeholders for new files 2001-03-02 05:25:04 +00:00
rogerl%netscape.com 647b80f187 Fix #61751. sr=brendan,r=mang. #define changes to fix floating point bug
in JavaScript on NetBSD/arm32.
2001-03-02 00:20:11 +00:00
rogerl%netscape.com 9d57bb12b9 Fix bug #67773. sr=brendan, r=rginda. Fixes doubly nested quantifiers in
reg.exps when deeper sub-expression has to backup without failing. Some
other clean-up changes, too.
2001-03-02 00:17:48 +00:00
nboyd%atg.com 16f46460f5 More changes from Igor. 2001-03-01 19:28:37 +00:00
matthias%sorted.org b6ef87ccba fixed two instances where prefix match would return undefined instead of null 2001-03-01 16:52:23 +00:00
matthias%sorted.org 22ceb8c0e2 getInstance now uses ScriptableObject.getProperty instead of
Scriptable.get. This way Global can (again) be used in prototype
chain.
2001-03-01 13:33:55 +00:00
pschwartau%netscape.com 84a4895559 Correcting an error in the testcase - 2001-03-01 01:06:48 +00:00
brendan%mozilla.org 6a77880509 Fix JS_ARENA_GROW_CAST so it doesn't round up both size and incr, which overestimates and wastes space (44009, r=shaver, sr=jband). 2001-02-28 00:27:10 +00:00
brendan%mozilla.org 155f302af3 Fix 'import *;' (70308, r=shaver, sr=jband). 2001-02-28 00:17:19 +00:00
dprice%netscape.com 5184a7104b # 65845 sr=waterson, new order files will greatly reduce the number of link warnings. 2001-02-27 04:38:19 +00:00
pschwartau%netscape.com a739b03325 Initial add. Regression test for bug 44009. 2001-02-27 03:41:13 +00:00
nboyd%atg.com 8880f2750c Commit new scheme for builtin objects, courtesy of
Igor Bukanov <igor@icesoft.no>. This new scheme is
faster and consumes less memory.
2001-02-26 16:16:46 +00:00
nboyd%atg.com 144dc1b9ed Change ClassOutput to take a top-level boolean parameter. 2001-02-26 15:32:15 +00:00
nboyd%atg.com 418d10f826 Add top-level boolean parameter so ClassOutput implementors can determine
which class to load to execute a script.
2001-02-26 15:28:17 +00:00
pschwartau%netscape.com 7f6cf43c0f Added Stephen Ostermiller's pattern-match from bug 69989 to this test - 2001-02-24 03:23:27 +00:00
brendan%mozilla.org 5954a16aa8 Don't deprecate __proto__, there ain't no forward-compatible alternative (68401, r=timeless, sr=shaver). 2001-02-24 03:07:58 +00:00
brendan%mozilla.org bdf1de2757 - Shaver hacked this fix with advice from me, and I carried it to check-in. We now avoid a heavyweight outer function when the inner one is defined at top-level or in an expression (is not a JSOP_CLOSURE, IOW), and it doesn't refer to any non-local names. See bug 65308 for details on the win. (r=rogerl, sr=brendan)
- Fix scope chain for nested functions at top-level (JSOP_DEFFUN), in a part of another statement (JSOP_CLOSURE), and unnamed in an expression (JSOP_ANONFUNOBJ) to match ECMA-262 13.2.  My bad: fp->varobj was used up till now, instead of fp->scopeChain; we still *bind* the name of a statement-level (top or not) nested function in fp->varobj.  This fixes bug 69559.  (r=rogerl, sr=jband)
- Add an Intern command to the shell, for GC vs. intern'ed atom testing.
2001-02-24 03:00:56 +00:00
pschwartau%netscape.com 5c55e34855 Initial add. Regression test for bug 69607. 2001-02-23 07:35:47 +00:00
nboyd%atg.com 68a7b7572b Real fix for last problem. 2001-02-22 14:45:10 +00:00
disttsc%bart.nl 744785129a Mass REQUIRES update to synch up with string lib and xul changes in an attempt to fix senna bustage. r=jst, sr=cls 2001-02-22 09:35:51 +00:00
brendan%mozilla.org dde62480dd Fix duplicate parsenode recycle in constant-folded if/else or ?: (69607, r=shaver, sr=jband). 2001-02-22 07:30:57 +00:00
brendan%mozilla.org 9b455245c3 Remove unused code (sr=jband, r=mozbot). 2001-02-21 10:49:35 +00:00
nboyd%atg.com 8d0439b65c Subject:
Rhino Context.setTargetClassFileName() null pointer exception
        Date:
             Tue, 20 Feb 2001 15:28:20 -0800
       From:
             "Ryan Manwiller" <rdm@europa.com>
 Organization:
             Another Netscape Collabra Server User
 Newsgroups:
             netscape.public.mozilla.jseng




I'm setting the file name to compile to a file. However, on subsequent
compiles, I don't want to compile to a file, so I tried
setTargetClassFileName(null). This causes a NullPpinterException in
OptClassNameHelper.setTargetClassFileName(OptClassNameHelper.java:76)

It seems that Context.setTargetClassFileName() should check for null.

Thanks
2001-02-21 02:08:05 +00:00
pschwartau%netscape.com 3576218246 Minor whitespace deletion - 2001-02-21 00:58:41 +00:00
pschwartau%netscape.com f483b78ef1 Minor change to comment - 2001-02-21 00:39:46 +00:00
pschwartau%netscape.com 452ee121e7 Improving error message - 2001-02-21 00:27:13 +00:00
jband%netscape.com 85ff73655a Avoid use of dead JSContext in dtor. bug 69463. Thanks to Waleri Todorov <waleri@gti.bg> for pointing out this bug. r=shaver sr=brendan 2001-02-21 00:01:30 +00:00
pschwartau%netscape.com ce54fdf8c4 Revising error in test. See bug 69441, where this was pointed out - 2001-02-20 22:11:44 +00:00
jband%netscape.com e866369001 bug 66610 - add xpconnect support for DOMStrings. r=jst sr=brendan 2001-02-20 08:09:19 +00:00
brendan%mozilla.org ddc8d4ee95 Don't flush cached properties one-by-one if GC'ing, because the GC flushes the whole thing (68735, r=jst, sr=jband). 2001-02-20 05:01:14 +00:00
brendan%mozilla.org 7c706fc384 Fix constant folder to recycle moved node, not whole tree, when simplifying 'true ? foo() : bar()' into 'foo()' (69345, r=shaver, sr=jband). 2001-02-20 01:25:39 +00:00
brendan%mozilla.org 53bc60e8d2 Fix related eval and setTimeout regressions caused by bug 68498's patch (69165&69175, r=jband, sr=shaver). 2001-02-19 00:31:20 +00:00
shaver%mozilla.org eac584602c Fold constants correctly when emitting as we compile (TCF_COMPILING).
(#69304, r=jband, sr=brendan)
2001-02-18 20:58:08 +00:00
pschwartau%netscape.com 95bd8b9e1c Regression test for bug 68498. Derived from Brendan's attachment to the bug - 2001-02-18 03:31:17 +00:00
jband%netscape.com 63fe92dff4 rest of the fix for bug 68971 - can't share a kungfoodeathgrip. sr=brendan r=shaver 2001-02-16 02:21:22 +00:00
brendan%mozilla.org 2366221257 Don't crash on a newborn object (68971, r=jband, sr=shaver). 2001-02-16 02:09:42 +00:00
brendan%mozilla.org 764724c6e2 The rest of the fix for bug 68498, see the extensive comments in that bug (r=jband, sr=shaver). 2001-02-16 02:04:12 +00:00
brendan%mozilla.org 5c396185df Restore the much-loved, albeit non-ECMA, function caller property (65683, r=rogerl, sr=jband). 2001-02-14 22:33:26 +00:00
brendan%mozilla.org 21fa7a7181 Don't assert about leaked atoms, do DEBUG fprints instead (68765, r=timeless, sr=jband). 2001-02-14 22:25:30 +00:00
brendan%mozilla.org 194b56e16d Crash fix (first part, two more files to come) for old-style obj.eval in a function (68498, r=bryner, sr=jband). 2001-02-14 09:11:09 +00:00
dprice%netscape.com fc5a7ddbf1 65845 first cut of the order files 2001-02-13 02:48:02 +00:00
brendan%mozilla.org 1daba4e5f1 - Keep interned string atoms around across zero-context episodes on a runtime,
until JS_DestroyRuntime is called (68450, r=rginda, sr=jband).
- NUL-terminate tagbuf in tagify, for the HTML helpers such as string.big()
  (66648, r=timeless, sr=jband).
2001-02-13 00:57:10 +00:00
beard%netscape.com 234eb9d4b5 fix for bug #63466, r=mstoltz, sr=brendan, a=leaf 2001-02-12 07:47:28 +00:00
nboyd%atg.com 9e7be2a9b1 Fix for problem:
Subject:
             Rhino Exception Handling: Inconsistency btw Old/New Versions of 1.5
        Date:
             Mon, 05 Feb 2001 06:07:07 -0800
       From:
             Timothy Bergeron <bergeron@resumerabbit.com>
 Organization:
             Another Netscape Collabra Server User
 Newsgroups:
             netscape.public.mozilla.jseng




I've been using Rhino for about a year with almost no problems. However,
I downloaded the latest Rhino tip (rhino15R2pre) and discovered a
significant difference in exception handling.

I rely heavily on JavaScript code like the following:

try {
   var em  = new ExceptionMaker();
   em.npe();  // method throws a java.lang.NullPointerException
   //em.ae();  // method throws a Packages.AutomationException
}
catch (e if (e instanceof java.lang.NullPointerException)) {
   java.lang.System.out.println("Caught a NullPointerException");
   e.printStackTrace();
}
catch (e if (e instanceof Packages.AutomationException)) {
   java.lang.System.out.println("Caught an AutomationException");
}
catch (e) {
   java.lang.System.out.println("Caught an unexpected exception: "+e);
}
finally {
   java.lang.System.out.println("Finally!");
}

Previous Rhino versions worked as expected. The exception thrown from
within the host object would be caught and the appropriate actions could
be taken.

With the most recent tip, the thrown exceptions simply are not caught
within the JavaScript. They propagate back to the Java function invoking
the (in my case) Context.evaluateReader() method.

Running the above JS fragement with the older tip displayed the
following stack trace (when the NullPointerException was caught):

Rhino Version: JavaScript-Java 1.5 release 1 2000 03 15
Caught a NullPointerException
java.lang.NullPointerException
        at java.lang.Throwable.<init>(Throwable.java:84)
        at java.lang.Exception.<init>(Exception.java:35)
        at java.lang.RuntimeException.<init>(RuntimeException.java:39)
        at
java.lang.NullPointerException.<init>(NullPointerException.java:45)
        at ExceptionMaker.jsFunction_npe(ExceptionMaker.java:13)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.mozilla.javascript.FunctionObject.call(FunctionObject.java:497)
        at
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1205)
        at org.mozilla.javascript.gen.c1.call(exception.js:3)
        at org.mozilla.javascript.gen.c1.exec(exception.js)
        at
org.mozilla.javascript.Context.evaluateReader(Context.java:739)
        at js.main(js.java:14)
Finally!

When run with the latest tip, the output is:

Rhino Version: JavaScript-Java 1.5 release 1 2000 03
15                                          Finally!
Exception in thread "main" java.lang.NullPointerException
        at java.lang.Throwable.<init>(Throwable.java:84)
        at java.lang.Exception.<init>(Exception.java:35)
        at java.lang.RuntimeException.<init>(RuntimeException.java:39)
        at
java.lang.NullPointerException.<init>(NullPointerException.java:45)
        at ExceptionMaker.jsFunction_npe(ExceptionMaker.java:13)
        at inv2.invoke()
        at
org.mozilla.javascript.FunctionObject.doInvoke(FunctionObject.java:843)
        at
org.mozilla.javascript.FunctionObject.call(FunctionObject.java:486)
        at
org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1199)
        at org.mozilla.javascript.gen.c1.call(Unknown Source)
        at org.mozilla.javascript.gen.c1.exec(Unknown Source)
        at
org.mozilla.javascript.Context.evaluateReader(Context.java:778)
        at js.main(js.java:14)

Curiously, both Rhino versions seem to be returning the same string from
Context.getImplementionVerison();

Anyway, the results from the two runs are clearly different: In the
first case, the exception is thown, the correct catch block is invoked
(hence the stace trace), and the finally block is invoked. In the second
case, the exception is thrown, the finally block is invoked, and the
exception is handled by the calling Java method rather than being
handled by the JavaScript code.

After some research, it appears this change was introducted by a
modification to FunctionObject.call()  (See
http://bugzilla.mozilla.org/show_bug.cgi?id=64788) which used to have:

       try {
            Object result = (method != null)
                            ? method.invoke(thisObj, invokeArgs)
                            : ctor.newInstance(invokeArgs);
            return hasVoidReturn ? Undefined.instance : result;
        }

but now has:

            Object result = method == null ?
ctor.newInstance(invokeArgs)
                                           : doInvoke(thisObj,
invokeArgs);

If I comment out the new code and replace it with the old, the expected
exception handling returns. Is this just an oversight or the new
expected behavior? Are there any negative side effects (other then the
speed decrease in method invocation) if I use the latest tip but use the
old method invocation procedure in FunctionObject.call() rather than the
new?
2001-02-08 18:56:58 +00:00
pschwartau%netscape.com 7d59d55d70 Exported functionality common to RegExp tests to new file js/tests/ecma_3/RegExp/shell.js 2001-02-08 04:04:48 +00:00
pschwartau%netscape.com 0a87d89522 Exported functionality common to RegExp testing to new file js/tests/ecma_3/RegExp/shell.js 2001-02-08 04:03:02 +00:00
pschwartau%netscape.com d46a7e93a9 Initial add. Contains functionality common to RegExp testing 2001-02-08 03:58:58 +00:00
pschwartau%netscape.com d41d8aa914 Whitespace cleanup 2001-02-08 01:32:58 +00:00
pschwartau%netscape.com 420a8b2de2 *** empty log message *** 2001-02-08 01:30:15 +00:00
pschwartau%netscape.com af7aacbb34 More minor adjustments - 2001-02-08 01:18:55 +00:00
pschwartau%netscape.com d4522ba93e Minor adjustments - 2001-02-08 01:05:23 +00:00
pschwartau%netscape.com 6057203524 Initial add. Regression test for bug 67773 2001-02-07 23:19:12 +00:00
waldemar%netscape.com 2b22046006 Added more semantics 2001-02-07 05:08:44 +00:00
waldemar%netscape.com c3a021f211 Added read-eval-print loop 2001-02-07 05:08:09 +00:00
waldemar%netscape.com f4fd6bc908 Updated to correspond to js2 site 2001-02-07 05:07:37 +00:00
waldemar%netscape.com 17b22162c1 Added :semantic-comment and :vector-construct. 2001-02-07 05:07:05 +00:00
waldemar%netscape.com ddf1704526 Added vector comprehensions. Changed compiler to emit globals of functional type into the lisp function rather than value slots of symbols; this simplifies debugging. 2001-02-07 05:06:22 +00:00
waldemar%netscape.com bbabbd5a0f Added vector comprehensions and extra mode parameter for %section, %subsection, and %text. 2001-02-07 05:05:39 +00:00
brendan%mozilla.org 0f800103a7 Fix for bug 44009 (r=rogerl, sr=shaver)
- Remove bogus JS_ASSERT(!outermost) from the code that deals with a "#n="
  type string being returned from js_EnterSharpObject, where the hash entry
  is not yet sharp (because we haven't seen the object twice during depth
  first search).  This case trivially arises for the outermost object in,
  e.g., 'o={}; o.foo=o; uneval(o)'.
- Avoid parenthesizing #n={...} object initializers for uneval, as they are
  not ambiguous (whereas {foo:1}, e.g., is ambiguous because it could be a
  block statement containing a labeled expression statement, or it could be
  an object initializer).
- Death to tabs!
2001-02-06 23:19:44 +00:00
pschwartau%netscape.com b5f153ba2e Made this testcase acknowledge that indirect eval is LEGAL; see bug 38512. 2001-02-06 07:57:17 +00:00
pschwartau%netscape.com 904cfabfa9 Made this testcase acknowledge that indirect eval is LEGAL; see bug 38512. 2001-02-06 07:33:28 +00:00
pschwartau%netscape.com d91df546f5 Made this testase acknowledge that indirect eval is LEGAL; see bug 38512. 2001-02-06 06:52:59 +00:00
pschwartau%netscape.com 2690193525 Deleting this testcase. It expected indirect eval to throw an exception. Wrong - this is legal: see bug 38512. 2001-02-06 06:06:18 +00:00
brendan%mozilla.org c94f9408e6 Fix compile-statements-as-we-go to work with warn-about-missing-final-return (66928, r=jband, sr=shaver). 2001-02-06 01:23:29 +00:00
pschwartau%netscape.com 6b23355830 Deleting this testcase, which expected this.eval() to throw an exception. On the contrary: indirect eval is LEGAL; see Bugzilla bug 38512. 2001-02-05 18:27:36 +00:00
pschwartau%netscape.com 548e4a5cd6 Changed comma expresions in this testcase from trivial to non-trivial. Explanation is in the introduction. 2001-02-05 04:58:39 +00:00
jband%netscape.com ce1f1ddd14 fix bug 67557 - bad use of NS_LITERAL_STRING to initialize static const PRUnichar* literals. r=jag sr=brendan 2001-02-04 06:47:44 +00:00
cls%seawood.org 207665231f Fix fdlibm/mozjs dependency problem by making sure that fdlibm is always built before mozjs. 2001-02-04 06:27:59 +00:00
brendan%mozilla.org 00526d6bc9 Include function total size in JS profiler output (67467, r=hyatt, sr=jband). 2001-02-02 20:52:06 +00:00
nboyd%atg.com d438da5792 Subject:
Re: [Rhino in Java] compiling .js to class file gives "bad local" error
        Date:
             Wed, 31 Jan 2001 09:41:45 +0100
       From:
             "Sylvia E. Schleutermann" <ses@h-m-s.com>
 Organization:
             .hms Health Management Systems
 Newsgroups:
             netscape.public.mozilla.jseng
  References:
             1 , 2




I have found out some more. Looking really quickly over the JVM specs, I
found that
indeed the astore-command requires that the variables index be below 128.
However,
the book also said that if more index space is needed, a "wide" command can
be used to
be able to address up to 65xxx variables.
Question: is there a possibility to integrate this "wide"-command into the
class compiler?
Some option, that can be set?  Or am I on the wrong tracks?

Please help, since I want to avoid spreading the script over many classes to
avoid the
size limitation. Cheers, Sylvia


Sylvia E. Schleutermann <ses@h-m-s.com> wrote in message
news:956sv9$9g53@secnews.netscape.com...
> I have found out that it is definitely the number of variables.
> I removed all variables and then the script compiled into class files
> with one base class and inner classes for each function in the script.
>
> What is the limitation exactly, i.e. does anyone know how many (global)
> variables
> I can use? Or is there some other kind of work around?
>
> Cheers, Sylvia
>
>
> Sylvia E. Schleutermann <ses@h-m-s.com> wrote in message
> news:956qtv$6kh3@secnews.netscape.com...
> > Hello,
> > when compiling a *.js file to class file, I get a "bad local" runtime
> > exception.
> > Stepping through the source, the following happens in reverse order:
> >
> > Codegen.xstore (75, 58, 209)
> >     -> in the switch - default case, there is a comparison
> >         for local (=209), which is compared to Byte.MAX_VALUE (=127).
> >         When greater, the above exception is thrown.
> >
> > Codegen.astore (209)
> >     -> calls Codegen.xstore (ByteCode.ASTORE_0, ByteCode.ASTORE, 209)
> >
> > Codegen.generatePrologue (<context>, <tree>, true, -1) // -1 is
> > directParameterCount
> >     -> sets itsZeroArgArray = getNewWordLocal(); // here, the 209 is
> > produced
> >     -> calls astore (itsZeroArgArray)
> >
> > From what I can read from the source code, the 209 seems to be a counter
> for
> > "locals", perhaps
> > local variables?? The function that is being compiled does initialize
many
> > variables - would it help
> > to move the initialize code out of the function into separate code
blocks?
> >
> > The function looks like this
> >
> > function rule_Disclaimer()
> > {
> >     try { VAR1 = <init code 1>;} catch (exception) { VAR1 = <default
init
> > code 1>; }
> >     try { VAR2 = <init code 2>;} catch (exception) { VAR2 = <default
init
> > code 2>;}
> >         ... (about 58 such variables)
> >
> >     var cond = true;
> >
> >     < rest of code>
> > }
> >
> > When I compile the script for interpreted mode, all works well. The
> > variables VAR1 to VAR58 are to be global
> > variables (global to the whole script).
> >
> > I appreciate any help! Thanks, Sylvia
> >
> >
>
>
2001-02-02 15:20:03 +00:00
mkaply%us.ibm.com 4dfdf94ab0 OS/2 TB breakage
Need cast to pass C++ function
2001-02-02 13:54:03 +00:00
jband%netscape.com a6063e7ec0 the rest of the fix for bug 66950 to add nsISupportsWeakReference support of xpconnect wrapped JSObjects. r=rogerl sr=brendan 2001-02-02 10:01:56 +00:00
jband%netscape.com 366d94b44a the rest of the fix for bug 67258 to avoid empry Components.results and the similar pattern in nsJSIID. r=dmose sr=brendan 2001-02-02 08:57:47 +00:00
jband%netscape.com 0edad4cc9a backing out two changed inadvertantly committed! 2001-02-02 08:52:22 +00:00
jband%netscape.com bb5db125e3 part of the fix for bug 67258 to avoid empry Components.results. r=dmose sr=brendan xpccomponents.cpp 2001-02-02 08:48:28 +00:00
jband%netscape.com 058b27e064 part of the fix to bug 66950. Add support for cheaply tracking the lifetime of arbitrary JSObject by extending the GC callback mechanism to notify after marking is done but before sweeping, and by providing an api function that can be called at that point to determine if any given gcthing is about to be finalized. r=rogerl sr=brendan 2001-02-02 08:44:24 +00:00
rogerl%netscape.com 61c02b49fb Fixed case, sorry 2001-02-02 01:08:06 +00:00
rogerl%netscape.com 4f0fb6c68b Added ICodeEmitter 2001-02-02 01:06:30 +00:00
rogerl%netscape.com 99801e47e7 Added icodeEmitter to VC++ build 2001-02-02 01:05:38 +00:00
rogerl%netscape.com 4b45446f30 Re-structuring some ICG details. 2001-02-02 01:04:22 +00:00
mkaply%us.ibm.com bcafb60502 OS/2 TB break
Need JS_STATIC_DLL_CALLBACK
2001-02-01 18:39:38 +00:00
disttsc%bart.nl ed80658326 Fix senna bustage, add REQUIRES line. r=mkaply 2001-02-01 18:07:08 +00:00
sspitzer%netscape.com e2a6bf7559 fix for #67205. get --enable-xpctools to work again.
it will build the JS profiler.  r=leaf,bryner, sr=cls
2001-02-01 15:36:59 +00:00
waldemar%netscape.com 068fd9649d Fixed comment 2001-02-01 03:42:25 +00:00
waldemar%netscape.com d5f1e7556c Added make-and-compile-grammar cache 2001-02-01 03:41:54 +00:00
waldemar%netscape.com 12ec735bd9 Added hash-table-= 2001-02-01 03:41:18 +00:00
waldemar%netscape.com 0845341beb Added the id type 2001-02-01 03:40:56 +00:00
waldemar%netscape.com 5cfc39b9dd Removed namespace inheritance. Begun implementing semantics. 2001-02-01 03:39:26 +00:00
rogerl%netscape.com bd57a453dc Removed unused parameter. 2001-02-01 01:06:53 +00:00
rogerl%netscape.com 80fd524b82 Changed Cast to take a JSValue containing a type instead of type directly.
Added LoadType to help support that. Also added LoadNull.
2001-02-01 00:59:21 +00:00
mkaply%us.ibm.com 4f1da827ea Putting it back until I figure out the bustage 2001-02-01 00:03:12 +00:00
mkaply%us.ibm.com 555d54c5fb OS/2 only
r=dbaron
Add static to OS/2 JS_STATIC_CALLBACK so I don't break the build like I did yesterday
2001-01-31 23:40:42 +00:00
mkaply%us.ibm.com ed6ae6f4e1 #59855
r=mccabe, sr=brendan
Proper building of fdlibm standalone
2001-01-31 23:26:00 +00:00
mkaply%us.ibm.com 72fdd96e76 #59855
r=mccabe, sr=brendan
OS/2 needs fdlibm copysign
2001-01-31 23:24:27 +00:00
mkaply%us.ibm.com 808af911ef #59855
r=mccabe, sr=brendan
Fix Javascript to get Endianness from jstypes.h
2001-01-31 23:23:42 +00:00
mkaply%us.ibm.com 484398fb9e #59855
r=mccabe, sr=brendan
Fix Javascript to get Endianness from jstypes.h - start with a Makefile change and let it cycle once
2001-01-31 21:07:16 +00:00
matthias%sorted.org 819b1cdea5 introduced "sync" helper function for converting a Javascript function
into a Java-style synchronized method
2001-01-31 13:05:21 +00:00
matthias%sorted.org a5be259d64 added support for implementing Java-style synchronized methods in Javascript 2001-01-31 13:02:42 +00:00
dveditz%netscape.com 4c8c73bb24 enable win32 XPC_TOOLS_SUPPORT environment var to turn on js profiler hooks. r=mcafee,sr=jband 2001-01-31 03:26:31 +00:00
jband%netscape.com 993aa699c2 NOT PART OF THE BUILD - simple observer test to demonstrate use of weak references 2001-01-31 02:32:39 +00:00
brendan%mozilla.org c39cba66d9 Throw EvalError for indirect eval calls iff strict+werror (38512, r=rogerl, sr=shaver). 2001-01-31 01:12:15 +00:00
matthias%sorted.org b9d7c15e2b added support for incremental/prefix matching of regular
expressions. The method "prefix" on a RegExp behaves exactly the same
as the "exec" method except it returns "undefined" if the match failed
because there was an insufficient number of characters in the
input. E.g.
/^foo/.prefix("foo")	=> ["foo"] (just like exec)
/^foo/.prefix("fox")	=> null (just like exec)
/^foo/.prefix("fo")	=> undefined (whereas exec returns null)
2001-01-30 16:38:21 +00:00
dbaron%fas.harvard.edu 208b4d5fa6 Attempt to fix build bustage from mkaply's checkin. r=kin 2001-01-30 16:31:43 +00:00
mkaply%us.ibm.com b8aaae7f98 #62003
r=mccabe, sr=brendan
Fixing up some Javascript CALLBACKs
2001-01-30 15:53:38 +00:00
mkaply%us.ibm.com ac97ab347b #62003
r=mccabe, sr=brendan
Fixing up some Javascript CALLBACKs
2001-01-30 15:43:35 +00:00
nboyd%atg.com 7272657a9d Fix bug:
Subject:
             [Rhino] Question
        Date:
             Tue, 30 Jan 2001 20:18:21 +0900
       From:
             "get21" <get21@secsm.org>
 Organization:
             Another Netscape Collabra Server User
 Newsgroups:
             netscape.public.mozilla.jseng




I found something unusual to me when I hacking the Rhino source code.

In tagify method of NativeString Class,

When it adds tag to its string(this.string), it does not use quotation
marks.

For example, the result of tagify("A HREF", "A", value) in
jsFunction_link(String value) is

<A HREF=Some Value>Original String Value</A>

Not,

<A HREF="Some Value">Original String Value</A>

This question might sound silly, but I'm curious why.

Thanks in advance,

Nam

--
email : get21@secsm.org
home : http://get21.secsm.org
phone : 011-9092-1802
2001-01-30 13:47:19 +00:00
brendan%mozilla.org 621cdcc5b2 Better branch callback failure message. 2001-01-29 20:32:57 +00:00
brendan%mozilla.org 86de81d302 Make branch callback optional, parameterize its limit, and give a warning when it fails. 2001-01-29 20:27:30 +00:00
brendan%mozilla.org 27d55355a6 Fixes for bug 33390 (r=mccabe, sr=shaver)
- Optimize compile (parse+emit) operation to generate code for each top-level
  statement or function in turn, recycling JSParseNodes as we go for greatly
  reduced "long linear script" footprint.
- Fix O(n**2) growth problems in bytecode and srcnote generation.
- Add js_ParseTokenStream entry point to compiler, for tree-generation without
  code-generation.  Move JSOP_EVAL instruction selection from code-generator to
  parser, to match other such specializations and enable js_ParseTokenStream.
- Fix js_CompileTokenStream (and get it right in new js_ParseTokenStream) to
  respect JSOPTION_VAROBJFIX.
- Clean up bracing, multi-line conditions, and overlong lines.
2001-01-27 08:00:45 +00:00
rogerl%netscape.com 52a07b9666 Fixes for bugs #66234 (57572, 57631, 61266, 61766) sr=brendan, r=mccabe,
r=rginda,r=rogerl. Also 60925, 60926 by virtue of being subsumed by above.
2001-01-27 00:31:32 +00:00
jeff.dyer%compilercompany.com 90e585d1c8 First cut a xml code generation. 2001-01-26 23:55:32 +00:00
jeff.dyer%compilercompany.com 68c43d84bf Unneeded file 2001-01-26 23:46:06 +00:00
jband%netscape.com 355a6cb803 fix jump in leaks caused by previous checkin by commenting out the offending code that roots Object.prototype 2001-01-26 08:02:23 +00:00
waldemar%netscape.com 677d83f673 Added .() operator 2001-01-26 07:33:32 +00:00
jband%netscape.com 57579a2b2f backing out the unreviewed change to the loader for bug 63027 that I checked in with the other xpconnect changes by mistake. 2001-01-26 02:35:22 +00:00
jband%netscape.com 6bf9fd8163 add xpidl support for DOMString to fix bug 65762. r=jst sr=brendan 2001-01-26 02:32:18 +00:00
jband%netscape.com f74be035ac This is mostly to fix bug 64111 - XPConnect vs. Object.prototype.toSource woes.
Some other small fixes are included. Here is the list...

- Make nsIJSID::id [noscript] because xpconnect automatically builds a nsIJSID
wrapper around nsid values. However, xpconnect does not maintain a table of
those wrappers. So, given the same id twice it will make two nsIJSID wrappers.
This means that property walking could get foo.id.id.id... and not detect that
the different objects represent the same id. nsIJSID already exposes 'number'
so that JS can get the stringified value of the nsid. The nsid struct returned
by 'id' is useful for C++, but only causes problems for JS.

- Fix the nsIXPCScriptable 'IGNORE' handler for GetAttributes to not fail
silently.

- Add 'Components' to global objects as a non-enumerable property for backwards
compatibility and to avoid additional work in property enumeration (esp. in
win.toSource!)

- Expose toSource on wrapped native JSObjects. This just returns an empty object
string: '{}'. It can be overridden by an interface method if present.

- Expose toString on wrapped native JSObjects. It can be overridden by an
interface method if present. Previously we only did this as part of the
Convert op. Now someWrapper.toString will return a callable function.

- Extend the toString behaviour to also print the address of the wrapper in
DEBUG builds only: e.g. "xpconnect wrapped nsIFoo @ 0x12345678". mccabe
convinced me this would be useful. Release build behaviour is unchanged - we
worried that exposing addresses might contribute to possible security exploits.

- Have wrapped native JSObjects use Object.prototype as their proto rather than
have a null proto. Originally this was going to allow delegation to
Object.prototype.toSource, but even without that, this seems like a good thing.
This is implemented by getting Object.prototype from the global object each
time we create a wrapper to allow for spify JS dynamic craziness.

- Use 16bit values in wrappednative property descriptors to save space. It was
only possible to use 16 bits of the pointer-sized ints in the structs anyway.

- Do a security check at enumeration time and only expose those properties that
the caller can actually 'Get'. This fixes the toSource security exception
problem.

- Add a big comment about the problem of reporting uncaught exceptions.

- Fix crashing bug for case where object has no enumerable properties and
xpconnect failed to fill in the zero count.

- Fix NewInstanceJSObject to dig in and find the 'ultimate' parent when
parenting new wrapper JSObject. The old scheme was ending up with hugely
long parent chains in some cases.

r=jst, sr=brendan
2001-01-26 02:25:09 +00:00
jband%netscape.com 42df2f7125 WHITESPACE ONLY CHANGE. Detabbing this stuff cuz it bothers me (tabbing didn't match 'Mode' line's tab-width) 2001-01-26 01:53:22 +00:00
brendan%mozilla.org d5e03229e3 Fixes for bug 61898 (which has morphed), r=rogerl, sr=jband.
- Optimize integer ++ and -- to avoid double-to-int, which is quite costly for
  some compilers (ftol on Windows with MSVC).
- Optimized arguments[i] and arguments.length references to use bytecodes that
  avoid creating an arguments object for the current frame.  This entailed
  simplifying the compiler to avoid flagging functions and scripts that set
  arguments, since we have code in jsfun.c to catch such sets at runtime.
- The code generator now eliminates useless expression statements, giving a
  strict warning about them.
- Rationalized jsemit.c's LookupArgOrVar to have well-defined results in *pn.
  Eliminate bytecode specializations for argument and local variable gets and
  sets from jsparse.c -- these precede jsemit.c's LookupArgOrVar and frustrate
  it, by setting pn_slot non-negative too early.
- Code generation errors set report->filename and report->lineno, rather than
  hacking "{0}, line {1}: " into the localized message.
- Bogus JSFRAME_VAROBJBUG removed, JSOPTION_VAROBJFIX is sufficient.
- Spruce up jsinterp.c macros to use JS_BEGIN/END_MACRO brackets if possible.
- Avoid calling JS_PropertyStub.  The call is too costly compared to a branch
  in the caller.
2001-01-26 00:59:50 +00:00
rogerl%netscape.com 72c26972f0 Fixes to support ICodeModule operand type (via name in global object) and
TRUE/FALSE/NULL/CLASS instructions.
2001-01-25 23:34:33 +00:00
nboyd%atg.com 16564bcb92 ECMA mandates a ToPrimitive on Date constructor arguments that we didn't have. 2001-01-25 19:56:54 +00:00
matthias%sorted.org 71320da674 cleaned up indentation. no code changes. 2001-01-25 18:46:38 +00:00
sspitzer%netscape.com 1f7b9feefe back out brendan (Career Limiting Move) to fix blocker bug #66545.
a=leaf
2001-01-25 18:06:57 +00:00
brendan%mozilla.org bc6f4bf25f Fixes for bug 61898 (which has morphed), r=rogerl, sr=jband.
- Optimize integer ++ and -- to avoid double-to-int, which is quite costly for
  some compilers (ftol on Windows with MSVC).
- Optimized arguments[i] and arguments.length references to use bytecodes that
  avoid creating an arguments object for the current frame.  This entailed
  simplifying the compiler to avoid flagging functions and scripts that set
  arguments, since we have code in jsfun.c to catch such sets at runtime.
- The code generator now eliminates useless expression statements, giving a
  strict warning about them.
- Rationalized jsemit.c's LookupArgOrVar to have well-defined results in *pn.
- Code generation errors set report->filename and report->lineno, rather than
  hacking "{0}, line {1}: " into the localized message.
- Bogus JSFRAME_VAROBJBUG removed, JSOPTION_VAROBJFIX is sufficient.
- Spruce up jsinterp.c macros to use JS_BEGIN/END_MACRO brackets if possible.
- Avoid calling JS_PropertyStub.  The call is too costly compared to a branch
  in the caller.
2001-01-25 09:22:19 +00:00
nboyd%atg.com 6288aee6a5 Move Invoker out as a top-level class so that it doesn't get javadoc'd
with FunctionObject (it must be public).
2001-01-24 15:49:21 +00:00
nboyd%atg.com 4ad47cbac7 Alternative fix for problem in the following email:
Subject:
        minor Rhino bug
   Date:
        Tue, 23 Jan 2001 13:14:51 -0800
   From:
        dave russo <d-russo@ti.com>
     To:
        nboyd@atg.com
    CC:
        d-russo@ti.com




Norris,

While using the new Rhino debugger (from the latest tip) I started to get "No
Context associated with current Thread" exceptions when expanding host objects
in the "Context:" debugger window.

In looking at the code, I discovered that NativeObject.toString seems to assume
that Context.getContext() may return null.  In fact, getContext() always returns
a non-null context or throws an exception.

I changed NativeObject.toString to never throw an exception (see below) and this
eliminated the problem I was seeing (of course).

It would be nice to incorporate this in a future Rhino tip or, if this change is
inappropriate, any guidance would be appreciated.  Thanks in advance.

I changed NativeObject.toString to:

    public String toString() {
        try {
            Context cx = Context.getContext();
            return jsFunction_toString(cx, this, null, null);
        }
        catch (Exception e) {
            return "[object " + getClassName() + "]";
        }
    }

from:

   public String toString() {
        Context cx = Context.getContext();
        if (cx != null)
            return jsFunction_toString(cx, this, null, null);
        else
            return "[object " + getClassName() + "]";
    }
2001-01-24 15:16:37 +00:00
beard%netscape.com 7d89961329 [not part of build] Added UTCUtils to reflect new dependencies in JS engine. 2001-01-23 19:54:49 +00:00
nboyd%atg.com 7378e1c0a4 Subject:
Re: Small usage simplification for Rhino
       Date:
            Tue, 23 Jan 2001 16:01:42 +0100
      From:
            Igor Bukanov <igor@icesoft.no>
        To:
            Norris Boyd <nboyd@atg.com>
 References:
            1 , 2 , 3 , 4




Norris Boyd wrote:

> Thanks. I've patched in your changes and checked it into CVS.

I also looked at other places with similar pattern of few lines of
common code to construct error messages. The following was occurred too
often not to avoid temptations to move it to a separated function:

NativeGlobal.constructError(
Context.getContext(), "TypeError",
ScriptRuntime.getMessage1("msg.default.value", arg),
this)

It can be replaced by
NativeGlobal.typeError1("msg.default.value", arg, this)

There are other similar usages but they are not to frequent to bother
with code reduction because even the above replacement saves just 200
bytes in uncompressed jars (it is expensive to introduce new methods in
Java).

In any case, if you think it makes any sense, patches are attached. They
are made via
diff -cbB javascript.orig javascript > patch_context
diff -bB javascript.orig javascript > patch_std
from org/mozilla directory.

Regards, Igor
2001-01-23 19:35:35 +00:00
nboyd%atg.com 37deb59a1f Fix problem:
Subject:
        Recent rhino broke security support
   Date:
        Tue, 23 Jan 2001 08:07:45 -0500
   From:
        "Kurt Westerfeld" <kurt@managedobjects.com>
     To:
        "Norris Boyd" <nboyd@atg.com>


Norris.....I like the changes made to FunctionObject to do method invocation
much faster.  Very slick.

Problem tho: this mechanism does not veer into the security support plugin
on context for defining a class.  This is crucial do creating event adapter
code later in applet environments.

I'm going to look into this, but perhaps you could probably make the changes
faster than I.

Unfortunately for us, we found this problem yesterday at a customer site.
:-(  Shame on us.

________________________________________________________________________
  Kurt Westerfeld
  Senior Software Architect
  Managed Objects
  mailto:kwester@ManagedObjects.com
  703.770.7225
  http://www.ManagedObjects.com

  Managed Objects: manage technology > rule business
2001-01-23 17:48:41 +00:00
nboyd%atg.com ad55745028 Fix formatting 2001-01-23 14:24:39 +00:00
rogerl%netscape.com 30e631797b More fixes for #64285 - i had mis-merged from SpiderMonkey. 2001-01-22 22:30:37 +00:00
nboyd%atg.com 46510f022a Subject:
Re: Small usage simplification for Rhino
       Date:
            Mon, 22 Jan 2001 20:32:12 +0100
      From:
            Igor Bukanov <igor@icesoft.no>
        To:
            Norris Boyd <nboyd@atg.com>
 References:
            1 , 2




Norris Boyd wrote:

> Sounds like a good change to reduce codesize. I'll take the patches for the
> changes.
>
> Thanks,
> Norris

I made this patch, the files in the attachment were produced via:
diff -bB javascript.orig javascript -c > patch_context
and
diff -bB javascript.orig javascript > patch_std

run from org/mozilla directory.

This patch reduces uncopressed Rhino jar by 3K.

>
> Igor Bukanov wrote:
>
>
>> Hi, Noris!
>>
>> To shorten/cleanup usage of getMessage and reportRuntimeError methods
>> from org/mozilla/javascript/Context.java I suggest to add few utility
>> methods like
>>
>>      static String getMessage0(String messageId) {
>>          return getMessage(messageId, null);
>>      }
>>
>>      static String getMessage1(String messageId, Object arg1) {
>>          Object[] arguments = {arg1};
>>          return getMessage(messageId, arguments);
>>      }
>>
>>      static String getMessage2(String messageId, Object arg1, Object arg2) {
>>          Object[] arguments = {arg1, arg2};
>>          return getMessage(messageId, arguments);
>>      }
>>
>>      static String getMessage3
>>          (String messageId, Object arg1, Object arg2, Object arg3) {
>>          Object[] arguments = {arg1, arg2, arg3};
>>          return getMessage(messageId, arguments);
>>      }
>>
>> and
>>
>>      static EvaluatorException reportRuntimeError0(String messageId) {
>>          return reportRuntimeError(getMessage0(messageId));
>>      }
>>
>>      static EvaluatorException reportRuntimeError1
>>          (String messageId, Object arg1)
>>      {
>>          return reportRuntimeError(getMessage1(messageId, arg1));
>>      }
>>
>>      static EvaluatorException reportRuntimeError2
>>          (String messageId, Object arg1, Object arg2)
>>      {
>>          return reportRuntimeError(getMessage2(messageId, arg1, arg2));
>>      }
>>
>>      static EvaluatorException reportRuntimeError3
>>          (String messageId, Object arg1, Object arg2, Object arg3)
>>      {
>>          return reportRuntimeError(getMessage3(messageId, arg1, arg2,
>> arg3));
>>      }
>>
>> This allows to write, for example, instead of
>>
>>               Object[] args = { Integer.toString(base) };
>>               throw Context.reportRuntimeError(getMessage
>>                                                ("msg.bad.radix", args));
>> simply
>>               throw Context.reportRuntimeError1(
>>                   "msg.bad.radix", Integer.toString(base));
>>
>> which is not only easy to read but also generates less code.
>>
>> I attach my patch to Context.java to implement this plus a patch to
>> ScriptRuntime.java that utilizes the additions. The patches are in
>> standard and context versions.
>>
>> If you think that this make sense to incorporate, I can send a patch
>> that utilizes this everywhere.
>>
>>   ------------------------------------------------------------------------
>>                                  Name: patch.context.Context.java
>>    patch.context.Context.java    Type: Plain Text (text/plain)
>>                              Encoding: base64
>>
>>                              Name: patch.std.Context.java
>>    patch.std.Context.java    Type: Plain Text (text/plain)
>>                          Encoding: base64
>>
>>                                        Name: patch.context.ScriptRuntime.java
>>    patch.context.ScriptRuntime.java    Type: Plain Text (text/plain)
>>                                    Encoding: base64
>>
>>                                    Name: patch.std.ScriptRuntime.java
>>    patch.std.ScriptRuntime.java    Type: Plain Text (text/plain)
>>                                Encoding: base64
>>
>>               Name: all.zip
>>    all.zip    Type: Zip Compressed Data (application/x-zip-compressed)
>>           Encoding: base64
2001-01-22 20:28:34 +00:00
brendan%mozilla.org 7a48de7730 Followup to last checkin, comment change only, r=mccabe. 2001-01-20 02:02:48 +00:00