Commit Graph

5473 Commits

Author SHA1 Message Date
Igor Bukanov
40475ad940 bug - 488607
- fixing test_property_cache asserts. r=brendan
2009-05-01 07:10:25 -07:00
Jim Blandy
d9e9626654 Bug 488018: Fix bustage: any function using TRACE_2 needs an 'error' label. 2009-04-30 17:54:20 -07:00
Jim Blandy
56af1e088d Bug 488018: Propagate errors from tracer to interpreter. r=igor
Rename JSMonitorRecordingStatus to JSRecordingStatus.  The JSMRS_
prefix becomes JSRS_, accordingly.

Make 'record_' functions return JSRecordingStatus, not bool.  'false'
becomes 'JSRS_STOP'; 'true' becomes 'JSRS_CONTINUE'.  Since subsequent
patches will begin to use more than two values (the next assigns
meaning to JSRS_IMACRO), take care to propagate values to callers
accurately.

Define a new recording status, JSRS_ERROR.  Return it from recording
functions when appropriate.  Check for it at appropriate bottlenecks
in tracer and interpreter.

ABORT_TRACE becomes one of:
. ABORT_TRACE, for when we're simply aborting the recording process
. ABORT_TRACE_ERROR, for aborting due to an error
. ABORT_TRACE_CV, for producing an error message and returning something
  other than JSRS_STOP --- some contexts require boolean values.

Conditionally provide an alternative definition for the
JSRecordingStatus type that cannot be converted to 'bool', so that we
can use the C++ compiler to catch improperly converted code.

Use recording function return value for imacro invocation.  Eliminate
the JSFRAME_IMACRO_START frame flag.  Instead, return JSRS_IMACRO
directly from recording functions.
2009-04-30 17:30:46 -07:00
Andreas Gal
cafa156d52 We don't cache access to shared properties in the property cache (490666, r=igor,brendan). 2009-04-30 15:52:13 -07:00
Brendan Eich
e9db6fcb64 Bug 375250 - Reject (JSON is fixed now) E4X masquerading as JS source (r=igor/mrbkap). 2009-04-29 16:46:43 -07:00
Igor Bukanov
b8405f1171 bug 487846 - optimizing shape prediction for set opcodes. r=brendan 2009-04-29 07:07:21 -07:00
Andreas Gal
776395aee0 Eliminate test_property_cache_direct_hit (490370, r=jorendorff). 2009-04-27 16:01:52 -07:00
Brendan Eich
040f6baa77 Bug 490339 - Unexpected ReferenceError when using "new Function()" (r=mrbkap). 2009-04-27 14:43:49 -07:00
Graydon Hoare
9188f47f3a Backout a seemingly problematic line of cset d8c2060b0f9b. 2009-04-24 23:13:27 -07:00
Graydon Hoare
bb4177dccd Bug 490044 - TM: Add deep-bailing write barrier to global shape change code, r=brendan. 2009-04-24 17:47:32 -07:00
Andreas Gal
e58ef54027 js_NewInstance locks ctor on trace (490092, r=brendan). 2009-04-24 19:41:36 -07:00
Andreas Gal
214ea26d91 Compilation fix for 489899. 2009-04-24 16:35:42 -07:00
Andreas Gal
a89bbaad23 Stay on trace when reading holes from dense arrays (489899, r=brendan). 2009-04-24 16:28:21 -07:00
Graydon Hoare
3471a48ea3 Bug 470964 - Simulate CFG in imacro assembler and decompiler, r=brendan. 2009-04-24 09:07:49 -07:00
Graydon Hoare
76accb1b4f Bug 488967 - TM: Add global size check to global shape check, r=gal. 2009-04-23 20:46:40 -07:00
Jeff Walden
d19e88a97f Bug 488989 - Don't go slow if we don't have to. r=jorendorff 2009-04-23 13:34:18 -07:00
Brendan Eich
52153f3522 Bug 488842 - Local Scope Variables are not displayed by default (r=mrbkap). 2009-04-22 23:22:42 -07:00
Andreas Gal
92ed04cddc Remove dead code inside #if 0 from JSOP_GENERATOR (cleanup, no bug). 2009-04-22 17:58:51 -07:00
Andreas Gal
9471e12092 Fix burning PowerPC builds. 2009-04-22 17:16:26 -07:00
Andreas Gal
a51f22dbdf Need an API exposed to control code cache size (474497, r=bent,brendan, sr=mrbkap). 2009-04-22 16:52:59 -07:00
Brendan Eich
b554a4c785 Bug 489552 - Earth Day Recycling for Fun Kids - Assertion failure: RecycleFuncNameKids, at ../jsparse.cpp:444 (r=mrbkap). 2009-04-22 15:30:36 -07:00
Jason Orendorff
4ea515fa8b Bug 488874 - Change tm.onTrace to tm.tracecx. r=brendan.
--HG--
extra : rebase_source : bf683bee5e518cf5bfea8113c17685b8301d72c9
2009-04-22 15:07:55 -05:00
Andreas Gal
b3d5ba6b16 JSOP_BINDNAME wrongful abort due to fp->fun instead of fp->callee usage (489644, r=brendan). 2009-04-22 12:52:35 -07:00
Igor Bukanov
e4bc4e81cb bug 488995 - fixing error reporting for getter-only properties. r=mrbkap sr=jst 2009-04-22 12:39:08 +02:00
Leon Sha<leon.sha@sun.com>
b8845d61de Bug 488639 - SPARC jit: testIntOverflow, testIntUnderflow failed. r=gal. 2009-04-22 16:06:45 +08:00
Brendan Eich
50b885546d Shoot me now (489089). 2009-04-21 22:50:51 -07:00
jimb
b861fed2d3 Bug 469237: Only trace where BINDNAME will choose the global object. 2009-04-21 22:42:43 -07:00
Andreas Gal
c5c7bd2f6c Trace getting String.length (484332, r=brendan). 2009-04-21 18:56:24 -07:00
Brendan Eich
b2edd9eb0c Bug 489079 - Google Calendars disappear with latest trunk of Shredder [Error: Error parsing XML streamReferenceError: gCal is not defined] (r=mrbkap). 2009-04-21 18:20:21 -07:00
Brendan Eich
a27f8153f6 Oh for crying out loud (489089). 2009-04-21 18:09:44 -07:00
Brendan Eich
0aadb94a7b Bug 489089 - JSON.parse is way slower than it needs to be (r=igor/sayrer). 2009-04-21 12:09:27 -07:00
Brendan Eich
af27492080 Bug 488963 - "Assertion failure: cg->lexdeps.lookup(atom), at ../jsemit.cpp" (tachyonal r=mrbkap). 2009-04-20 18:46:46 -07:00
jorendorff
e1b8077e65 Leaving outermost request should js_LeaveTrace (480301, r=brendan). 2009-04-20 18:22:00 -07:00
Brendan Eich
7f4de719f8 Fix dangling JS_PROPERTY_CACHE_METERING bits broken by patch for bug 489171. 2009-04-20 17:32:36 -07:00
igor
48c3925a9a js_SetPropertyHelper does not null *entryp for read-only properties (489171, r=gal,brendan). 2009-04-20 17:00:59 -07:00
Brendan Eich
be23b17c5d Bug 488690 - "Assertion failure: dn->pn_defn, at ../jsemit.cpp" (r=mrbkap). 2009-04-20 15:51:27 -07:00
Blake Kaplan
3224ee7ee8 Bug 488843 - Restore missing check for un-optimiziable frames. r=brendan 2009-04-20 15:40:58 -07:00
Jeff Walden
ac7bbee9e5 Bug 489124 - Remove an unnecessary guard, specialize tracing of typeof for functions now that JSVAL_TFUN exists. r=gal 2009-04-20 12:25:43 -07:00
Blake Kaplan
f3d1280a04 Bug 488925 - Check for string indexes in the API entry points. r=brendan 2009-04-20 12:21:44 -07:00
Andreas Gal
b3ec5b0f4d Abort trace if the global object gets wrapped and we already hold a reference to the unwrapped object (489007, r=brendan). 2009-04-20 11:30:32 -07:00
Andreas Gal
26a670957d Remove bogus assert (489040, r=brendan). 2009-04-20 09:52:56 -07:00
Igor Bukanov
4ad2e764fa bug 488414 - js_GenerateShape just schedules, not run, the GC. r=brendan,gal 2009-04-20 12:10:29 +02:00
Igor Bukanov
fd49b19773 Backed out changeset f4662701526b (bug 488414) to fix !JS_THREADSAFE compilation errors 2009-04-20 11:59:36 +02:00
Igor Bukanov
56547f8087 bug 488414 - js_GenerateShape just schedules, not run, the GC. r=brendan,gal 2009-04-20 10:17:28 +02:00
Jeff Walden
f10c82d6e3 Kick tinderboxen out of a Linux orange that looks bogus 2009-04-18 22:09:37 -07:00
Jeff Walden
628e407f3f Bug 488781 - Followup readability fix to rearrange the ordering of cases in various type-switch statements to correspond to numeric values; this makes it much easier (for me at least) to see that such switches are properly exhaustive. r=gal 2009-04-18 16:47:24 -07:00
Jeff Walden
830e81a336 Bug 488781 - Add a trace-time type to differentiate functions from objects. r=brendan 2009-04-18 16:47:23 -07:00
Jeff Walden
c9680230c4 Bug 473117 - Rejigger how guards use side exits, and fix an erroneous comment. r=graydon 2009-04-18 16:47:23 -07:00
Igor Bukanov
ba556afe6d bug 487039 - caching only white-listed non-globals on the scope chain. r=brendan 2009-04-18 20:10:59 +02:00
Igor Bukanov
ac71be6d66 bug 487204 - NativeGet caching fixes. r=brendan 2009-04-18 19:56:53 +02:00
David Mandelin
e57983f598 Bug 488808: crash due to JSString INIT macros stomping deflated flag, r=brendan 2009-04-17 19:30:26 -07:00
Andreas Gal
ffd13ceb8b During trecording detect null 'this' object before wrapping it (488816, r=brendan). 2009-04-17 19:24:54 -07:00
Robert Sayre
dc86a73387 Merge mozilla-central to tracemonkey. 2009-04-17 21:35:32 -04:00
Blake Kaplan
38b83aefae Bug 485868 - Remove code duplication in xpcjsruntime.cpp. r=jst sr=brendan
--HG--
extra : rebase_source : 68dbe531ff1dca8b436ae938be763ff3921a1c9a
2009-04-17 16:52:15 -07:00
Blake Kaplan
da5b280a51 Bug 484180 - Don't call the class getter (especially not the scriptable helper!) for functions. r+sr=jst
--HG--
extra : rebase_source : 15e927e3a4281a0d5ffd54b528c9c90c76b7c6ee
2009-04-17 16:52:10 -07:00
Jason Orendorff
cc87745ec4 Bug 488693 - TM: "Assertion failure: !JS_TRACE_MONITOR(cx).needFlush, at ../jstracer.cpp". r=gal.
--HG--
extra : rebase_source : 4ff76dfc6418e818c7cabba6a7d87e5b49123540
2009-04-17 18:22:16 -05:00
Graydon Hoare
f97341fdf6 Bug 488363 - Missing write barrier on global object, r=jorendorff. 2009-04-17 15:25:25 -07:00
Andreas Gal
adc0da147c Merge. 2009-04-17 12:44:37 -07:00
Andreas Gal
da0094a55c Backed out changeset 324bb9dc8372 (bug 487204 is implicated in top site failures). 2009-04-17 12:41:00 -07:00
Blake Kaplan
f4e59bf91a Bug 479560, r+sr=jst 2009-04-17 12:41:42 +01:00
Andreas Gal
6520b20732 Backed out changeset 5bd116148175 (attempting to re-land bug 487204). 2009-04-16 17:56:18 -07:00
Andreas Gal
3b10c56019 Backed out changeset d1a4ee3d0c59 (bug 487204, due to possible leak). 2009-04-16 12:19:24 -07:00
Jason Orendorff
390c860d16 Fix "unused variable tm" warning I introduced a few days ago. No bug#, r=shaver. 2009-04-15 19:44:25 -05:00
Jason Orendorff
b02039ae3d Merge backout. 2009-04-17 14:17:21 -05:00
Jason Orendorff
e021a73170 Backed out changeset a6071b1aa626 due to trace-test.js failures. 2009-04-17 14:16:56 -05:00
Jason Orendorff
e62f4c079b Fix static-analysis-tracemonkey burning due to a6071b1aa626. 2009-04-17 11:22:57 -05:00
Jason Orendorff
2e2f8535f0 Bug 488693 - TM: "Assertion failure: !JS_TRACE_MONITOR(cx).needFlush, at ../jstracer.cpp". r=gal. 2009-04-16 18:28:57 -05:00
Igor Bukanov
b59b15388d bug 487546 - updating the tests to rfelect the new restriction on the maximum string length. r=bclary 2009-04-17 14:37:53 +02:00
Igor Bukanov
94a3d7329c bug 487930 - removal of JSSLOT_ARRAY_LOOKUP_HOLDER. r=mrbkap 2009-04-17 11:37:59 +02:00
Brendan Eich
fc377191d1 Bug 488802 - Crash at [@js_Interpret] on YOMIURI ONLINE (r=mrbkap). 2009-04-16 23:35:58 -07:00
David Mandelin
9c8203f872 Bug 487546 fixup: adding needed macro parens 2009-04-16 19:06:11 -07:00
David Mandelin
803163441c Bug 487546: Fix shell bustage, r=brendan 2009-04-16 17:23:43 -07:00
David Mandelin
874ab2823f Bug 487546: avoid unnecessary js_PurgeDeflatedStringCache calls, additional patch to address igor's review issues, r=igor 2009-04-16 16:23:46 -07:00
Andreas Gal
d9f8074374 Be less paranoid about jit stats for testNestedExitStackOuter since it doesn't seem to be stable. 2009-04-16 16:01:27 -07:00
Andreas Gal
34e554c496 Merge. 2009-04-16 15:56:46 -07:00
Andreas Gal
4fae4b8ce2 When allocating strings, only report error if we can leave trace, otherwise just return NULL (488764, r=jwalden). 2009-04-16 15:56:24 -07:00
Andreas Gal
5b284aaa5a Remove unsafe RegExp.test traceable native, the generic fast native mechanism can take care of it (488703, r=jorendorff). 2009-04-16 15:34:14 -07:00
Igor Bukanov
80295c64d7 bug 488699 - proper rooting of DeclEnv instance. r=brendan 2009-04-17 00:26:26 +02:00
David Mandelin
beb147a958 Bug 487546: call expensive JSString finalizers only if needed, r=brendan 2009-04-16 15:00:13 -07:00
Andreas Gal
51c5e8d189 Properly calculate 'this' object on trace and side exit if we have to wrap (488203, r=mrbkap,jorendorff). 2009-04-16 12:21:45 -07:00
Andreas Gal
c6e4da316b Backed out changeset 062ea62f9bda (backed out bug 488203 again). 2009-04-16 12:18:46 -07:00
Andreas Gal
69d6e84fc4 Backed out changeset 64d7df1fe160 (re-landing 488203). 2009-04-16 10:16:14 -07:00
Andreas Gal
a943161ace Backed out changeset e8c23c42db7f (bug 488203) to see whether it causes the leak. 2009-04-16 10:07:53 -07:00
Andreas Gal
53d87f13a2 Properly calculate 'this' object on trace and side exit if we have to wrap (488203, r=mrbkap). 2009-04-15 17:54:37 -07:00
Igor Bukanov
5836717df3 bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan 2009-04-16 02:36:14 +02:00
Igor Bukanov
907592f765 bug 477627 - avoiding deadlocks in ClaimTitle. r=brendan 2009-04-16 00:01:24 +02:00
Igor Bukanov
30ebeb6d1d merge after backout for bug 480301 2009-04-15 23:34:59 +02:00
Igor Bukanov
e2941e5370 Backed out changeset f97f196dcb58 - bug 480301 needs more work 2009-04-15 23:33:46 +02:00
Andreas Gal
05faccf228 Backed out changeset d1a4ee3d0c59 due to build fail, test fail, and perf regressions. 2009-04-15 14:20:52 -07:00
Igor Bukanov
577cb23ac0 bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan 2009-04-15 21:13:27 +02:00
Jason Orendorff
4dd9ad09ef Bug 487845 - TM: After deep-bailing, we can lirbuf->rewind() and then return to a dead code page. r=gal.
--HG--
extra : rebase_source : b7de71b526d45c7caed1982fba80c65763a0a9c6
2009-04-15 09:47:02 -05:00
Brendan Eich
237a2b7d5a Bug 488421 - Crash [@ js_ValueToString] or Crash [@ js_ValueToBoolean] or "Assertion failure: slot < fp->script->nslots, at ../jsinterp.cpp" (r=mrbkap). 2009-04-15 10:49:11 -07:00
Brendan Eich
9d4a42aeba Bug 488475 - "Assertion failure: \!(pn->pn_dflags & flag), at ../jsparse.h" (r=me). 2009-04-15 09:30:46 -07:00
Igor Bukanov
95c0598199 bug 488285 - fixing strict mode warnings with DOm window object. r=brendan 2009-04-15 16:09:58 +02:00
Brendan Eich
7b9f2ffb1f Bug 488015 - Crash [@ js_GetUpvar ] (also bogus JS errors, also probably Crash [@js_Interpret]) (future r=mrbkap, see bug). 2009-04-15 01:57:13 -07:00
Andreas Gal
4c09e7eb02 Backed out bug 488203. 2009-04-14 23:44:34 -07:00
Andreas Gal
7567cbb762 Merge. 2009-04-14 21:28:57 -07:00
Andreas Gal
c11974bb60 Backed out changeset 4c157cfe2289 (bug 487845). 2009-04-14 21:28:40 -07:00
Andreas Gal
6160744b13 Add missing FASTCALL declaration. 2009-04-14 20:54:22 -07:00
Andreas Gal
5f739a7156 Fix static analysis. It is ok for ComputeThis_tn to see a stale cx->fp since we just want to ensure the global object is wrapped. 2009-04-14 20:15:43 -07:00