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

2683 Коммитов

Автор SHA1 Сообщение Дата
beard%netscape.com d8c9e5842f [Not part of build] Project to build XPConnect shell testbed. 2000-09-16 02:43:29 +00:00
jband%netscape.com 6eabb6acbd 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 feed45599c 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 84aaf06fe8 Better patch for bug and bogus assertion found by rogerc@geocast.com. 2000-09-15 06:05:28 +00:00
rayw%netscape.com d39d9e6d59 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 b0bb9eeddc Bug #46429. r=rginda. Fixed bug in nested quantifiers. 2000-09-14 22:39:21 +00:00
brendan%mozilla.org ed8364faab Fix bogus new assertion in js_AllocGCThing (r=rogerc@geocast.com). 2000-09-14 19:58:11 +00:00
brendan%mozilla.org da262c552a 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 52476868db fix to mal-formed contract id introduced in mega-check-in:x 2000-09-14 04:18:07 +00:00
rayw%netscape.com 6cc70ebd6c 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 d3ef2ed32f 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 b192d90466 Fix infinite loop in new code. 2000-09-12 17:06:15 +00:00
jeff.dyer%compilercompany.com ca2b6410e1 b=45692 r=rogerl a=brendan: Enable liveconnect security. 2000-09-12 11:50:49 +00:00
beard%netscape.com d99198e4bc Fixing scope problems on Linux 2000-09-12 00:53:33 +00:00
waldemar%netscape.com 7ee18425f8 Renamed target files 2000-09-11 23:49:53 +00:00
rogerl%netscape.com 871fb6eab9 Removed unnecessary arg. from Call instruction. 2000-09-11 22:11:55 +00:00
rogerl%netscape.com 68c488539e Added getter/setter for names. 2000-09-11 22:10:44 +00:00
rginda%netscape.com 2ae0bfa864 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 cd2482f9f2 Fix bug 49350 2000-09-11 15:12:04 +00:00
nboyd%atg.com 4c70d53d5e version with debugger directories 2000-09-11 14:10:23 +00:00
brendan%mozilla.org 4b88e28559 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 005c605136 Added support for highlights. Made @ operator js2-only. 2000-09-09 02:15:37 +00:00
waldemar%netscape.com 7223a2e334 Updated to correspond to js2 site 2000-09-09 02:15:06 +00:00
waldemar%netscape.com 6c173aab33 Added support for highlights. 2000-09-09 02:14:35 +00:00
rginda%netscape.com 25a6903bfd add fileName and lineNumber to Error.prototype for bug #50447
r=a=brendan
2000-09-09 00:41:15 +00:00
brendan%mozilla.org d8b759c670 Comments and white-space cleanup. 2000-09-08 21:24:14 +00:00
alla%lysator.liu.se 405c7b811f 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 47d1d132c3 Reverting last change. 2000-09-08 09:28:56 +00:00
alla%lysator.liu.se d0c3a704c2 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 722dc39edf All JSValue constructors are explicit. 2000-09-08 01:16:03 +00:00
rogerl%netscape.com 7ca98a95c6 Added Branch_initialized for argument handling. 2000-09-07 19:23:24 +00:00
rogerl%netscape.com 3e08d30492 Named arguments. 2000-09-07 19:22:59 +00:00
rogerl%netscape.com 29c3f3caa8 Named arguments 2000-09-07 19:22:13 +00:00
jband%netscape.com 45fb207d7e 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 1b378df792 Improve JSNewEnumerateOp comment per recent exchange with Helge Hess. 2000-09-07 18:06:02 +00:00
rogerl%netscape.com 1c4303af1c copy non-named args through 2000-09-06 02:17:47 +00:00
rogerl%netscape.com d6618351c4 fix for redundancy 2000-09-06 02:17:18 +00:00
rogerl%netscape.com 0a5401ac02 Fix for empty function body 2000-09-06 02:16:51 +00:00
brendan%mozilla.org 9e22c923eb Improve a comment that implied a need to include jsstr.h. 2000-09-05 21:39:48 +00:00
brendan%mozilla.org 5527354734 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 0411ae4a6b fixing bustage exposed by removing extra comparisons 2000-09-03 03:28:05 +00:00
brendan%mozilla.org 1b4cfb986d 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 ffb8d0a867 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 35c2183566 Switch from RegisterList to ArgumentList to handle named args.
Optional & rest parameter support.
2000-09-02 01:01:41 +00:00
rogerl%netscape.com 8c56203872 Optional and rest parameters.
Named arguments (just begun).
2000-09-02 01:01:04 +00:00
brendan%mozilla.org 6303228f09 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 b11ea5a651 Fix js_EnterSharpObject to clean up sharpObjectMap on error (44009, r=shaver). 2000-09-01 18:01:04 +00:00
jband%netscape.com a5d8f71528 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 ff4e039487 Support ECMA reference type return from native methods (44997, r=shaver). 2000-09-01 00:45:50 +00:00
waldemar%netscape.com dca152c48e Added jsdhash.c 2000-08-31 20:41:33 +00:00
jband%netscape.com 91431137bb 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 dec096cac0 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 396485e045 Forgot to round capacity up to nearest power of two\! r=bienvenu. 2000-08-31 03:12:40 +00:00
beard%netscape.com 3940913be4 bug #44187: added guards to prevent crashes when Java not available. r=jband 2000-08-31 02:37:42 +00:00
brendan%mozilla.org c1a33908b2 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 13689ccca6 Better javadoc 2000-08-30 13:41:15 +00:00
mkaply%us.ibm.com 31422b574a #50212
r=brendan, a=brendan
OS/2 GCC doesn't define _M_IX86
2000-08-30 01:04:59 +00:00
brendan%mozilla.org a9f537b714 Finish fixing 42221, for sure. 2000-08-29 23:09:47 +00:00
mccabe%netscape.com f80b936149 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 72259545ec 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 0bd1873977 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 b81dd96492 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 c2a345b42b 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 126a33230c 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 dd483f92da use QueryElementAt() to save space and time. r=shaver 2000-08-24 04:10:47 +00:00
brendan%mozilla.org 79e140d05d Eliminate silly gcc warning. 2000-08-24 03:14:17 +00:00
brendan%mozilla.org 1167c13750 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 cf4cfc6b82 Fixed printOperands to handle <NaR> 2000-08-23 01:07:19 +00:00
rogerl%netscape.com e66ddfe600 Fixed printOperand to handle <NaR> properly. Added missing 'return this' to
all constructors.
2000-08-23 01:06:52 +00:00
rogerl%netscape.com fbca44a130 r,a=beard@netscape.com. Bug #45415, fix LiveConnect memory leak. 2000-08-22 23:31:09 +00:00
nboyd%atg.com 98027f7ff1 Fix bug 48930: work around a MS JIT bug. 2000-08-22 17:04:21 +00:00
waldemar%netscape.com 0700924be5 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 5200b2308b Added \Q escape 2000-08-22 04:29:34 +00:00
waldemar%netscape.com b60ff5b98f Added line-break constraint 2000-08-22 04:29:01 +00:00
waldemar%netscape.com d502901d6a Made terminal constraint error message more detailed 2000-08-22 04:28:01 +00:00
brendan%mozilla.org 36d7d7ffd0 Fix UMR on ok in JS_ResolveStandardClass (46703, r=rogerl). 2000-08-22 00:25:17 +00:00
pavel%gingerall.cz 5871a2c6c0 - JSVALToSV handles perl objects in the right way 2000-08-21 16:52:49 +00:00
nboyd%atg.com c1c435731a Fix bug 49325. 2000-08-21 15:56:15 +00:00
nboyd%atg.com d55dd0cde5 Fix class path 2000-08-21 15:51:57 +00:00
brendan%mozilla.org 5e88ad7a0a Re-constipate JSClass.name. 2000-08-19 19:17:32 +00:00
jband%netscape.com e117ff9576 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 74edc9d97c fix bustage 2000-08-19 10:22:13 +00:00
brendan%mozilla.org 1c45c63e32 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 9d16e66aad 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 b100da9c08 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 469c427b58 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 764e0f7ef4 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 aa629031f9 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 e0bf09d5b8 added debugger classes. 2000-08-19 02:42:05 +00:00
brendan%mozilla.org 415d5448ff Add jsdhash. 2000-08-18 00:04:53 +00:00
nboyd%atg.com 3f0f44cc1a Fix for bug 49302 2000-08-17 12:37:32 +00:00
nboyd%atg.com 29f3436810 Fix 49301. 2000-08-17 12:28:46 +00:00
rogerl%netscape.com e98da0f355 Backing out fix to see if Linux build passes alivetest. 2000-08-17 00:30:57 +00:00
rogerl%netscape.com 963fe8b249 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 230bda8aea Bug #39141, r=mccabe, a=beard. Fix crash for empty array initializer. 2000-08-16 22:43:26 +00:00
shaver%mozilla.org ef25ecf277 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 426c97af16 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 08a7acd612 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 008b9ba5fb 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 7bc998fc6f Updated to generate Netscape 6-compatible HTML 2000-08-11 06:27:55 +00:00