Commit Graph

3184 Commits

Author SHA1 Message Date
beard%netscape.com
1352d297a2 const String& to soothe g++ 2000-10-19 03:33:51 +00:00
beard%netscape.com
6561f9adaf Fixing linux breakage, incorrect constructor name. 2000-10-19 03:32:23 +00:00
rginda%netscape.com
05f1f7e5e5 made (most) parse*operand functions do the right thing... the rest choke for now. 2000-10-19 00:03:12 +00:00
rogerl%netscape.com
68b8fcce5f More warning whining. 2000-10-19 00:02:37 +00:00
rogerl%netscape.com
216cd29273 Quiet warnings 2000-10-18 23:55:47 +00:00
rogerl%netscape.com
274ac67b4a Added icodeasm & xmlparser to build 2000-10-18 23:46:39 +00:00
rogerl%netscape.com
7806a764aa Added XMLparsing to load a class. Fixed handling of forward references to
class methods/fields.
2000-10-18 23:37:44 +00:00
brendan%mozilla.org
c2d6de8a37 Don't nuke the stackPool in JS_GC if it's in use by cx->stackHeaders or cx->fp (or other future users; 57096, r=shaver, a=jband). 2000-10-18 22:21:46 +00:00
rginda%netscape.com
f983d862e9 making argument name optional in argumetlists 2000-10-18 22:01:17 +00:00
rginda%netscape.com
2662739c56 waugh, "..." isn't supported on windows. Added full icode map generated by the new perl script. Added a comment character to the assembler, and required newlines after instructions. 2000-10-18 20:44:14 +00:00
rginda%netscape.com
83ad281615 adding genmap.pl to generate the icode map 2000-10-18 20:41:03 +00:00
brendan%mozilla.org
e582a264b6 Fix cx-for-acx typo-blunder (57070, r=mccabe, a=jband). 2000-10-18 16:00:39 +00:00
rginda%netscape.com
80d2831bce fixed testcase and icodemap size 2000-10-18 04:33:54 +00:00
rginda%netscape.com
8d5c21f096 whee! the parse "tree" minimally "works" 2000-10-18 03:12:42 +00:00
rginda%netscape.com
9a4a9a865d more icodeasm work... parse "tree" is finally testable... it might even work. 2000-10-18 01:02:13 +00:00
rginda%netscape.com
ab377fd783 working in labels 2000-10-17 08:02:16 +00:00
rginda%netscape.com
169089589e icode assembler changes 2000-10-17 00:41:54 +00:00
jband%netscape.com
2fd2e32188 fix crasher bug 56843 in case of if('wrappedJSObject' in foo). Better solution for bigger problem in the works. a=brendan@mozilla.org r=shaver@mozilla.org 2000-10-16 22:34:26 +00:00
jband%netscape.com
af4e110500 remove JS gc roots on wrappedjs objects during xpconnect shutdown to avoid needless rooting and noise in root leak logs. bug 55426. a=brendan@mozilla.org r=mccabe@netscape.com 2000-10-15 05:42:25 +00:00
jband%netscape.com
c88c9a1fa4 only emit leaked root warnings when the JSRuntime is being deleted. This changes around the fix of bug 55117 and cleans up the incorrect leaked root warnings in bug 55426. a=brendan@mozilla.org r=mccabe@netscape.com 2000-10-15 00:20:48 +00:00
rginda%netscape.com
6a0f4f16a9 guess what? yep, more icode asm hacking. 2000-10-14 00:06:42 +00:00
rogerl%netscape.com
6331af284f Bug #46196, a=brendan, r=mccabe. Fixed recursive death in out of memory
situation.
2000-10-13 22:11:52 +00:00
brendan%mozilla.org
4174a19961 Checking in for rogerl (53614, r=mccabe, a=me). 2000-10-13 01:58:40 +00:00
rginda%netscape.com
074349e52d adding some comments 2000-10-12 23:59:25 +00:00
rginda%netscape.com
f74b1d34dd icode assembler still in progress 2000-10-12 23:58:51 +00:00
rginda%netscape.com
cdb2f4b71c move # to first column for Very Lame Compilers. 2000-10-12 23:58:30 +00:00
nboyd%atg.com
024a61b8eb Fix bug 56185. 2000-10-12 16:10:55 +00:00
nboyd%atg.com
dbbc5437de Fix bug 56158 2000-10-12 14:59:19 +00:00
rginda%netscape.com
a7476e025b more icodeasm hacks 2000-10-12 07:55:13 +00:00
beard%netscape.com
4966a3bd51 Outer class loader support, using ClassManager. 2000-10-12 06:30:29 +00:00
rginda%netscape.com
fad36a7a42 more hacking (flailing, maybe) on the icode assembler 2000-10-12 01:32:01 +00:00
rginda%netscape.com
8cf3b758ad initial checkin of simple query script for the icode hash 2000-10-12 01:31:33 +00:00
rogerl%netscape.com
8b43517097 Bug #55114, a=brendan, r=mccabe. Fixed failure in enumerating Java string
objects.
2000-10-12 01:23:13 +00:00
rogerl%netscape.com
629af4f7ab Bug #53614, a=brendan,r=mccabe. Fixed crash for calling RegExp literal. 2000-10-12 00:18:40 +00:00
rogerl%netscape.com
9573843374 Bug #52479 , a=brendan,r=mccabe. Fixed crash on bad \uXXXX in input. 2000-10-11 22:34:40 +00:00
rginda%netscape.com
efb89b56d0 initial checkin of icode assembler 2000-10-11 02:44:14 +00:00
rginda%netscape.com
a5b6788b8d seperate icode hash into module 2000-10-11 02:42:39 +00:00
waldemar%netscape.com
7d5f2e430b Added s flag 2000-10-11 02:28:13 +00:00
beard%netscape.com
db34dd11a5 Map all exceptions to just return null. 2000-10-10 18:14:20 +00:00
nboyd%atg.com
4a13805f10 More javadoc. 2000-10-10 14:58:47 +00:00
waldemar%netscape.com
bdc17dc404 Changed classof x to x.class. Removed eval. Made include be a non-reserved word. Changed syntax of import to allow an automatic use of selected namespaces. 2000-10-10 02:49:34 +00:00
waldemar%netscape.com
98479bac77 Removed "eval" and "include" keywords 2000-10-10 02:48:17 +00:00
rogerl%netscape.com
1db3618a98 Mods for getter/setter methods. 2000-10-09 22:21:26 +00:00
rogerl%netscape.com
f9deb5124e Bug #54408, r=mccabe, a=brendan. LiveConnect top-level property names
predefined readonly.
2000-10-09 21:39:22 +00:00
beard%netscape.com
0adc2a998b Added ClassManager.java. 2000-10-09 18:16:06 +00:00
beard%netscape.com
c45770cc40 Manages interactions with outer class loaders. 2000-10-09 17:43:51 +00:00
brendan%mozilla.org
616048726d Remove not-found property caching (55624, r=shaver a=jband). 2000-10-09 14:38:21 +00:00
nboyd%atg.com
890b3a1a48 Add support for new Ant-based buildfile. 2000-10-06 16:26:17 +00:00
nboyd%atg.com
d8cbaa15f2 Remove reference that javadoc couldn't find 2000-10-06 16:25:36 +00:00
nboyd%atg.com
f8476f784b Reformat code. 2000-10-06 16:25:14 +00:00
mccabe%netscape.com
4af35f0767 Fix to 55117. Warn on DEBUG of any GC roots remaining at engine shutdown.
r=rogerl@netscape.com
a=brendan@mozilla.org
2000-10-05 21:55:38 +00:00
jband%netscape.com
1fde59425a fix bug 55139. fix broken JSObject parenting of wrapped natives for JS components. r=shaver@mozilla.org a=brendan@mozilla.org 2000-10-05 04:15:43 +00:00
jband%netscape.com
48b834136a part of bug 55139. Add debug only diagnostic code for dump JSObjects. r=shaver@mozilla.org a=brendan@mozilla.org 2000-10-05 04:13:53 +00:00
jband%netscape.com
b34f60f9ae fix bug 55151. This fixes a trunk only regression caused by me in a previous checkin. I missed that an 'if' block contained both a report of an error (that we might want to skip) and also a few lines of necessary error handling code. r=mccabe@netscape.com a=brendan@mozilla.org 2000-10-05 04:13:48 +00:00
brendan%mozilla.org
1e327cdaa4 Fix old bug that stored iter_state even after OBJ_ENUMERATE error (55201, r=rogerl, a=jband). 2000-10-05 00:43:17 +00:00
nboyd%atg.com
ac09dd90be Allow superclass to appear anywhere in the list of classes in the JavaAdapter argument list. 2000-10-03 18:34:02 +00:00
beard%netscape.com
f6acc78141 avoid an infinite loop on EOF. 2000-10-03 06:23:11 +00:00
nboyd%atg.com
f294ddcb34 Avoid creating multiple wrappers. 2000-10-02 20:46:08 +00:00
nboyd%atg.com
7a015db6df Do cheap test first. 2000-10-02 17:10:00 +00:00
jband%netscape.com
b1a79c9199 Mostly submitted patches...
- Fix bug 54264 from Jon Smirl <jonsmirl@mediaone.net>
  Do cleanup of thread local storage on main thread.

- Fix bug 54275 from Jon Smirl <jonsmirl@mediaone.net>
  Release components in shell before shutting down xpcom

- Fix bug 54310 from Jon Smirl <jonsmirl@mediaone.net>
  Call JS_DestroyScript in xpcshell and js.c

- Fix bug 54352 from Jon Smirl <jonsmirl@mediaone.net>
  Cleanup what static data we can in xpclog.

- Initial fix of bug 54473
  Don't report warnings as errors in wrapped JS calls.

- Fix bug 54462 from Mark Hammond <MarkH@ActiveState.com>
  Fix jband's stupid use of uint8 for method indexes.

- Use environment rather than prefs for #ifdef'd debug options

- Don't report NS_ERROR_FACTORY_REGISTER_AGAIN as an error.

r=mccabe@netscape.com a=jband@netscape.com
2000-09-30 08:16:09 +00:00
mccabe%netscape.com
465dd07c7a Propagate fix to 41872 from the standalone JS shell to the standalone XPConnect-enabled JS shell. Make warnings on by default in the standalone JS shell, and introduce the -W option to suppress warnings if needed. Retained the -w option (enable warnings) in case somebody was using it.
This file doesn't go into the Mozilla distribution.

r=brendan,r=jband
2000-09-30 01:42:29 +00:00
mccabe%netscape.com
d11d44e014 Fix to 41872. Make warnings on by default in the standalone JS shell, and introduce the -W option to suppress warnings if needed. Retained the -w option (enable warnings) in case somebody was using it.
This file is not part of the Mozilla build.

r=brendan
2000-09-30 00:24:22 +00:00
nboyd%atg.com
d52574f9e0 Allow null returns from SecuritySupport methods if someone only
wants to implement LiveConnect filtering
2000-09-29 13:49:47 +00:00
brendan%mozilla.org
9f53fa4c3a Fix bungled GC_KEEP_ATOMS logic (51954, r=mccabe, a=jband). 2000-09-29 00:18:15 +00:00
brendan%mozilla.org
b28c211264 Don't leave fp->sp above fp->spbase when returning, js_Invoke may GC on the way out (53123, r=mccabe, a=jband). 2000-09-29 00:11:49 +00:00
cls%seawood.org
cee73d49c2 Do not use c++ comments in c file. Breaks WS5.0 compiler. 2000-09-28 08:08:02 +00:00
mccabe%netscape.com
fe00fedb87 Fix to 54307. Patch courtesy Jon Smirl <jon@mediaone.net>.
Clean up several locks that jsdtoa uses, when JS_THREADSAFE.

a=brendan
r=mccabe
2000-09-28 05:14:32 +00:00
mccabe%netscape.com
2b876917e6 Remove unused function prototype.
r=jband
2000-09-28 02:47:40 +00:00
mccabe%netscape.com
bec36231b6 Fix to 54305, free array holding fat locks. Patch courtesy Jon Smirl <jonsmirl@mediaone.net>.
a=brendan
r=mccabe
2000-09-27 21:52:27 +00:00
jband%netscape.com
c54594db31 NOT PART OF BUILD. fixing tools bustage 2000-09-26 10:23:23 +00:00
pschwartau%netscape.com
2e458fb55e Adding new test case for scope check and creating js1_5 test suite. 2000-09-25 21:24:09 +00:00
nboyd%atg.com
f9df3eebdf Miscellaneous formatting changes. 2000-09-25 14:07:45 +00:00
nboyd%atg.com
cca63b74af Drop unneeded references. 2000-09-25 14:06:47 +00:00
nboyd%atg.com
7c22356d9a Fix enum.js regression. 2000-09-25 14:04:20 +00:00
waldemar%netscape.com
ec904909e9 Added void and classof operators 2000-09-24 06:08:53 +00:00
waldemar%netscape.com
4e0482b40b Made implements clauses js2-only 2000-09-23 08:15:06 +00:00
brendan%mozilla.org
cd4a57e441 Fix two distinct bugs with similar symptoms (53123, r=law, a=jband). 2000-09-23 01:23:53 +00:00
jeff.dyer%compilercompany.com
5db74564d0 #45692:r=edburns,a=brendan. Followup fixes for oji liveconnect security. 2000-09-22 13:48:20 +00:00
waldemar%netscape.com
e020824d43 Major revisions for Sep 18 and 21 language changes 2000-09-22 08:16:22 +00:00
waldemar%netscape.com
20e9a49178 Removed "constructor" keyword 2000-09-22 08:14:56 +00:00
jband%netscape.com
dba5e6f4f1 - Use the thread context service rather than our own JSContext. This makes
us less unthreadsafe. Use THREADSAFE nsISupports impl macro. bug 52936
- Add JS_{Begin,End}Request. bug 39373
- Call xpc->InitClass on each global - not just the superglobal. bug 52591
- Remove some gotos using auto classes for cleanup.
- Converted WITH_SERVICE calls to do_GetService.
- Consistent placement of contractID strings.
a=shaver@mozilla.org
2000-09-21 04:30:32 +00:00
jband%netscape.com
1d7edfaa2e rest of the fix for bug 53268. a=brendan@mozilla.org 2000-09-21 03:56:42 +00:00
brendan%mozilla.org
3fb6399734 Fix 53268, r=jband. 2000-09-21 01:37:02 +00:00
rogerl%netscape.com
6a6ec06924 Cleanup warning fix. 2000-09-19 20:56:49 +00:00
rogerl%netscape.com
6f4f3db7ad Fixed warnings for gcc build. 2000-09-19 20:35:05 +00:00
beard%netscape.com
63c790b90b Fixed startup/terminate routines. 2000-09-19 05:38:23 +00:00
beard%netscape.com
560a653ad5 [Not part of build] Really increase default heap size, to 8192. 2000-09-19 02:50:00 +00:00
beard%netscape.com
353f308977 Bumped up memory/stack. 2000-09-19 02:34:41 +00:00
brendan%mozilla.org
293ddb04d6 Add strict warning for undefined property reference (foo.bar where bar names no object in foo or its prototypes; r=jband). 2000-09-19 02:24:11 +00:00
brendan%mozilla.org
dc510bc6a5 Fix JS_BeginRequest to avoid self-deadlock if called from a finalizer (52808, r=jband). 2000-09-19 02:18:17 +00:00
jband%netscape.com
8769f0cf40 fix shutdown crasher bug 52940. We can't leave the thread context stack service thinking that the context we are about to delete is still valid. a,r=brendan@mozilla.org 2000-09-19 01:09:48 +00:00
beard%netscape.com
0c16b3c574 Create SIOUX console with menus, etc. r=jband, a=brendan 2000-09-18 23:49:46 +00:00
brendan%mozilla.org
bea5c86c60 Censor all Call objects, per ECMA-262 (r=rogerl, 53037). 2000-09-18 23:35:22 +00:00
brendan%mozilla.org
7f91358ad8 - Fix encodeURI, decodeURI, etc. common subroutines to avoid realloc'ing char
by char, by using a larger chunk size (64 chars) for linear growth.  Also got
  rid of ASCII-oriented add_bytes subroutine and related sprintf usage.
- Avoid reloading loop invariant str->chars all the time in encode and decode.
- Avoid creating garbage strings for unescaped and reserved character sets, by
  using statically initialized jschar array constants.
- Expand tabs, clean up 80th column violations, use prevailing style, etc.
2000-09-18 22:17:30 +00:00
nboyd%atg.com
26a444c83d Expand javadoc. 2000-09-18 18:38:02 +00:00
nboyd%atg.com
358852ab05 Remove old-style debug codegen. 2000-09-18 17:57:02 +00:00
nboyd%atg.com
7f1be5b439 Better error message for common error. 2000-09-18 17:28:59 +00:00
beard%netscape.com
d91a2944d5 Make XPC shell compile on XP_MAC. r=jband, a=brendan 2000-09-17 15:34:39 +00:00
jband%netscape.com
6cca586d48 NOT PART OF BUILD. Fix xpconenct test uses of progids missed in the big progid to contractid renaming 2000-09-16 22:17:23 +00:00
brendan%mozilla.org
3fae06f653 - Back out part of patch from tlundeen@webcrossing.com, my fault for taking it
in part (the entire patch made JSContexts ref-counted, but that is not an API
  compatible change, and it doesn't help clean up at JS_Finish time if the API
  user leaks JSContext refs anyway).  52835, r=jband.
- First part of 64-bit portability fix for 52792, r=jnance.  More work needed.
- Fix bogus assert and minimization in js_AllocStack, too.
2000-09-16 22:17:22 +00:00
jband%netscape.com
8b640618cc NOT PART OF BUILD. Fix xpconenct test uses of progids missed in the big progid to contractid renaming 2000-09-16 21:47:32 +00:00
beard%netscape.com
11d6570dc7 [Not part of build] Project to build XPConnect shell testbed. 2000-09-16 02:43:29 +00:00
jband%netscape.com
fae201b405 fix bug 39373. make xpconnect calls into JS within a request for safety. a,r=brendan@mozilla.org 2000-09-15 06:59:38 +00:00
jband%netscape.com
317a99cdd1 fix bug 52579. Avoid infinite recursion dialog when JS is run by xpconnect on DOM context. a,r=brendan@mozilla.org 2000-09-15 06:17:08 +00:00
brendan%mozilla.org
324d1a170d Better patch for bug and bogus assertion found by rogerc@geocast.com. 2000-09-15 06:05:28 +00:00
rayw%netscape.com
3cd14f5878 Bug fix for 52648 -- remaining stash of progids which I missed on
the mega-change yesterday.  This will fix a few more issues.

r=warren
2000-09-14 23:20:49 +00:00
rogerl%netscape.com
b9fca9000b Bug #46429. r=rginda. Fixed bug in nested quantifiers. 2000-09-14 22:39:21 +00:00
brendan%mozilla.org
81ead0f52a Fix bogus new assertion in js_AllocGCThing (r=rogerc@geocast.com). 2000-09-14 19:58:11 +00:00
brendan%mozilla.org
76a1bda8a7 Fixes to make JS GC truly exact:
- All jsvals for which JSVAL_IS_GCTHING evaluates to true must contain tagged
pointers into the GC heap -- therefore jsapi.c's JS_DefineConstDoubles cannot
"cheat" by tagging addresses of static jsdoubles to avoid js_NewNumberValue.

- Finalization is now interleaved with the Sweep phase, to avoid allocating
memory for finalization records while sweeping.  Instead, the JSRuntime holds a
preallocated JSGCThing vector (gcFinalVec) that the Sweep phase fills and
flushes via gc_finalize_phase, repeatedly.

This means that finalizers cannot allocate a new GC thing, an incompatible but
plausible change.  js_AllocGCThing asserts and then checks whether it is called
while rt->gcLevel is non-zero, and fails the allocation attempt if so.  But this
fixes bug 38942, where the old sweep-then-finalize with a sweep => malloc
dependency could lead to memory exhaustion.

- Instead of scanning whole stackPool arenas, which led to UMRs (bug 27924) and
sometimes to gross over-scanning that depended on the GC bounds-checking all
thing pointers against its heap, we scan exactly those stack slots in use:
  - arguments reachable from fp->argv;
  - variables reachable from fp->vars;
  - operands now reachable from fp->spbase, bounded above by the lesser of
    fp->sp or fp->spbase + fp->script->depth for an interpreted frame; if the
    latter, fp->sp has advanced logically above the operand budget, in order to
    call a native method, and all unused slots from fp->sp up to depth slots
    above fp->spbase must be set to JSVAL_VOID;
  - stack segments pushed when calling native methods, prefixed by JSStackHeader
    structs and linked from cx->stackSegments through each header.
The stack segment headers help the GC avoid scanning unused portions of the
stack: the generating pc slots running depth slots below fp->spbase, and slots
at the end of an arena that aren't sufficient to satisfy a contiguous allocation
for more args, vars, or operands.

- Exact GC means the stack pointer must remain above live operands until the
interpreter is done with them, so jsinterp.c got heavily whacked.  Instead of
POPs of various kinds followed by a PUSH for binary operators (e.g.), we use
FETCH and STORE macros that index by -1 and -2 from sp, and minimize adjustments
to sp.  When sp is homed to fp->sp, this allows js_DecompileValueGenerator to
find the value reliably, and if possible its generating pc.

- Finally, the O(n**2) growth rate of gc_find_flags has been fixed, using the
scheme sketched in bug 49816 and documented in a new major comment in jsgc.c.
Briefly, by allocating flags and things from one arena, we can align things on
1024-byte "thing page" boundaries, and use JSGCPageInfo headers in each page to
find a given thing's flags in O(1) time.

/be
2000-09-14 06:14:45 +00:00
rayw%netscape.com
f00b08f5d0 fix to mal-formed contract id introduced in mega-check-in:x 2000-09-14 04:18:07 +00:00
rayw%netscape.com
0257791053 Bug 37275, Changing value of all progids, and changing everywhere a progid
is mentioned to mention a contractid, including in identifiers.

r=warren
2000-09-13 23:57:52 +00:00
brendan%mozilla.org
ba1429cb0b Fix uninitialized var bug found by one warning, silence another that's a can't-happen (r=jwbaker@acm.org). 2000-09-12 19:42:01 +00:00
nboyd%atg.com
5e562540ba Fix infinite loop in new code. 2000-09-12 17:06:15 +00:00
jeff.dyer%compilercompany.com
abacae9d59 b=45692 r=rogerl a=brendan: Enable liveconnect security. 2000-09-12 11:50:49 +00:00
beard%netscape.com
7cfe830e81 Fixing scope problems on Linux 2000-09-12 00:53:33 +00:00
waldemar%netscape.com
1a342812e7 Renamed target files 2000-09-11 23:49:53 +00:00
rogerl%netscape.com
9538af446c Removed unnecessary arg. from Call instruction. 2000-09-11 22:11:55 +00:00
rogerl%netscape.com
e9324adac8 Added getter/setter for names. 2000-09-11 22:10:44 +00:00
rginda%netscape.com
84d6c25c59 reverting old volatile fix for 24892 and replacing with cls' union patch.
spider and xpshell now pass the related testcases.
author=cls, r=me
2000-09-11 20:56:33 +00:00
nboyd%atg.com
f61a4fa629 Fix bug 49350 2000-09-11 15:12:04 +00:00
nboyd%atg.com
20778e1dde version with debugger directories 2000-09-11 14:10:23 +00:00
brendan%mozilla.org
f76a0a2d6b Fix C++ portability and AIX compilation problem due to last C++ porting attempt (48976, r=jdunn@netscape.com). 2000-09-09 05:53:00 +00:00
waldemar%netscape.com
a6d92aa305 Added support for highlights. Made @ operator js2-only. 2000-09-09 02:15:37 +00:00
waldemar%netscape.com
dc4e188aea Updated to correspond to js2 site 2000-09-09 02:15:06 +00:00
waldemar%netscape.com
8f752abf38 Added support for highlights. 2000-09-09 02:14:35 +00:00
rginda%netscape.com
5b17fd66d3 add fileName and lineNumber to Error.prototype for bug #50447
r=a=brendan
2000-09-09 00:41:15 +00:00
brendan%mozilla.org
69580434a7 Comments and white-space cleanup. 2000-09-08 21:24:14 +00:00
alla%lysator.liu.se
96b564fb5b Implement js_CompareAndSwap for GCC x86 (Linux, FreeBSD etc). This gives us fast thin locks on Linux. bug 20357 r=brendan a=brendan
This version should now work on older binutils too.
2000-09-08 12:13:39 +00:00
alla%lysator.liu.se
4b900e3e5a Reverting last change. 2000-09-08 09:28:56 +00:00
alla%lysator.liu.se
919d491e71 Implement js_CompareAndSwap for GCC x86 (Linux, FreeBSD etc). This gives us fast thin locks on linux.
bug 20357, r=brendan a=brendan
2000-09-08 08:59:37 +00:00
beard%netscape.com
61de6a40df All JSValue constructors are explicit. 2000-09-08 01:16:03 +00:00
rogerl%netscape.com
64cc59fc91 Added Branch_initialized for argument handling. 2000-09-07 19:23:24 +00:00
rogerl%netscape.com
091e41c301 Named arguments. 2000-09-07 19:22:59 +00:00
rogerl%netscape.com
18ad1c2378 Named arguments 2000-09-07 19:22:13 +00:00
jband%netscape.com
feb55a0191 fix bug 13125. Add support for wrapped native xpcom objects to be used as __proto__ objects for JavaScript objects. a,r=brendan@mozilla.org 2000-09-07 18:49:06 +00:00
brendan%mozilla.org
0fbbdd30a2 Improve JSNewEnumerateOp comment per recent exchange with Helge Hess. 2000-09-07 18:06:02 +00:00
rogerl%netscape.com
84fe8782a2 copy non-named args through 2000-09-06 02:17:47 +00:00
rogerl%netscape.com
6484d2a821 fix for redundancy 2000-09-06 02:17:18 +00:00
rogerl%netscape.com
7383f26d6a Fix for empty function body 2000-09-06 02:16:51 +00:00
brendan%mozilla.org
20e8384705 Improve a comment that implied a need to include jsstr.h. 2000-09-05 21:39:48 +00:00
brendan%mozilla.org
53ea2141f3 Must JS_SetGlobalObject at least, if not JS_InitStandardClasses, before defining native functions at startup. 2000-09-04 00:10:06 +00:00
scc%mozilla.org
37f44817be fixing bustage exposed by removing extra comparisons 2000-09-03 03:28:05 +00:00
brendan%mozilla.org
57422a219a Support external string GC types so XPConnect and other systems can optimize away copies (50602, r=jband). 2000-09-02 20:37:37 +00:00
jband%netscape.com
a1659d2bd2 fix crasher bug 51176. xpti semantics for GetParent changed sometime back and I did not find all the cases where this mattered. thanks to mang@subcarrier.org. a,r=brendan@mozilla.org 2000-09-02 20:30:56 +00:00
rogerl%netscape.com
b98c866d6f Switch from RegisterList to ArgumentList to handle named args.
Optional & rest parameter support.
2000-09-02 01:01:41 +00:00
rogerl%netscape.com
60221db240 Optional and rest parameters.
Named arguments (just begun).
2000-09-02 01:01:04 +00:00
brendan%mozilla.org
f4f8bbb650 Followup for 44997, r=shaver:
- #if JS_HAS_LVALUE_RETURN around cx->rval2/rval2set defs and uses.
- Instrument different kinds of invocations, #ifdef DEBUG only.
- Clean up basis case of empty switch statement to use high = -1, low = 0,
  requiring care when optimizing in-range tests using unsigned casts, but
  freeing the interpreter and decompiler from having to do an extra test
  before looping from low to high.
- Clean up all codegen to use JUMP_OFFSET_LEN, ATOM_INDEX_LEN, etc. instead of
  magic 2 or 4.
- Add JSOP_TRY and JSOP_FINALLY no-ops to save a srcnote per JSOP_NOP, and to
  make decompilation and jit'ing easier.
- Minimize number of source notes to maximize SRC_XDELTA span.
- Use JSSCRIPT_FIND_CATCH_START in throw code.
- Indentation and bracing nits picked.
2000-09-01 18:42:22 +00:00
brendan%mozilla.org
e185d5b9b7 Fix js_EnterSharpObject to clean up sharpObjectMap on error (44009, r=shaver). 2000-09-01 18:01:04 +00:00
jband%netscape.com
a7289b6668 fix bug 50941 by updating help text. r=shaver@mozilla.org a=brendan@mozilla.org 2000-09-01 01:02:39 +00:00
brendan%mozilla.org
38e38f2196 Support ECMA reference type return from native methods (44997, r=shaver). 2000-09-01 00:45:50 +00:00
waldemar%netscape.com
191f479b10 Added jsdhash.c 2000-08-31 20:41:33 +00:00
jband%netscape.com
8b20a44782 fix to un-bust XPCONNECT_STANDALONE build (#ifdef'd out code for the browser) from shaver@mozilla.org 2000-08-31 10:44:28 +00:00
brendan%mozilla.org
a951a13f16 Fix GC_MARK_DEBUG bustage (r=dbaron, not part of build unless you -D it). 2000-08-31 03:41:36 +00:00
brendan%mozilla.org
2b858a9a05 Forgot to round capacity up to nearest power of two\! r=bienvenu. 2000-08-31 03:12:40 +00:00
beard%netscape.com
ed0176a047 bug #44187: added guards to prevent crashes when Java not available. r=jband 2000-08-31 02:37:42 +00:00
brendan%mozilla.org
b4a84c6ca7 Script to NSPR-ize and 'PL-ize' jsdhash.[ch] so they fit (sort of) over in xpcom/ds. 2000-08-30 19:30:33 +00:00
nboyd%atg.com
95389f0d7e Better javadoc 2000-08-30 13:41:15 +00:00
mkaply%us.ibm.com
a7e2c5bb4c #50212
r=brendan, a=brendan
OS/2 GCC doesn't define _M_IX86
2000-08-30 01:04:59 +00:00
brendan%mozilla.org
20a51b8298 Finish fixing 42221, for sure. 2000-08-29 23:09:47 +00:00
mccabe%netscape.com
5c644e8fc3 Potential fix to 50313
Initialize stack variable to NULL on suspicion that later possibly-unset use of it is causing crash.
2000-08-26 07:10:31 +00:00
brendan%mozilla.org
c77f05ae2e Clean up JSObjectOps layering violations by adding mark and clear ops; JSClass gets a corresponding mark op so classes with unregistered roots in private data can mark them. The JS API gets a new JS_MarkGCThing entry point for JSObjectOps.mark implementors. Prerequisite check-in for bug 49816 and others (r=shaver). 2000-08-26 02:30:22 +00:00
brendan%mozilla.org
9f6b515501 Lazily define escape and unescape (via js_InitStringClass) only #ifndef MOZILLA_CLIENT, because the DOM must predefine backward-compatible versions of these functions that 'stick' (42221, r=mccabe). 2000-08-26 02:05:41 +00:00
mccabe%netscape.com
91dae5c247 Fix to 39141.
Check for empty element case in array literals ( first element in [,'foo'] ) now uses the next token instead of the previous one when constructing the node, so the first element gets TOK_COMMA instead of TOK_LB.

This fixes a crash from previously accepted JS.

r=rogerl
2000-08-26 01:44:35 +00:00
brendan%mozilla.org
53dfa73056 Macro-ize FPU mode fixing and do it on ever js_InitNumberClass; also, simplify #ifdefs to unify OS2 with XP_PC && _M_IX86 case (50212, r=mkaply@us.ibm.com). 2000-08-25 03:14:50 +00:00
jband%netscape.com
47af0b5999 bug 49748. Fix crash due to JS loader holding xpconnect service too long. Also add unimplemented method to xpconnect service and fix cast for bug 49641. r=shaver@mozilla.org a=brendan@mozilla.org 2000-08-24 07:50:27 +00:00
beard%netscape.com
85ec8a2278 use QueryElementAt() to save space and time. r=shaver 2000-08-24 04:10:47 +00:00
brendan%mozilla.org
f80865ab42 Eliminate silly gcc warning. 2000-08-24 03:14:17 +00:00
brendan%mozilla.org
0b6d9aa649 Add strict warning about trailing comma in object initializers being non-ECMA (50001, r=shaver). 2000-08-23 23:55:43 +00:00
rogerl%netscape.com
d7c5abb056 Fixed printOperands to handle <NaR> 2000-08-23 01:07:19 +00:00
rogerl%netscape.com
934c77a9b2 Fixed printOperand to handle <NaR> properly. Added missing 'return this' to
all constructors.
2000-08-23 01:06:52 +00:00
rogerl%netscape.com
d876d27a02 r,a=beard@netscape.com. Bug #45415, fix LiveConnect memory leak. 2000-08-22 23:31:09 +00:00
nboyd%atg.com
c03250308b Fix bug 48930: work around a MS JIT bug. 2000-08-22 17:04:21 +00:00
waldemar%netscape.com
8d725f1e58 Added arguments to attributes; made 'use', 'namespace', and 'constructor' into keywords and simplified resulting grammar; merged attribute definitions into const definitions; made eval use function call syntax; renamed 'language' to 'use'. 2000-08-22 04:31:37 +00:00
waldemar%netscape.com
37c88b80da Added \Q escape 2000-08-22 04:29:34 +00:00
waldemar%netscape.com
89765d999d Added line-break constraint 2000-08-22 04:29:01 +00:00
waldemar%netscape.com
b9ffa39439 Made terminal constraint error message more detailed 2000-08-22 04:28:01 +00:00
brendan%mozilla.org
f447340dff Fix UMR on ok in JS_ResolveStandardClass (46703, r=rogerl). 2000-08-22 00:25:17 +00:00
pavel%gingerall.cz
d24db69aaf - JSVALToSV handles perl objects in the right way 2000-08-21 16:52:49 +00:00
nboyd%atg.com
561cf27d98 Fix bug 49325. 2000-08-21 15:56:15 +00:00
nboyd%atg.com
06f16c883f Fix class path 2000-08-21 15:51:57 +00:00
brendan%mozilla.org
6aea0bf81f Re-constipate JSClass.name. 2000-08-19 19:17:32 +00:00
jband%netscape.com
577d93dfb4 fix the warnings that went along with the last bustage fix - in case one of the compilers needs it. brendan can fix as he likes in the morning 2000-08-19 10:36:45 +00:00
jband%netscape.com
598c2a90c2 fix bustage 2000-08-19 10:22:13 +00:00
brendan%mozilla.org
56c94e849a Move shell to DIRS from ENABLE_TESTS ifdef addition to DIRS (r=mccabe,leaf). 2000-08-19 08:41:34 +00:00
brendan%mozilla.org
f59c35edb2 Support lazy initialization of standard classes and their associated global functions/properties (46703, r=jband,rogerl). 2000-08-19 08:37:07 +00:00
brendan%mozilla.org
896fb216bc Add stub entry struct and ops for const void *keys, split out JS_DHashTableRawRemove, beefed up comments (part of 46703, r=jband). 2000-08-19 08:36:32 +00:00
cls%seawood.org
5ef043ad42 Use the -n32 ABI as the default for Irix 6.x but allow the option to disable it. 2000-08-19 08:05:05 +00:00
jband%netscape.com
77fff625c9 Add support for -w and -s for reporting warnings and doing strict JS checking (as supported by the engine). Also update the usage info. ra=brendan@mozilla.org 2000-08-19 03:28:01 +00:00
jband%netscape.com
870adce9bf Adding better diagnostic message to help in finding and fixing mismatched calls to JS_AddNamedRoot/JS_RemoveRoot. ra=brendan@mozilla.org 2000-08-19 03:25:16 +00:00
beard%netscape.com
e4a813ca47 added debugger classes. 2000-08-19 02:42:05 +00:00
brendan%mozilla.org
95c4e4dc86 Add jsdhash. 2000-08-18 00:04:53 +00:00
nboyd%atg.com
aad3b49e2b Fix for bug 49302 2000-08-17 12:37:32 +00:00
nboyd%atg.com
40ff06028a Fix 49301. 2000-08-17 12:28:46 +00:00
rogerl%netscape.com
2799c5b4ed Backing out fix to see if Linux build passes alivetest. 2000-08-17 00:30:57 +00:00
rogerl%netscape.com
d3804fb66f Bug #31255. r,a=brendan. Once more unto the '-->' accepted as line comment
fix.
2000-08-16 22:46:04 +00:00
rogerl%netscape.com
e1584cd317 Bug #39141, r=mccabe, a=beard. Fix crash for empty array initializer. 2000-08-16 22:43:26 +00:00
shaver%mozilla.org
f66cde2438 Fix 47354 and 39975 by providing a system-privileged scope backstop for
JS Components, and teaching the ScriptSecurityManager to check for
XPC-wrapped native objects in the scope chain when looking for an
object's principal. r=jband/a=brendan
2000-08-16 04:01:02 +00:00
nboyd%atg.com
9a21820390 Merge changes from EXP_DEBUGGER branch into tip.
Implements simple command-line debugger for scripts.
2000-08-15 15:54:46 +00:00
mccabe%netscape.com
d8cabef55b Fix to 39438.
Add a TokenStream entry to the regexp parser state so that regexps compiled at script-compilation time can report filename and line number on error.
2000-08-11 23:51:12 +00:00
conrad%ingress.com
d9e8edcf29 Changed from using strings for nsIDirectoryService props to using macro names defined in nsDirectoryServiceDefs.h r=valeski 2000-08-11 20:31:57 +00:00
waldemar%netscape.com
fec02531da Updated to generate Netscape 6-compatible HTML 2000-08-11 06:27:55 +00:00
waldemar%netscape.com
7a3bd65ac3 Added attributes to for-initializers and no-line-breaks in a few places 2000-08-11 06:27:25 +00:00
waldemar%netscape.com
d955e75027 Updated to match documentation site 2000-08-11 06:24:57 +00:00
waldemar%netscape.com
b7c2380049 Updated to match styles.css on documentation site 2000-08-11 06:24:39 +00:00
mccabe%netscape.com
16ab7000d2 Back in backed-out fix. 2000-08-11 02:58:30 +00:00
mccabe%netscape.com
e38da88c9f Backout until I can figure out why mac doesn't like strlen here, even though it seems OK elsewhere. 2000-08-10 23:32:03 +00:00
mccabe%netscape.com
8ddfc050c7 Fix to 46566.
Always copy the current line string out of the token buffer when generating an error report, rather than just passing the token buffer itself.  The token buffer wasn't necessarily a well-terminated string, so displaying the contents of the string in the error report produced unexpected results.

The unicode string in the error report is owned by a JSString; this string is rooted for the (stack-based) lifetime of the error report.

Fix courtesy jband.

r=mccabe
a=beard
2000-08-10 23:02:39 +00:00
mccabe%netscape.com
bb5465f725 Fix to 34425 -
Always create an error report, even when there is no current stack frame and it might be empty.  This fixes an API regression; we used to allow JS_ReportError to be called from the API when no JavaScript was running.

r=rogerl
a=beard
2000-08-10 22:57:40 +00:00
mccabe%netscape.com
69b8cc3cca Fix to 47409 -
Don't use timezone comment in javascript Date object toString string if it looks like it might not be ASCII.

a,r=beard
2000-08-10 22:54:45 +00:00
brendan%mozilla.org
2ffe707880 Fix cut-and-paste bugs in JavaMember_finalize (48304, r=pschwartau). 2000-08-10 03:09:41 +00:00
mccabe%netscape.com
5fb749ab79 Cast some parameters to PRUnichar * from jschar * to make the Mac happy. 2000-08-09 23:42:24 +00:00
mccabe%netscape.com
4efbf7baec Fix to 24688. Post a message to the JavaScript console whenever a call is made through XPConnect to a JS Component or other JS object that results in an exception.
Also eliminate xpcJSErrorReport and merge some functionality from it into nsScriptError.

r=jband,a=beard
2000-08-09 22:48:52 +00:00
rogerl%netscape.com
9d79d55a1b r,a=brendan@mozilla.org. Adding missing ECMA3 compliance toLocaleXXX
functions to built-in Array, Date and Object object prototypes.
2000-08-09 21:46:03 +00:00
nboyd%atg.com
faa5b161dc fix 47859 2000-08-09 20:23:50 +00:00
nboyd%atg.com
c65fc2d8fd Fix 47859 2000-08-09 20:22:37 +00:00
rogerl%netscape.com
e0214135b4 r=brendan, bug# 34276. Fix for correctly including winsock2.h. 2000-08-08 20:28:49 +00:00
rogerl%netscape.com
cf1bd923c5 (update to fix for bug #31255). Previous patch was insufficient in that it
didn't handle the case when the tokenstream is not tokenizing newlines.
2000-08-08 20:24:56 +00:00
rogerl%netscape.com
e8f1a9e20c Added 'static' to global object routines. 2000-08-04 20:54:24 +00:00
rogerl%netscape.com
67730faf1f Oops. Left icode output on by default, now off. 2000-08-04 20:37:42 +00:00
rogerl%netscape.com
0013224436 Prototype munging for built-in global properties, implemented Function
object & Boolean object.
2000-08-04 20:28:35 +00:00
waldemar%netscape.com
9e38333da6 Made link order consistent 2000-08-02 23:09:53 +00:00
waldemar%netscape.com
8941a10acb Fixed Mac errors and warnings 2000-08-02 23:09:29 +00:00
jband%netscape.com
d957e12a12 interim fix for bug 25180. Build double wrappers around JS components used by JS code. Includes secured scheme for getting at underlying JSObject for those who really need to do this. a=warren r=rginda 2000-08-02 03:57:59 +00:00
beard%netscape.com
e2d1e94396 fixing warnings, removing need for JStrings to be copied for mClass 2000-08-02 03:53:04 +00:00
nboyd%atg.com
0667cc6b4b Fix javadoc. 2000-07-31 21:19:05 +00:00
rginda%netscape.com
80b337ffd6 shut up "unused param" warnings by only naming the register param if the icode uses a RegisterList operand. 2000-07-29 02:00:12 +00:00
nboyd%atg.com
091e5f848f Experimental changes for debugger. 2000-07-27 14:54:13 +00:00
rogerl%netscape.com
54e6f7c03f Patch from Norris :
A Rhino user has complained about concurrency problems in the interpreter,
and I think the attached diff fixes some problems that could be caused if
the same interpreted function or script was called simultaneously from
two different threads.
2000-07-26 23:04:14 +00:00
mccabe%netscape.com
6183efe935 Not part of the Mozilla build.
Promulgate line-editing to the lcshell standalone command-line interpreter, and add more comments to the js shell support for the same.
2000-07-26 03:14:49 +00:00
rogerl%netscape.com
9cb37bc8c8 Function prototype objects etc. 2000-07-26 01:56:47 +00:00
rogerl%netscape.com
c30779b359 More ECMA 3 mucking about to support constructors etc. 2000-07-25 22:58:04 +00:00
brendan%mozilla.org
4736a63576 What a dork, I didn't test-build on Linux! 2000-07-24 21:28:08 +00:00
putterman%netscape.com
6f2bb03f35 backing out brendan's changes to fix build 2000-07-24 21:13:13 +00:00
morse%netscape.com
57b98ea166 attempt to fix build bustage 2000-07-24 21:03:41 +00:00
brendan%mozilla.org
5e0d51703d Micro-optimize source (compilers probably do it, but hey); fix a comment. 2000-07-24 20:17:24 +00:00
brendan%mozilla.org
af6dc1da89 Fix broken code that stored off the end of 'vector' in ProcessArgs (not part of build). 2000-07-24 20:13:50 +00:00
brendan%mozilla.org
ef35aeadcc Fix second (prototype-owns-property) setter/shared special case to unlock properly (45940, r=mccabe). 2000-07-22 01:03:04 +00:00
rogerl%netscape.com
7b8358b869 r=brendan@mozilla.org Bug #31381 Bug in Alpha 64-bit pointer cast.
Added extra 'long'field to Java wrapper object to handle platforms with
64 bit pointers.
2000-07-21 21:57:29 +00:00
rogerl%netscape.com
11aa5e9f47 r,a=brendan@mozilla.org. Bug #23502, crash in qsort when user function
misbehaves.
2000-07-21 21:46:22 +00:00
nboyd%atg.com
a0e64bea0b Fix 45928 NativeDate uses getDeclaredConstructor instead of getConstructor 2000-07-21 17:13:09 +00:00
beard%netscape.com
583d45e258 added jsmath.cpp/h 2000-07-21 05:07:29 +00:00
beard%netscape.com
90c948a47a XML project file. 2000-07-21 05:07:05 +00:00
beard%netscape.com
eec51fa4ce update dependencies to include jsmath.o 2000-07-21 05:01:10 +00:00
beard%netscape.com
94888cdb78 add jsmath.cpp to the build. 2000-07-21 05:00:43 +00:00
beard%netscape.com
b955eb7e09 scope of loop variables fix 2000-07-21 05:00:10 +00:00
rogerl%netscape.com
84455b51d9 Implementing Object.prototype object and global object for ECMA 3
Adding Math class support.
2000-07-21 01:16:49 +00:00
jband%netscape.com
43adc72647 drastically reduce unnecessary malloc calls from js_Atomize. r=brendan@mozilla.org. a=brendan@mozilla.org 2000-07-21 00:57:19 +00:00
dougt%netscape.com
b5027cd07a more debug information. r=jband. 2000-07-21 00:53:07 +00:00
jband%netscape.com
f392c7097c fix for crash that can happen when wrapped JS objects get accessed after xpconnect shutdown. This was burning outside users of xpconnect. bug 45669. r=mccabe@netscape.com a=brendan@mozilla.org 2000-07-19 06:15:32 +00:00
jband%netscape.com
a09164a7d1 fix bustage from dougt's last change to this file. not part of build. r=dougt@netscape.com 2000-07-19 06:11:12 +00:00
jband%netscape.com
ff320436f0 patches from madams@janna.com to build xpconnect standalone. bug 42026. r=leaf@mozilla.org a=brendan@mozilla.org 2000-07-19 03:36:27 +00:00
rogerl%netscape.com
06f0a5261f Removed all xxxCall, using simple call for everything.
Changed methods to use mMethods vector instead.
Various other fixes etc.
2000-07-18 20:53:03 +00:00
beard%netscape.com
7a1c2d350a Added ClassOutput.java, WrapHandler.java. 2000-07-18 01:29:34 +00:00
beard%netscape.com
a5ef09a1a6 cleaned up by removing widenCString() calls when using world.identifiers 2000-07-17 20:39:19 +00:00
nboyd%atg.com
22adf6c37b Fix javadoc error. 2000-07-17 14:08:28 +00:00
brendan%mozilla.org
5ee77531dd Remove unused vars and WIN16 crap; improve freelist-scavenging code to avoid taking too big an arena off the freelist in the case where nb > arenasize (41381 again, r=jband@netscape.com). 2000-07-15 19:12:49 +00:00
mcafee%netscape.com
c77af9f272 Ignore generated files 2000-07-15 15:56:34 +00:00
rginda%netscape.com
950d90e264 removing bogus assert (per rogerl) 2000-07-15 00:01:25 +00:00
beard%netscape.com
96e8363f86 added operator[](const char*) to StringAtomTable. 2000-07-14 23:10:02 +00:00
rogerl%netscape.com
3def89ee0d Fixed slots for non-function vars, plus bug in slot xcrement. 2000-07-14 22:23:20 +00:00
brendan%mozilla.org
1735e9b50e Fix for..in loop bug that reopened 41126 (r=jband@netscape.com). 2000-07-14 05:37:40 +00:00
brendan%mozilla.org
d5fbbb870c Fix 41381 regression from last fix attempt (r=jband). 2000-07-14 05:35:08 +00:00
jband%netscape.com
cc7bff60f8 Fix dropProperty crash. This is needed because the JSObjects used by xpconnect wrapped natives need to act both as host objects with non-slot properties and as a plain JSObjects using the default JSOps and all that entails. So, we can't be passing the host-style props to dropProperty though we do still need to do so for other props. This has only been working up to now by luck. r=brendan@mozilla.org a=brendan@mozilla.org 2000-07-14 05:34:46 +00:00
rogerl%netscape.com
0d866e25b5 Backed out time() 2000-07-14 01:46:14 +00:00
rogerl%netscape.com
23e9d7c1c8 Type targetted binary operators.
Added 'time()' function as native.
2000-07-14 01:00:53 +00:00
jband%netscape.com
bd65f5dc54 add THREADSAFE nsISupports implementation macros to some of the classes which lacked them. bug 45404. a=brendan@mozilla.org 2000-07-13 23:04:15 +00:00
brendan%mozilla.org
f0b2ab9b86 Why didn't the lack of this break Linux, where I tested? 2000-07-13 05:56:28 +00:00
syd%netscape.com
dacf41392f Add support to JS profiler for collecting min, max, and average execution
times of functions. Doesn't yet handle rentrancy. Create Makefile.in files
so this stuff will build on *nix. r=jband, a=leaf
2000-07-13 05:19:22 +00:00
brendan%mozilla.org
2566f33358 Try again for bug 41381, r=wtc@netscape.com 2000-07-13 05:08:35 +00:00
brendan%mozilla.org
d63dccc79d Uh oh. Back out last change until I'm sure I'm not an idiot. 2000-07-13 04:00:33 +00:00
brendan%mozilla.org
ac90b0c17d Fix ancient bugs: compare-and-swap is not threadsafe given A-B-A address replay via malloc/free; release to mark in pool->first empty arena would not free anything, as troy@tellme.com found (41381, r=wtc@netscape.com). 2000-07-13 03:49:22 +00:00
beard%netscape.com
89608ef140 need <stdio.h> for fopen on the Mac. 2000-07-13 02:23:55 +00:00
beard%netscape.com
60feb5d1fd fixing readEvalFile to save off important Context data members. implemented identical_Default for string 2000-07-13 01:35:57 +00:00
beard%netscape.com
e9a25e0a62 fixing readEvalFile() by creating another Context 2000-07-13 00:44:30 +00:00
rogerl%netscape.com
58dc7e47b7 Switching to generic binary operator in order to distinguish situation
where Operators package had been loaded and be able to generate typed
versions of the binary operators otherwise.
2000-07-13 00:14:54 +00:00
dougt%netscape.com
d84c495203 bug 40750.
Adding followSymlink flag to nsILocalFile.
Adjusting callers.
windows shortcut optimizations.
r=blizzard@mozilla.org.
a=brendan@mozilla.org
2000-07-12 23:31:31 +00:00
jdunn%netscape.com
8e48251700 do not include -lm for HPUX (as well as BeOS)
r= leaf@mozilla.org
2000-07-12 22:41:17 +00:00
brendan%mozilla.org
7a8885ff90 Fix 'out of order' malloc failure-handling bug found by cgn1234@yahoo.com (41022, r=cgn1234). 2000-07-12 01:44:12 +00:00
rogerl%netscape.com
b8bd1adb30 Implemented Import -only it's not in the parser yet.
Added missing defineXXX functions.
2000-07-11 23:49:20 +00:00
rginda%netscape.com
3a02396fda cleaned up linux warnings, minor debugger tweaks 2000-07-11 23:08:03 +00:00
rogerl%netscape.com
774d010635 More on @ operator. Fixed R 4billion print bug. 2000-07-11 20:54:06 +00:00
rogerl%netscape.com
087d2475a7 Some parts of x@<name> working. 2000-07-10 23:18:07 +00:00
jband%netscape.com
6b88acecab add previously overlooked support for nsIXPCNativeCallContext implementors to signal that they have set the method return value for the JS caller. a=brendan@mozilla.org r=vidur@netscape.com 2000-07-10 22:39:37 +00:00
rogerl%netscape.com
68724857b9 r=brendan@mozilla.org, Fix for #31255, support '-->' on line by itself as
a line comment - allows old, bogus HTML to execute a la 4.X.
2000-07-10 20:23:54 +00:00
rogerl%netscape.com
abddb6b6be r=brendan@mozilla.org, Fix for #44013 - enforce security for defineGetter
& defineSetter by calling OBJ_CHECK_ACCESS.
2000-07-10 20:21:38 +00:00
brendan%mozilla.org
7acd9814b4 Fix an out-of-date comment. 2000-07-08 02:35:56 +00:00
brendan%mozilla.org
58ffa1e2e0 Make it safe to nest a GC from js_AllocGCThing, ultimately from the interpreter; also make sure we collect all garbage (even garbage created by finalizers who unroot or unlock GC-things) when destroying the last context (39125, 44376, r=mccabe@netscape.com). 2000-07-08 02:06:01 +00:00
rogerl%netscape.com
daba9186aa Support for 'constructor'. 2000-07-08 01:08:29 +00:00
nboyd%atg.com
0a9b985a17 Deprecate FlattenedObject. 2000-07-07 14:41:35 +00:00
waterson%netscape.com
c1a0e63f75 Brendan meant to add jsdhash.h to the Mac build, too. 2000-07-06 20:55:23 +00:00
waterson%netscape.com
1001bcd519 Brendan meant add jsdhash.c to the Mac build, too. 2000-07-06 20:54:17 +00:00
rogerl%netscape.com
1375151969 Removed preprocess step, consolidated identifier handling. 2000-07-06 18:26:26 +00:00
brendan%mozilla.org
b117e30fa4 Fix lying comment, pick control flow nit (r=lumpy,a=jack). 2000-07-06 07:38:11 +00:00
brendan%mozilla.org
6d7ae73603 Add jsdhash.h to export/install lists, and jsdhash.c/.obj. 2000-07-06 04:46:18 +00:00
brendan%mozilla.org
2ecb3888a2 Avoid 80th column violations and unnecessary local variable. 2000-07-06 01:15:08 +00:00
brendan%mozilla.org
e5ca3a7b1a Undo teeny optimization from rev 3.28, alas it breaks ECMA Ed. 3, 15.5.4.15. 2000-07-06 00:30:46 +00:00
nboyd%atg.com
a1f493ab08 Remove obsolete references to NodeFactory. 2000-07-05 17:08:26 +00:00
nboyd%atg.com
fdeea4b93b Subject:
Re: Rhino1.5.R1: problems with multithreaded embedded application.
        Date:
             Mon, 03 Jul 2000 14:38:56 -0400
       From:
             Norris Boyd <nboyd@atg.com>
 Organization:
             Art Technology Group
         To:
             Fergus Gallagher <Fergus.Gallagher@orbisuk.com>
 Newsgroups:
             netscape.public.mozilla.jseng
  References:
             1




You found a bug in Rhino; I wonder if others have been running into the same thing.

The problem is with a class called LazilyLoadedCtor. I wrote this class to reduce the
time
required by initStandardObjects by only creating standard objects when the associated
constructors are first accessed. The problem is that this class was not threadsafe.
I've
made changes to that class, and to ScriptableObject as well. The design of dynamic
properties calling getters and setters (which LazilyLoadedCtor uses) didn't really
allow
any way for the getter/setter to replace itself without a thread hazard. I've now
extended
setters so that they can return a value which replaces the getter/setter to avoid this
problem.

Thanks for finding this problem. There have been a couple of other reports of problems
in
this area, so I hope this will fix them.

The patch follows.

--N

Index: LazilyLoadedCtor.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/LazilyLoadedCtor.java,v
retrieving revision 1.1
diff -u -r1.1 LazilyLoadedCtor.java
--- LazilyLoadedCtor.java 2000/02/29 21:34:37 1.1
+++ LazilyLoadedCtor.java 2000/07/03 18:31:03
@@ -58,9 +58,12 @@
     }

     public Object getProperty(ScriptableObject obj) {
-        obj.delete(ctorName);
         try {
-            ScriptableObject.defineClass(obj, Class.forName(className));
+            synchronized (obj) {
+                if (!isReplaced)
+                    ScriptableObject.defineClass(obj, Class.forName(className));
+                isReplaced = true;
+            }
         }
         catch (ClassNotFoundException e) {
             throw WrappedException.wrapException(e);
@@ -83,11 +86,14 @@
         return obj.get(ctorName, obj);
     }

-    public void setProperty(ScriptableObject obj, Object val) {
-        obj.delete(ctorName);
-        obj.put(ctorName, obj, val);
+    public Object setProperty(ScriptableObject obj, Object val) {
+        synchronized (obj) {
+            isReplaced = true;
+            return val;
+        }
     }

     private String ctorName;
     private String className;
+    private boolean isReplaced;
 }
Index: ScriptableObject.java
===================================================================
RCS file: /cvsroot/mozilla/js/rhino/org/mozilla/javascript/ScriptableObject.java,v
retrieving revision 1.17
diff -u -r1.17 ScriptableObject.java
--- ScriptableObject.java 2000/03/13 17:12:36 1.17
+++ ScriptableObject.java 2000/07/03 18:31:04
@@ -246,11 +246,21 @@
                             break;
                         }
                     }
-                    getterSlot.setter.invoke(start, arg);
+                    Object v = getterSlot.setter.invoke(start, arg);
+                    if (getterSlot.setterReturnsValue) {
+                        slots[slotIndex].value = v;
+                        if (!(v instanceof Method))
+                            slots[slotIndex].flags = 0;
+                    }
                     return;
                 }
                 Object[] args = { this, actualArg };
-                getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                Object v = getterSlot.setter.invoke(getterSlot.delegateTo, args);
+                if (getterSlot.setterReturnsValue) {
+                    slots[slotIndex].value = v;
+                    if (!(v instanceof Method))
+                        slots[slotIndex].flags = 0;
+                }
                 return;
             }
             catch (InvocationTargetException e) {
@@ -1183,6 +1193,7 @@
         slot.delegateTo = delegateTo;
         slot.getter = getter;
         slot.setter = setter;
+        slot.setterReturnsValue = setter != null && setter.getReturnType() !=
Void.TYPE;
         slot.value = null;
         slot.attributes = (short) attributes;
         slot.flags = flags;
@@ -1551,6 +1562,7 @@
     Object delegateTo;  // OPT: merge with "value"
     Method getter;
     Method setter;
+    boolean setterReturnsValue;
 }




Fergus Gallagher wrote:

> I am having problems getting my head around contexts and scopes and my
> multi-threaded application fall over.
>
> If I set "global=false" the following code used a per-thread
> initStandardObject() and this seems to work.  But when I set
> "global=true", the global "parentScope" is used and I get some wierd
> errors.
>
> If I change "__CODE__.slice(0,5)" to
> 1. "__CODE__" - works
> 2. "__CODE__.substring(0,5)" - fails
> 3. "__CODE__.toString()" - works
>
> Any help appreciated.
>
> Fergus
>
> ===== Test.java =========================================
> import java.io.*;
> import org.mozilla.javascript.*;
>
> public class Test implements Runnable {
>         private Script script;
>         private Scriptable parentScope;
>         private String __CODE__="ABCDEFGHIJK";
>         private boolean global = true;
>         private static Context globalContext = null;
>         public Test() throws Exception {
>                 String js= "java.lang.System.out.println(__CODE__.slice(0,5));";
>                 globalContext.setCompileFunctionsWithDynamicScope(false);
>                 parentScope = globalContext.initStandardObjects(null);
>                 StringReader sr = new StringReader(js);
>                 script = globalContext.compileReader(parentScope, sr, "(compiled)",
> 1,null);
>         }
>
>         public void run() {
>                 try {
>                         Context context = Context.enter();
>                         Scriptable threadScope;
>                         if (global) {
>                                 threadScope = context.newObject(parentScope);
>                                 threadScope.setPrototype(parentScope);
>                                 threadScope.setParentScope(null);
>                         } else {
>                                 threadScope = context.initStandardObjects(null);
>                         }
>                         threadScope.put("__CODE__",threadScope,__CODE__);
>                         script.exec(context,threadScope);
>                 }
>                 catch (Exception e) {
>                         System.err.println(e.getClass().getName()+":
"+e.getMessage());
>                 }
>                 finally {
>                         Context.exit();
>                 }
>         }
>
>         public static void main(String args[]) throws Exception {
>         globalContext = Context.enter();
>                 Test me = new Test();
>                 int count=10;
>                 Thread[] threads = new Thread[count];
>                 for (int i=0; i<count; i++) {
>                         Thread t = new Thread(me);
>                         threads[i] = t;
>                         t.start();
>                 }
>                 for (int i=0; i<count; i++) {
>                         threads[i].join();
>                 }
>                 Context.exit();
>         }
> }
>
> ==== OUTPUT ===============================================
> ABCDE
> ABCDE
> org.mozilla.javascript.EcmaError: undefined is not a function.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> org.mozilla.javascript.EvaluatorException: Constructor for "String" not
> found.
> ===========================================================
>
> The number and type of exceptions is highly variable from run to run -
> anywhere from 1-9 out of 10.
> The EcmaError in particular only happens occasionally.
>
> --
> Fergus Gallagher          Tel: +44 (20) 8 987 0717
> Orbis                     Fax: +44 (20) 8 742 2649
> The Swan Centre           email: Fergus.Gallagher@orbisuk.com
> Fishers Lane              Web: http://www.orbisuk.com
> London W4 1RX / UK
2000-07-03 18:40:35 +00:00
jband%netscape.com
53edf6e9f7 updating readme. Not part of build 2000-07-02 19:37:57 +00:00
cls%seawood.org
1f3b6d75ab Removed obsolete REQUIRES variable from every Makefile.in/makefile.win 2000-06-30 08:08:04 +00:00
jband%netscape.com
1a7630d560 Fix dogfood/crash bugs: 42750, 39858 and fix 43897 and improve JS/XPConnect error reporting to help with crasher 40792. r=mccabe@netscape.com. 2000-06-30 04:04:46 +00:00
beard%netscape.com
0eeae607ae Fix build bustage. 2000-06-29 18:40:58 +00:00
rogerl%netscape.com
fd98adafce use handleDot for call, too. 2000-06-29 18:30:47 +00:00
beard%netscape.com
8f5fea173e delete property support. 2000-06-29 18:14:14 +00:00
beard%netscape.com
a4c5f704f4 DELETE_PROP 2000-06-29 18:13:46 +00:00
beard%netscape.com
7a6367c583 DELETE_PROP 2000-06-29 17:14:56 +00:00
beard%netscape.com
11134b4173 added DELETE_PROP instruction to implement the "delete" operation. 2000-06-29 17:11:50 +00:00
beard%netscape.com
97dfdc5f04 unused parameter warning 2000-06-29 05:48:09 +00:00
beard%netscape.com
8f4cadb250 complementary operator delete(void*, JSClass*). 2000-06-29 05:46:36 +00:00
beard%netscape.com
8891b0c7ba some classes to test js2 with. 2000-06-29 04:49:48 +00:00
beard%netscape.com
8da0055bc5 updated dependencies 2000-06-29 04:25:10 +00:00
beard%netscape.com
074f981eb4 Changed StaticCall to use static slot. 2000-06-29 04:23:56 +00:00
beard%netscape.com
b202adfd39 Fixing static dotted expressions. 2000-06-29 04:23:20 +00:00
beard%netscape.com
7a512866fd now uses conditional compilation #if defined(OPCODE_NAMES), so that a simple "icode.h" can be included by vmtypes.h and vmtypes.cpp. 2000-06-29 04:21:00 +00:00
beard%netscape.com
486b437613 moved all machine generated classes, etc. to icode.h. 2000-06-29 04:19:19 +00:00
beard%netscape.com
2a451cdd8b Generated by tools/gencode.pl. 2000-06-29 04:18:16 +00:00
beard%netscape.com
640ba6e24c fixed static calls. 2000-06-29 03:15:52 +00:00
rogerl%netscape.com
63744d7c1c Implicit this and class lookup stuff. 2000-06-29 01:21:41 +00:00
cls%seawood.org
e5efcb7528 wrap ifndef XPCONNECT_STANDALONE around xpconnect test components that require external interfaces. Thanks to Mark Adams <madams@janna.com> for the patch. Bug 42026 2000-06-28 22:53:55 +00:00
beard%netscape.com
237dd352ed implemented JSClass::printProperties(). 2000-06-28 19:46:13 +00:00
beard%netscape.com
9930edd0d5 Enhanced printing of types. 2000-06-28 19:45:44 +00:00
beard%netscape.com
c0e9f6d274 Type of a JSType* is Type_Type (wow, recursive). Changed mBaseType to be JSType* instead of const JSType*. 2000-06-28 19:45:09 +00:00
rogerl%netscape.com
52bffdadcf First set of unified 'dot' handling changes for statics. 2000-06-28 18:41:30 +00:00
beard%netscape.com
d40b8dd8cb added jsclasses.h 2000-06-28 18:10:04 +00:00
beard%netscape.com
941b505765 Fix string <. 2000-06-28 16:38:20 +00:00
beard%netscape.com
d9bf640477 Fixed dynamic lookup of static slots. Added code to compare strings. 2000-06-28 16:32:52 +00:00
beard%netscape.com
b1350d87b6 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Implemented GET_PROP/SET_PROP for class objects (looks up slot dynamically, etc.) 2000-06-28 16:15:06 +00:00
beard%netscape.com
866b5d3d8d GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. Now using JSClass::hasStatic() rather than looking up statics in class' scope. 2000-06-28 16:14:18 +00:00
beard%netscape.com
8132734212 GET_STATIC/SET_STATIC/STATIC_XCR now use an index rather than a name. 2000-06-28 16:13:12 +00:00
beard%netscape.com
970477555f Static slots. 2000-06-28 16:11:54 +00:00
cls%seawood.org
a9f6433fbe Tweaks to build xpconnect standalone. Bug #42024. Thanks to Mark Adams <madams@janna.com> for the patches. 2000-06-28 07:03:13 +00:00
beard%netscape.com
2b1351cc3b Win-specific operator== noise. 2000-06-27 03:52:56 +00:00
beard%netscape.com
4873ce7882 Fixed unitialized static class members. 2000-06-27 03:43:40 +00:00
beard%netscape.com
7b2b4a1e2f addSlot -> defineSlot, added defineStatic. 2000-06-27 03:42:42 +00:00
brendan%mozilla.org
9f75641ee2 Not again\! 2000-06-27 03:29:49 +00:00
beard%netscape.com
74e8d0a780 Fixed type management. 2000-06-27 03:21:33 +00:00
brendan%mozilla.org
af94bec8f7 Fix my stupid missing comma bustage. 2000-06-27 03:17:47 +00:00
rogerl%netscape.com
fbdb3fe1c1 lots of stuff me and Patrick did 2000-06-27 02:39:32 +00:00
brendan%mozilla.org
6afe0ed1a7 Fix JS_SetPrototype and __proto__ setting to deal with shared scopes; use JSObjectOps for setProto and setParent operations, and add spare op slots (41126, r=shaver@mozilla.org,pschwartau@netscape.com). 2000-06-27 02:37:25 +00:00
beard%netscape.com
965f10e915 JSValue::operator==: added CASE(type) to fix warning. 2000-06-26 17:47:07 +00:00
beard%netscape.com
f276cc3dfd added JSObject::deleteProperty(), and changed mName in JSType to be a JSString. Need to revisit other uses of String soon. 2000-06-26 17:42:20 +00:00
beard%netscape.com
07dff8c5d1 simplified string addition 2000-06-26 17:25:25 +00:00
beard%netscape.com
fef138fae2 defined JSStringBase, and constructors from in JSString 2000-06-26 17:24:57 +00:00
beard%netscape.com
769d11bcbf String addition: don't share structure with LHS. 2000-06-26 17:09:27 +00:00
beard%netscape.com
45301bb589 added constructor from JSString&. 2000-06-26 16:55:01 +00:00
beard%netscape.com
3a78e14938 Reset register usage after generating each initializer statement. 2000-06-26 15:19:45 +00:00
beard%netscape.com
714e109074 Simplified NEW_CLASS, using a single do .. while loop, introducing nextPC instruction iterator to simplify initial case. now calls all defined constructors. 2000-06-26 15:06:36 +00:00
beard%netscape.com
07d6ee2613 Only call non-null constructors. 2000-06-25 17:04:38 +00:00
beard%netscape.com
40e53d46ea Conditionally set constructor, if it has any instructions. 2000-06-25 17:04:01 +00:00
beard%netscape.com
21f549896a updated dependencies 2000-06-25 16:44:29 +00:00
beard%netscape.com
d6c6cc31bb check for non-null superClass 2000-06-25 16:43:25 +00:00
beard%netscape.com
5d311184e2 hooked up superClass' scope as the prototype of a class's scope, to do method inheritance, removed bogus JSInstance::getSlotCount(), which overcounted slots. 2000-06-25 16:35:33 +00:00
beard%netscape.com
728580c6f8 Added calls to superClass constructors. 2000-06-24 22:42:43 +00:00
beard%netscape.com
e41bd745dd JSInstance::getSlotCount() no longer recursive. 2000-06-24 22:42:15 +00:00
beard%netscape.com
7b76b9503a Beginning support for superclass slots. 2000-06-24 22:07:00 +00:00
beard%netscape.com
36eef7adea Added emptyArgs, removed unused return value in readEvalFile 2000-06-24 05:42:51 +00:00
beard%netscape.com
a6493add9f enable RTTI 2000-06-24 05:36:52 +00:00
beard%netscape.com
b877fde64f VC++ doesn't like local classes in templates. 2000-06-24 05:36:09 +00:00
beard%netscape.com
c5298ced1d major surgery to enable the "load()" native function. 2000-06-24 05:25:33 +00:00
beard%netscape.com
46c0a7c5a8 Experiment with looking up methods in the prototype chain. 2000-06-24 05:22:23 +00:00
beard%netscape.com
c337fff76a Always use the target object, regardless of where a method property is found along the prototype chain. 2000-06-24 05:21:49 +00:00
beard%netscape.com
8558f071a4 When generating a reference to "this" use the current code generator's mClass when appropriate. 2000-06-24 05:21:03 +00:00
rginda%netscape.com
486d1cc51a fixing source stepping (opcode stepping to come back later)
debugger is now quiet by default.
2000-06-24 02:53:29 +00:00
beard%netscape.com
27b088f22a Removed JSType::isClassType(). 2000-06-24 02:51:34 +00:00
beard%netscape.com
565b0389db Added JSClass::get/setConstructor(). 2000-06-24 02:51:03 +00:00
beard%netscape.com
9fd0505086 Added call to constructor when executing NEW_CLASS. 2000-06-24 02:50:23 +00:00
beard%netscape.com
47638a00c7 Generating default constructor to run slot initializers. 2000-06-24 02:49:45 +00:00
beard%netscape.com
146e187c7b testCompile() is static 2000-06-24 01:04:58 +00:00
rogerl%netscape.com
e497a7809f typing 'this' 2000-06-24 01:02:34 +00:00
rogerl%netscape.com
432c8b3cdc Got newClass working, added printProperties for instances, some slot
stuff is happening.
2000-06-24 00:50:59 +00:00
beard%netscape.com
f304229d7f added NEW_CLASS instruction, to instantiate classes. 2000-06-23 23:49:48 +00:00
beard%netscape.com
35b239cd47 added NEW_CLASS instruction. 2000-06-23 23:49:17 +00:00
rogerl%netscape.com
e939fbddc4 Adding slot handling to code gen. 2000-06-23 23:43:24 +00:00
beard%netscape.com
841b79b5eb added NEW_CLASS instruction. 2000-06-23 23:41:27 +00:00
beard%netscape.com
da108e7b96 Added JSClass::hasSlot, getSlotCount(), and JSInstance. 2000-06-23 23:25:55 +00:00
beard%netscape.com
9f413f408b JSValue::type now JSType* instead of const JSType*, all predefined JSType objects no longer const as well. 2000-06-23 23:25:14 +00:00
rogerl%netscape.com
89515e83dc Removed FUNCTION instruction, other class related junk. 2000-06-23 22:53:09 +00:00
rginda%netscape.com
da45d9b0eb Added debugger opcode, change InstructionMap to a std::map, print source lines while tracing 2000-06-23 22:27:17 +00:00
rogerl%netscape.com
ea920b48c8 Add return statement if the function doesn't end with one 2000-06-23 21:20:03 +00:00
beard%netscape.com
da19218b3e added assertion to ensure that mPC is always valid before fetching the next instruction. 2000-06-23 06:10:14 +00:00
beard%netscape.com
95adc8b187 Additional JSClass processing: defining slots, generating methods. 2000-06-23 05:13:04 +00:00
beard%netscape.com
ca9001f387 When using a JSScope that has a parent scope, don't bother defining the standard properties, they will be shared. 2000-06-23 05:10:46 +00:00
beard%netscape.com
6ccb94e600 A JSClass is a JSType now, and has a JSScope. Added addSlot, getSlot, getScope. 2000-06-23 05:09:37 +00:00
beard%netscape.com
dee62b8d67 remove unused file. 2000-06-23 04:10:04 +00:00
drapeau%eng.sun.com
7f384b86a6 Two main things:
1) Fix for 23775 (three files changed for this)

2) Many OJI unit tests added.
2000-06-23 02:28:31 +00:00
beard%netscape.com
f7c44fcf6f putting the JSClass* in the current global scope, and looking up superclass rereferences. 2000-06-23 02:22:55 +00:00
rogerl%netscape.com
33c9eb064a Added support for 'debugger' as a statement. (Rob made me) 2000-06-23 00:08:10 +00:00
beard%netscape.com
5ee7d6da77 JSClass support. 2000-06-21 23:58:17 +00:00
beard%netscape.com
124280ce07 initial checkin, starting on a representation for JS2 classes. 2000-06-21 23:57:09 +00:00
rogerl%netscape.com
f2591282dc Work to support 'this'. 2000-06-21 22:32:21 +00:00
nboyd%atg.com
e7359ce462 Fix javadoc warning 2000-06-21 15:49:14 +00:00
rogerl%netscape.com
27e254fee3 Changed use of Register to TypedRegister throughout. 2000-06-20 22:45:45 +00:00
rogerl%netscape.com
8a71a568af Support for TypedRegister 2000-06-20 22:44:46 +00:00
pavel%gingerall.cz
f8ce45f144 - workaround of -rdynamic (JS_PERLCONNECT only) 2000-06-16 08:56:03 +00:00
brendan%mozilla.org
5c53e520b1 sfraser@netscape.com's fine GC_MARK_DEBUG enhancement for XPConnect. 2000-06-16 04:34:00 +00:00
rogerl%netscape.com
a8a18e9d21 Added tests for scripts as strings. 2000-06-16 01:37:47 +00:00
rogerl%netscape.com
ecd0d99e85 Mucking about with operator overlaoding plus initializing global context
- beginning type stuff.
2000-06-16 01:36:59 +00:00
rogerl%netscape.com
670a8310fb Fixed spelling. 2000-06-16 01:35:25 +00:00
rogerl%netscape.com
b2f3dff014 Added op= support. 2000-06-15 16:03:54 +00:00
nboyd%atg.com
4242e00f01 Wrapping a class produces a NativeJavaClass. 2000-06-15 14:00:31 +00:00
rogerl%netscape.com
c354e43376 Mark top-level execution as 'script' rather than function - to handle
vars correctly.
2000-06-14 23:28:38 +00:00
rogerl%netscape.com
5762b34619 Added 'Function' instruction, plus suppresses class output if there is
no super specified. (ok it's a hack, but it works)
2000-06-14 23:27:28 +00:00
rogerl%netscape.com
6526fedd31 Adding support for Functions and Vars, preXcrement, object literals. 2000-06-14 23:26:15 +00:00
nboyd%atg.com
999f43aaec Fix bug 42097 2000-06-14 13:39:44 +00:00
pavel%gingerall.cz
fff3bf7638 - fixes in original version of perlconnect (JSVALToSV SVToJSVAL etc.)
- object delegation (like JSCreateObject) Perl->JS
- ParlValue handles PerlObject correctly
- undef values handled correctly (in both directions)
- JS arrays may be tied to perl arrays
- error handlers supported on Perl side
- no globals
- several minor fixes
2000-06-14 07:23:58 +00:00
pavel%gingerall.cz
0c07208dc5 - minor change of jsperl.h inclusion, matters for perlconnect build only 2000-06-14 07:18:41 +00:00
rginda%netscape.com
2ebc0a5b20 -- NOT PART OF THE BUILD --
Conditionally build lcshell w/ jdk 1.1.8 or 1.2.2 on windows
2000-06-14 00:14:56 +00:00
mkaply%us.ibm.com
737d9fb1b4 # 37239
r = mccabe, a = brendan
OS/2 bring-up - PR_CALLBACK for VisualAge
2000-06-14 00:07:08 +00:00
mccabe%netscape.com
3a709facd8 First part of fix for 38495, support for exposing plugin methods to JavaScript.
This patch teaches XPConnected objects to look in their JavaScript __proto__ chain for any names they can't resolve themselves.  The rest of the fix to this bug sets the original DOM node object as the prototype of a new xpconnect-exposed plugin object, so javascript accesses will see names from both objects.

r=jst,brendan
a=beard
2000-06-13 23:18:21 +00:00
nboyd%atg.com
341e3b8ddf Begin 1.5R2 effort.
Commit the following contributions:
* Andi Vajda's changes to allow embedders to capture the generated bytecode (and thus control
generated class names).
* Marshall Cline's changes to allow embedders to override the default Java object wrapping
behavior
* Kurt Westerfeld's change to handle calling static methods better
2000-06-13 14:33:54 +00:00
scc%mozilla.org
507357239c fix type equivalence between |PRUnichar| and |jschar| now that |PRUnchar| may be |wchar_t| on select platforms 2000-06-12 23:52:31 +00:00
rogerl%netscape.com
0b4dc2b357 Added check for FORMAT characters in new unicode cr/lf handling code. 2000-06-12 17:56:05 +00:00
brendan%mozilla.org
d8f3cd1921 Comply with weird ECMA nit: call (o.f)() (note parens around the function expression) must bind 'this' to the global object, not to o\! (41864, r=shaver). 2000-06-08 06:46:18 +00:00
nboyd%atg.com
bd67f54d28 Fix formatting. 2000-06-07 14:51:08 +00:00
nboyd%atg.com
fc46786bff Fix the following problem:
Subject:
        Odd behaviour on placement of .jar files?!
   Date:
        Mon, 05 Jun 2000 10:46:08 -0700
   From:
        John Raykowski <xski@xski.org>
     To:
        nboyd@atg.com




Hello,

I didn't want to post this directly as a rhino bug 'coz I think it may
be more of a JDK thing, but I thought I'd toss it to you as well.

The goal is to create a JavaScript object that implements a Java
interface. Straightforward enough and the example on the page using
ActionListener works without a hitch.  However, when I try to do the
same with my own interface, I get an error message: error instantiating
({0}): class {1} is interface or abstract (coming from
NativeJavaClass.construct).

Here's where it gets a bit strange.  Normally, I run with the jar files
in jre/lib/ext.  When I remove the rhino files from jre/lib/ext and
reference them explicitly on the commandline with the -cp option, it
works as expected and my script can implement the interface just fine.
Go figure.

Anyhoo, there ya go.  Like I said, I think its a JDK issue, but I
thought you'd be interested.  The attached zipfile contains a set of
sample code to demonstrate this problem.

Thanks heaps,

-jmr
2000-06-07 14:50:47 +00:00
brendan%mozilla.org
73d4167370 Use localizable error message for out of memory. 2000-06-06 04:54:04 +00:00
brendan%mozilla.org
28d3dcb5fc Better fix, really (r=shaver for sure). 2000-06-06 04:41:05 +00:00
brendan%mozilla.org
4e92401f64 Better control flow for catch clause code generation (r=shaver). 2000-06-06 04:27:37 +00:00
mccabe%netscape.com
3b337ab6af Fix to potential leak introduced with fix to 40406.
Be conservative in handling the lifetime of the safe context created by XPConnect to execute JS Components, and save it off to be destroyed at cleanup time, even if some other safe context is registered with XPConnect via SetSafeJSContext.

r=vishy, a=brendan
2000-06-06 00:01:25 +00:00
brendan%mozilla.org
6f0b30ca8f Fix missing $ bug when testing test_dir. 2000-06-03 19:20:03 +00:00
brendan%mozilla.org
d2c7c21d1b Avoid zero-length malloc (and assertbotch) in array_sort, just return true early\! 2000-06-03 19:00:28 +00:00
warren%netscape.com
512c8bf433 Renaming nsIAllocator to nsIMemory (and nsAllocator to nsMemory). API cleanup/freeze. Bug #18433 2000-06-03 09:46:12 +00:00
waldemar%netscape.com
2166c80bec Added parsing and printing of classes, interfaces, and namespaces 2000-06-02 04:35:44 +00:00
brendan%mozilla.org
6ca20f928f Fix ECMA DontDelete compliance problems, which create getter/setter security holes (40760, r=shaver). 2000-06-02 00:02:46 +00:00
nboyd%atg.com
faea4ed119 Fix "in" operator for compiled mode. 2000-06-01 23:40:29 +00:00
nboyd%atg.com
4d4458bd63 Add column number and line source information to the EcmaError object. 2000-06-01 17:30:28 +00:00
mkaply%us.ibm.com
716fff7b7c # 40177
r = leaf, a = brendan
Fix tab in makefile
2000-06-01 14:15:39 +00:00
waldemar%netscape.com
767f3c1669 Widened default line width to 30 2000-06-01 03:31:17 +00:00
waldemar%netscape.com
5c440a5bc5 Added function and constructor parsing and printing; fixed printing of blocks, compound statements, and :: 2000-06-01 03:30:58 +00:00
waldemar%netscape.com
ebbccfd9f8 Added two-argument linearBreak 2000-06-01 03:30:19 +00:00
brendan%mozilla.org
aca040859b Use JS_ValueToId to go from user to internal property id, for integer-id optimality (40731, r=shaver). 2000-05-31 22:10:53 +00:00
brendan%mozilla.org
d84057e951 Make JS_ExecuteScriptPart call the debugger hooks (41066, r=MyNGs@HotMail.com). 2000-05-31 21:57:46 +00:00
nboyd%atg.com
4a72992ae8 check for null scope 2000-05-30 21:50:44 +00:00
nboyd%atg.com
9cc29b7e22 Fix bug 40844 2000-05-29 16:57:13 +00:00
nboyd%atg.com
a50280a77b Fix bug 39906 2000-05-28 19:01:24 +00:00
nboyd%atg.com
dc7deebcad Remove tests obsoleted by the change that access to nonexistent properties of Java objects
returns undefined rather than causing an error
2000-05-28 18:50:58 +00:00
nboyd%atg.com
d092952991 for Java methods, print the signatures of the overloaded methods in a comment when
the JavaScript function wrapper's toString method is called
2000-05-28 04:25:07 +00:00
brendan%mozilla.org
6a220f2f41 Fix unreviewed changes made to fix 'Uninitialized variable compiler warnings'. 2000-05-28 00:02:26 +00:00
jst%netscape.com
60b53dbf6e Fixing bustage on solaris native builds. reported and reviewed by Tomi.Leppikangas@oulu.fi 2000-05-27 13:14:31 +00:00
edburns%acm.org
67cfd5f36b r=brendan
a=brendan
bug: 27362

This fix makes it so nsCLiveconnect.cpp doesn't #include
files within an extern "C" {} block.  To make this work, I
simply moved the extern "C" {} to the minimum necessary
range.  This required placing an "ifdef __cplusplus extern "C""
block in jsj_private.h, since nsCLiveconnect.cpp is the only
c++ file that includes jsj_private.h.
2000-05-27 01:12:40 +00:00
rogerl%netscape.com
4e3dcc082c Removed old branches, changed offset printing to handle NULL operand. 2000-05-26 22:35:36 +00:00
rogerl%netscape.com
565b842243 Update to new icg constructor etc. 2000-05-26 22:34:42 +00:00
rogerl%netscape.com
573531b249 Statement fun 2000-05-26 22:33:05 +00:00
waldemar%netscape.com
bd3b79569c Added var, const, and for statements 2000-05-26 06:20:11 +00:00
shaver%mozilla.org
634ad644e4 use NS_METHOD for register/unregister callback, for Win32 2000-05-26 05:55:00 +00:00
shaver%mozilla.org
12fe3f7799 fix build bustage -- I'm an ass 2000-05-26 05:18:31 +00:00
shaver%mozilla.org
ee8d2a82fe remove useless nsIModule paste (#22922), add debug() for JS components, use categories for component loaders, XPCONNECT_STANDALONE (#39875), r=dp,waterson a=brendan 2000-05-26 04:56:23 +00:00
mkaply%us.ibm.com
367ea5b7df # 34106
r = leaf, a = brendan
Mistake was made with an earlier makefile checkin - removing double definition of EXTRA_DSO_OPTS
2000-05-25 14:25:04 +00:00
mccabe%netscape.com
b05da32465 Fix the fix to 40406, fixing bustage.
Don't destroy the per-thread safe JS context on cleanup if that context was provided through the setter.

r=waterson
2000-05-25 08:33:53 +00:00
mccabe%netscape.com
ba80f85fb1 Fix for 40406. Add setter to XPConnect to set default JS context used to execute JS components when no appropriate context can be found.
The setter changes per-thread data - for the DOM/UI thread, this means that we can set the JS Context to one with DOM magic.  This magic allows some DOM JS <-> XPConnect JS conversions to succeed, and in particular allows creation of a DOM window from within a JS component.

Unblocks nsbeta2 work by Vishy and Pavlov.

r=mccabe,vishy.  a=brendan,sleestack.
2000-05-24 22:54:57 +00:00
nboyd%atg.com
a7fc06c9a3 Add rhino9 and rhinoms9. 2000-05-24 18:10:55 +00:00
waldemar%netscape.com
cec8a6816d Fixed case/default indenting 2000-05-24 02:18:57 +00:00
rogerl%netscape.com
39ebb9c8d8 Codegen for statements. Blew off old statement API and most of the test
functions for now, sorry.
2000-05-24 02:11:39 +00:00
waldemar%netscape.com
d4e4f10d14 Turned on statement parsing and printing 2000-05-24 01:51:32 +00:00
waldemar%netscape.com
c970639ae9 Added statement parsing 2000-05-24 01:51:20 +00:00
waldemar%netscape.com
fe6fac7c85 Added using std::fmod declaration 2000-05-24 00:55:23 +00:00
waldemar%netscape.com
389625522b Fixed Mac warning 2000-05-24 00:54:56 +00:00
waldemar%netscape.com
bdd3276507 Fixed Mac warnings 2000-05-24 00:54:40 +00:00
waldemar%netscape.com
0765893319 Fixed syntax errors: can't use qualified names in class definitions, and 'not' is a C++ reserved word 2000-05-24 00:54:28 +00:00
nboyd%atg.com
0074ca5edf Remove unused constructor. 2000-05-23 21:03:50 +00:00
nboyd%atg.com
108f81d6ac Fix up bug where direct calls were getting the parent scope when they shouldn't have,
resulting in a NullPointerException on the following code when run on the MS VM with -opt 9:

var testcases = getTestCases();

function getTestCases() {
    return new Boolean(new MyObject(true));
}

function MyObject( value ) {
    this.value = value;
    this.valueOf = new Function( "return this.value" );
    return this;
}
2000-05-23 20:59:13 +00:00
rginda%netscape.com
b71c85c7dc apparently windows is too 2000-05-23 00:15:06 +00:00
rginda%netscape.com
27345b3bb3 linux is so picky 2000-05-23 00:13:48 +00:00
rogerl%netscape.com
709d6c75d9 COMPARE_GT etc are gone. 2000-05-23 00:09:44 +00:00
rogerl%netscape.com
8dc4133f96 Fall out from operator overloading. 2000-05-23 00:09:02 +00:00
rogerl%netscape.com
932d63213b Added operator overloading support 2000-05-23 00:08:29 +00:00
rogerl%netscape.com
e562e8eb21 Fix bug #39309 - parameters must be AnyType, also vars used before def. 2000-05-23 00:06:24 +00:00
rginda%netscape.com
6fa16759c6 quieting linux warnings and fixing build bustage 2000-05-22 21:05:35 +00:00
nboyd%atg.com
b76123f465 Fix formatting. 2000-05-22 03:03:37 +00:00
nboyd%atg.com
85a7b4aa6c Fix 38590. 2000-05-22 00:10:10 +00:00
cls%seawood.org
cb31f6e62d More OS/2 changes. Batches 19 & 20 of Bug #34106 r=pavlov 2000-05-21 13:32:11 +00:00
brendan%mozilla.org
addb7242fb Fix remove-while-enumerating, beef up metering and add JS_DHashTableDumpMeter (these files are not part of the client build). 2000-05-20 18:42:22 +00:00
brendan%mozilla.org
0858bc61ea Fix old stddev calc bug (#ifdef'd code, not part of build). 2000-05-20 18:41:13 +00:00
cls%seawood.org
df5725e323 Finishing off the standalone modules framework.
List js/src/liveconnect & js/src/xpconnect in toplevel Makefile.in to allow js to be built using the standalone framework.
Use the <module>_STANDALONE defines anytime BUILD_MODULES != all.
r=slamm
2000-05-20 02:45:59 +00:00
brendan%mozilla.org
e1b56a4ce1 Use int for shift type consistently; optimize primary hash match (NOT PART OF BUILD). 2000-05-19 18:26:37 +00:00
rogerl%netscape.com
408e469b4b Playing with operator overloading & Type types. 2000-05-19 17:41:10 +00:00
beard%netscape.com
091146e0f7 fix const cast away linux breakage 2000-05-19 05:38:29 +00:00
brendan%mozilla.org
725ff208a6 Don't clear memory gratuitously (after create-error; after destroy). 2000-05-19 05:10:58 +00:00
brendan%mozilla.org
83d65f9508 Don't destroy what hasn't been created (NOT PART OF BUILD). 2000-05-19 03:49:32 +00:00
brendan%mozilla.org
91e4edcef8 Experimental double-hashing code, hope to donate to nsprpub/lib/ds (NOT PART OF BUILD). 2000-05-19 02:51:20 +00:00
mccabe%netscape.com
65950e22ec Patch xpcshell.cpp to not try to call JS_malloc with 0 bytes.
Patch courtesy Mark G. Adams <madams@livepage.com>

r=mccabe

This code is part of xpcshell, and doesn't go into the mozilla product.  Prior to this fix, xpcshell crashed on startup.
2000-05-19 00:34:46 +00:00
rogerl%netscape.com
79201b942d Bunch o' expression ops. 2000-05-18 00:04:15 +00:00
rogerl%netscape.com
477b9aecd9 Moved genExpr to ICodeGenerator - added most expression ops. 2000-05-18 00:03:23 +00:00
rogerl%netscape.com
f38a2dd543 Moved genExpr to ICodeGenerator 2000-05-18 00:01:33 +00:00
beard%netscape.com
f82644b580 added on run handler 2000-05-17 20:02:17 +00:00
beard%netscape.com
ebd9cea0c3 Removing obsolete project file. This is supplanted by js.mcp.xml. 2000-05-17 20:01:08 +00:00
cls%seawood.org
a8000b8bb5 Mass replace of -lmozjs with $(MOZ_JS_LIBS) needed for OS/2 and consistency. 2000-05-17 06:45:45 +00:00
brendan%mozilla.org
7bc9169a36 Include jsstddef.h first in all js*.c files (r=tlundeen@webcrossing.com). 2000-05-17 06:24:45 +00:00
brendan%mozilla.org
7dd0a4f6c4 JS_DestroyRuntime nukes all contexts; add JS_G/SetRuntimePrivate (r=tlundeen@webcrossing.com). 2000-05-17 06:23:03 +00:00
pavlov%netscape.com
803190ad4b changes all usages of NS_NewTimer to CreateInstance 2000-05-17 02:49:35 +00:00
sfraser%netscape.com
7c1335fa2a Fix to only broadcast to the autoreg observer if we are really registering. 2000-05-17 01:54:18 +00:00
mkaply%us.ibm.com
68897b7076 # 37239
r= rogerl
OS/2 bring up continues - fix for floating point trap
2000-05-16 22:51:12 +00:00
beard%netscape.com
aa18b202a8 ensuring both arguments to max are the same type 2000-05-16 22:23:15 +00:00
rayw%netscape.com
18fabd3cae Added the fixes for 35866 and one older bug to the js component loader.
This means it is more careful about how it writes binary filenames in
the registry and it calls an observer to report autoregistrations.

This should have gone out with equivalent Native Component Loader fixes,
but it didn't.
2000-05-16 05:09:31 +00:00
cls%seawood.org
8a94c9df50 Latest OS/2 makefile changes. Bug 34106. Batch 14, 15, & 16. 2000-05-16 04:41:54 +00:00
brendan%mozilla.org
98af3bcf58 Fix GC request debiting to cope with multiple JSContexts on the same thread (39321, r=shaver). 2000-05-16 02:44:27 +00:00
rogerl%netscape.com
02d34752cd Bug #39034. Fixed stupid logic that broke \n, sorry. 2000-05-15 21:48:00 +00:00
brendan%mozilla.org
26edd3b893 Common a string literal (js_call_str; r=shaver). 2000-05-15 20:21:05 +00:00
brendan%mozilla.org
453918e0e2 Remove deadwood brought to my attention by tlundeen@webcrossing.com (r=shaver). 2000-05-15 20:04:41 +00:00
brendan%mozilla.org
d69376f26f Fix stupid 0-for-enumerator-equal-to-0 warning (r=shaver). 2000-05-15 20:03:13 +00:00