Commit Graph

225 Commits

Author SHA1 Message Date
Jeff Walden
82a86462f5 Backed out changeset b6486db91e91, lots of orange 2010-11-11 14:23:49 -08:00
David Mandelin
1d9fdc0aba Bug 610480 part 3: silence a last few MSVC warnings 2010-11-11 12:17:08 -08:00
Jim Blandy
f27d13f045 Bug 602139: Add js_UpdateWatchpointsForShape, to correctly update watchpoints after shape changes. r=jorendorff
Many of the watchpoint bugs have to do with wp->setter and wp->shape
getting out of sync. The new function js_UpdateWatchpointsForShape takes
care of bringing all relevant watchpoints fully up to date; it is called
from the places in jsscope.cpp where property changes take place, and is
also used by the watchpoint creation code. DropWatchPointAndUnlock becomes
simpler; js_FindWatchPoint, js_WrapWatchedSetter and js_watch_set_wrapper
become static to jsdbgapi.cpp.
2010-11-09 15:04:12 -08:00
Boris Zbarsky
c5a2cf663d Backed out changeset 298e753a1726 (bug 610370) due to test orange. 2010-11-08 16:45:51 -05:00
Boris Zbarsky
4f8630a253 Bug 610370. Make sure to hash shapes in dictionary lists too, if they need it. r=brendan, a=shaver 2010-11-08 15:18:18 -05:00
Igor Bukanov
92b67c9caf bug 607695 - Avoid unnecessary JS_GetStringBytes. r=gal 2010-10-28 17:15:53 +02:00
Brendan Eich
2c853ae9ce Property enumeration order is altered after a method has been read (601399, r=jorendorff). 2010-10-26 19:12:40 -07:00
Brendan Eich
54fd156cb3 PropertyTable::{init,change} should use js_calloc/js_free, and JSObject::addPropertyInternal should report OOM on change failure (606880, r=anygregor). 2010-10-24 19:24:53 -07:00
Jason Orendorff
596862d852 Remove JSObject::title. Bug 606029, r=igor. 2010-10-22 19:04:22 -05:00
Brian Hackett
f9cf7a5b7d Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
Jason Orendorff
630900ee20 Finally get rid of /* Added by JSIFY */ comments. r=Waldo. 2010-10-01 18:46:54 -05:00
Brendan Eich
131feb1587 fun->u.i.names is incorrect when a local function shadows an argument (600067, r=jorendorff). 2010-09-29 16:15:43 -07:00
Gregor Wagner
fdb731becb Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
Brendan Eich
c27e88caa4 Fix shape vs. slot management under putProperty, plus related layering and error reporting fixes (596805, r=jorendorff). 2010-09-16 11:56:54 -07:00
Jim Blandy
96d7c2007b Bug 492849 - Implement Object.preventExtensions, Object.isExtensible. a=waldo,jimb, r=brendan
--HG--
rename : js/src/jsapi-tests/testSeal.cpp => js/src/jsapi-tests/testDeepFreeze.cpp
2010-09-21 11:35:29 -07:00
Brendan Eich
adfba421c2 Fix slot leak that leads to allocSlot assert botch (597945, r=jorendorff). 2010-09-21 00:04:25 -07:00
Robert Sayre
031267d073 Back out changeset d7d3c0af2877. Brendan Eich – Fix slot leak that leads to allocSlot assert botch (597945, r=jorendorff). 2010-09-21 00:44:17 -04:00
Brendan Eich
2f94ccfb1e Fix slot leak that leads to allocSlot assert botch (597945, r=jorendorff). 2010-09-20 15:21:41 -07:00
Brian Hackett
066d48b6b6 Backed out changeset 09ffb30caa47 2010-09-20 12:05:21 -07:00
Brian Hackett
e8819f33fa Make JSObject flexible length, bug 584917. r=brendan 2010-09-20 11:40:32 -07:00
Brendan Eich
95d5ebd4d3 Fix bogus assertion: "!shape->inDictionary()" (only if not shape->frozen(); 592217, r=jorendorff). 2010-09-20 08:01:06 -07:00
Brendan Eich
158b754944 JSFunction::addLocal never calls Shape::maybeHash (595918, r=jorendorff). 2010-09-13 18:44:34 -07:00
Brendan Eich
7bcb596924 Modularize to avoid inline vs. not ShapeHasher static woes (595615, r=dbaron) 2010-09-12 09:34:56 -07:00
Brendan Eich
2ac9654d21 Google Maps crash on tracemonkey branch (595365, precog a=jorendorff). 2010-09-11 23:55:25 -07:00
Brendan Eich
6ba6389297 Rename freeslot appropriately (593256 separated cosmetics-only patch, r=jorendorff). 2010-09-03 11:05:43 -07:00
Brendan Eich
30cbd0913a Bugs in dictionary-mode property table maintenance (593256, r=jorendorff). 2010-09-02 18:46:11 -07:00
Brendan Eich
d7abc9c150 Eliminate JSObject::freeslot via monotonic lastProp->freeslot (592556, r=jorendorff,dvander). 2010-09-02 14:50:44 -07:00
Igor Bukanov
e353306519 bug 588016 - Avoid reporting OOM when background has not finished. r=anygregor
--HG--
extra : rebase_source : 7d6b09d93bdc463cf7d06d2cdbe09085fd0e4b4b
2010-09-07 23:08:20 +02:00
Robert Sayre
0308956e29 Backed out changeset e2e1ea2a39ce. (Igor Bukanov – bug 588016 - Avoid reporting OOM when background has not finished. r=anygregor) 2010-09-01 11:24:45 -07:00
Igor Bukanov
3232f601ce bug 588016 - Avoid reporting OOM when background has not finished. r=anygregor 2010-08-19 21:28:12 +02:00
Luke Wagner
31c2aa44b4 Bug 592069 - handle deep bail from IteratorMore/method-write barrier (r=gal,dvander CLOSED TREE) 2010-08-31 11:33:30 -07:00
Brendan Eich
790ddc9e99 Merge JSScope into JSObject and JSScopeProperty (now js::Shape; bug 558451, r=jorendorff). 2010-08-29 11:57:08 -07:00
Robert Sayre
250c59eece Reland: Bug 577648 - arguments.callee.caller does not work in FF 4 under certain circumstances. 2010-08-01 09:58:03 -07:00
Robert Sayre
9bae5e1079 Backout changeset 80382d88b92c. (Bug 577648 - arguments.callee.caller does not work in FF 4 under certain circumstances). The patch is righteous, but MSVC's behavior with a mere 3GB of addressable memory is not. Will reland soon. 2010-07-31 14:01:26 -07:00
Igor Bukanov
2019c722fb bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Andreas Gal
69df940a4e Back out bug 580803. 2010-07-28 11:20:19 -07:00
Igor Bukanov
181c2cdf3a Backed out changeset 7b2b90efe57d -- the patch was landed against a tree with a lot of orange. This will hinder the orange resolution. 2010-07-28 14:36:06 +02:00
Igor Bukanov
a69fd0a49f bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Brendan Eich
794e678554 Arguments.callee.caller does not work in FF 4 under certain circumstances (577648, r=jwalden). 2010-07-23 14:41:56 -07:00
Andreas Gal
3eefbea893 Move GC triggering into the runtime (580803 part 2, r=igor). 2010-07-24 15:30:33 -07:00
Andreas Gal
404cbee80f Don't lock the GC if its already locked (follow-up for 580803). 2010-07-23 20:02:13 -07:00
Andreas Gal
ff0430908b Consolidate GC heuristics (580803, r=igor). 2010-07-23 15:17:42 -07:00
Brendan Eich
1813531fe8 Back out patch for bug 577648, need to fix a leak. 2010-07-23 14:21:50 -07:00
Brendan Eich
72e638d9ef arguments.callee.caller does not work in FF 4 under certain circumstances (577648, r=jwalden). 2010-07-10 11:48:00 -07:00
Luke Wagner
99411cc93d Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
Brendan Eich
e672f52623 Eliminate JSClass::reserveSlots and streamline new-object paths (535416, r=gal). 2010-06-18 17:43:02 -07:00
Brendan Eich
734c3a1ba9 Back out a81f2aed9c9b due to orange. 2010-06-18 17:39:22 -07:00
Brendan Eich
157c408713 Eliminate JSClass::reserveSlots and reserve fixed-per-class slots lazily (535416, r=gal). 2010-06-15 10:06:40 -07:00
Jason Orendorff
635c071944 Back out changeset a72a9d72c028 (bug 559653, remove SetPropHit). Checking to see if this caused a 5% Dromaeo regression today.
--HG--
extra : rebase_source : 5b1726c8bc4f9504cb1d452d0d21d59d61091ee0
2010-06-02 16:01:36 -07:00
Jason Orendorff
bf6f2c259c Bug 559653 - Record assignment before the interpreter goes; avoid record_SetPropHit. r=brendan. 2010-06-01 21:18:49 -07:00
Brendan Eich
9c5f58d3ca Call instances uniquely shaped at birth due to lack of runtime-shared empty scope (569391, r=jorendorff). 2010-06-01 15:01:11 -07:00
Igor Bukanov
9d49b712de bug 566145 - reserving block and arguments shapes. r=jorendorff 2010-05-20 12:48:04 +02:00
Brendan Eich
52ed1d8098 Fix getter/setter built-in vs. scripted type confusion: union getter/setter callable object pointer with raw JSPropertyOp pointer, fix watchpoint assertion/null-deref related to ES5's {get: undefined, set: undefined} new scripted getter/setter state encoding, clean up related code (560796, r=jwalden). 2010-04-30 16:03:37 -07:00
Jason Orendorff
89f72d0bce Backed out changeset 73f23528bed6 (bug 559653, again) 2010-04-30 15:12:13 -05:00
Jason Orendorff
d55c165fa7 Bug 559653 - Record assignment before the interpreter goes; avoid record_SetPropHit. r=brendan.
--HG--
extra : rebase_source : c6698a313d7d00cd0584e1968d96d4b67ab0373c
2010-04-28 11:12:19 -05:00
Jason Orendorff
aff223663e Bug 560998 - Assertion failure: entry->vword.toObject() == JSVAL_TO_OBJECT(v). r=brendan. 2010-04-30 08:29:04 -05:00
Jason Orendorff
fc386a2ca8 Backed out changeset ae857d818793 (bug 559653) due to test failures. 2010-04-28 13:41:24 -05:00
Jason Orendorff
63cfa9cafb Bug 559653 - TM: Record assignment before the interpreter goes; remove record_SetPropHit. r=brendan. 2010-04-28 11:12:19 -05:00
Jeff Walden
28d55d50d4 Bug 560566 - "Assertion failure: getter" redefining property that's not the most recent property in an object whose scope is not in dictionary mode, when the original property was a half-accessor with an explicitly undefined absent half, and the new property is also an accessor and does not modify the explicitly undefined half of the original half-accessor. r=dmandelin 2010-04-20 17:52:43 -07:00
Jason Orendorff
8c46df6c46 Bug 557652 - Eliminate redundant guard that incProp/getProp operand is not the global object. r=brendan.
--HG--
extra : rebase_source : 8da6192aedb78f6096d83a161698b27e43d30c30
2010-04-12 08:27:16 -05:00
Jeff Walden
ad6a89209e Bug 517580 - Unconditionally build with support for getters and setters, remove support for the deprecated { x getter: function() {}} and x getter= function() {} getter syntaxes (mutatis mutandis for setter) now that ES5 provides Object.getOwnPropertyDescriptor and Object.defineProperty and { get x() { } } syntax, and provide __{define,lookup}{G,S}etter__ only if a preprocessor variable is defined (unconditionally provided for the moment). r=luke 2009-10-06 12:35:33 -07:00
Luke Wagner
777b935aea Bug 558144 - un-macroize OBJ_SCOPE, OBJ_SHAPE, LOCKED_OBJ_SET_SLOT, LOCKED_OBJ_GET_SLOT (r=Waldo) 2010-04-08 11:22:04 -07:00
Nicholas Nethercote
795d4b8ad2 Bug 556353 - Remove OBJ_IS_NATIVE, HAS_FUNCTION_CLASS. r=brendan. 2010-03-31 22:13:51 -07:00
Nicholas Nethercote
684396fb91 Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal. 2010-03-30 14:42:48 -07:00
Brendan Eich
34b1a91d97 Fix arguments objects to share a runtime-wide empty scope, instead of each getting a differently shaped own scope at birth (554626, r=igor). 2010-03-30 00:44:28 -07:00
Brendan Eich
f819b36cf4 Use direct object shape instead of identity as key for deep property cache hits (497789, r=jorendorff). 2010-03-22 11:11:44 -07:00
Brendan Eich
98c439cd12 Fix dictionary-mode scope property node alloc to happen inside rt->gcLock (538307, r=jorendorff). 2010-03-03 17:14:20 -08:00
Jason Orendorff
ad75218737 Bug 539170 - Encapsulate JSScopeProperty::{getter,setter} and move assertions to init-time. r=Waldo. 2010-02-24 17:40:28 -08:00
Brendan Eich
67355cdc47 Fix bogus assertion (537854, r=mrbkap). 2010-02-22 15:30:35 -08:00
Gregor Wagner
dc4711d401 BUG 545303: TM: non API function for JS_CallTracer r=igor 2010-02-18 13:16:02 -08:00
Jason Orendorff
095bd890ef Bug 539829 - Encapsulate JSScope::flags. r=Waldo.
--HG--
extra : rebase_source : ced4f057e715075d8e4eff343e824d8934152a7e
2010-02-05 18:11:13 -06:00
Igor Bukanov
f74b35769d bug 538463 - caching only single-threaded objects. r=jorendorff 2010-02-03 13:42:07 +03:00
Igor Bukanov
008691b6f9 Backed out changeset b9700adc3951 - the landing for the bug 538463 had wrong changes 2010-02-03 13:37:56 +03:00
Igor Bukanov
7aafadcc76 bug 538463 - caching only single-threaded objects. r=jorendorff 2010-02-03 12:46:10 +03:00
Igor Bukanov
836b8a84eb bug 540805 - using reference counting only for empty scopes. r=jorendorff 2010-01-27 09:50:17 +03:00
Luke Wagner
2645ecd2da Bug 541452 - put jstracer.cpp in namespace js (r=jorendorff) 2010-01-22 14:49:18 -08:00
Jason Orendorff
dbda92dde3 Bug 533876 - In JSScope::{add,put}Property, disregard the SPROP_IN_DICTIONARY bit of the flags. r=brendan.
--HG--
rename : js/src/tests/js1_8_1/regress/browser.js => js/src/tests/js1_8_5/regress/browser.js
rename : js/src/tests/js1_8_1/regress/shell.js => js/src/tests/js1_8_5/regress/shell.js
extra : rebase_source : f86f464a91d8f560a1034e45fe23a5bc4c84d9f5
2010-01-14 17:20:27 -06:00
Jason Orendorff
eb646c48c1 Fix DumpSubtree so it doesn't assert. r=nobody, DEBUG-only JS_PROPTREE_DUMPFILE-only code. 2010-01-13 15:33:55 -06:00
Blake Kaplan
0d1d39c382 No bug. Fix GCC warnings. rs=brendan 2010-01-11 13:34:56 -08:00
Brendan Eich
f22c353c9c Bug 533258 - "Assertion failure: hasMethodBarrier()" with ckeditor (r=jorendorff). 2010-01-07 10:01:01 -08:00
Jeff Walden
285792a4b4 Bug 430133 - Implement ES3.1's Object.defineProperty and Object.defineProperties. r=jorendorff 2009-06-05 12:56:45 -07:00
Brendan Eich
e3b2653ade Bug 533705 - Lock proto-scope around canProvideEmptyScope/getEmptyScope; check for slot mismatch in js_AddProperty; don't optimize for slot mismatch in JSOP_SETPROP. r=jorendorff.
--HG--
extra : rebase_source : 4d49e9ef150286db93f2e5e1c77b217832263f83
2009-12-16 18:11:19 -06:00
Igor Bukanov
b684411ba9 bug 534493 - avoiding too much debug checks in JSScope::removeProperty. r=brendan 2009-12-13 21:46:37 +03:00
Brendan Eich
9ccccbbe6b Extra assertions, control flow cleanup in putProperty, and a crucial scope hashtable fix to removeProperty (stored was not reloaded from *spp; got rid of this ancient over-optimization by hand-coded 'register allocation'; 532096, r=mrbkap). 2009-12-02 19:13:31 -08:00
Robert Sayre
4ea539c658 Relanding: Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). Backed out changeset ee7bfc1923ad 2009-12-01 15:49:15 -05:00
Robert Sayre
8be5b171b9 Backed out changeset c03ebf340688. Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). 2009-12-01 09:56:16 -05:00
Brendan Eich
c731045c51 Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). 2009-11-20 16:14:42 -08:00
Jason Orendorff
cd32782f94 Bug 505523 - Property cache can skip JSClass::resolve or JSClass::addProperty hooks. r=graydon, r=brendan.
--HG--
extra : rebase_source : a77b0e81203010aabe07b92b639762dce83200c0
2009-11-18 14:29:58 -06:00
Jim Blandy
ae0ff5874f Bug 514585: Remove macro wrappers for js_NewPrinter and JS_InitArenaPool. r=igor
These macros were intended to help avoid passing unused parameters
when JS_ARENAMETER is not defined, but they're not worth the trouble.
The unused parameter doesn't elicit warnings, and the performance
impact of passing the unneeded argument is negligible.

This also removes support for JS_ARENA_CONST_ALIGN_MASK, which is not
used.
2009-11-18 13:33:53 -08:00
Jason Orendorff
d2943dea25 Bug 524743 - Shape regeneration still does not touch most empty scopes. r=brendan.
--HG--
extra : rebase_source : 13a7f72bef38f2bfb8615a907c0cb47e31f55e1d
2009-10-27 16:00:26 -05:00
Brendan Eich
02c0dc3df2 Factor jsscopeinlines.h out, clean up #include order (524267, r=gal/jorendorff). 2009-10-26 13:39:39 -07:00
Igor Bukanov
d615c5e729 bug 521390 - avoid checking for malloc memory pressure when allocating GC things from free lists. r=brendan 2009-10-18 19:40:19 +04:00
Brendan Eich
4bf4354638 High-level CSE for shape guards (518448, r=jorendorff). 2009-09-29 19:05:19 -07:00
Robert Sayre
7e3d716d38 Backed out changeset f5ea964eb493sdf 2009-09-26 18:55:25 -07:00
Brendan Eich
69fd06459c High-level CSE for shape guards (518448, r=jorendorff). 2009-09-25 14:07:08 -07:00
Jeff Walden
d47fa5ba16 Bug 517594 - Add assertions to verify that sprops being used don't have an id == JSVAL_NULL, to attempt to catch such bugs as early as possible. r=jorendorff
--HG--
extra : rebase_source : 0018d627c98d37dae8b008fba7681d63747e18f1
2009-09-18 15:39:09 -07:00
Brendan Eich
eaabbf253c Bug 516075 - Move shape into JSObjectMap from JSScope, const-ipate and use LIR_ldc* to get to it (r=jorendorff). 2009-09-14 20:29:46 -04:00
Igor Bukanov
8b5938706b bug 440834 - do not cache enumerators when object shape overflowed. r=brendan 2009-09-10 15:59:43 +04:00
Brendan Eich
2b439c7885 Use class statics for the unit and int string tables (513530 followup, r=gwagner). 2009-09-04 18:04:14 -07:00
Brendan Eich
cce4dce512 Join lambdas assigned or initialized as methods to the compiler-created function object if we can, with a read barrier to clone on method value extractions other than call expressions (471214, r=jorendorff). 2009-09-03 14:41:19 -07:00