Commit Graph

586 Commits

Author SHA1 Message Date
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
Andreas Gal
7d3f588878 Inline GetUnitString fast path (513373, r=sayrer). 2009-08-28 16:30:41 -07:00
Igor Bukanov
b919139e8d bug 511425 - removal of JSObjectOps.(get|set)RequiredSlot. r=brendan 2009-08-28 09:53:26 +04:00
Luke Wagner
a5b9103165 Bug 419743 - Add JSOP_CONCATN (r=waldo) 2009-08-18 15:43:17 -07:00
Blake Kaplan
c10e9bb5ef Bug 512897 - Innerize the scope chain to protect from native callers passing an outer object. r=brendan 2009-08-27 11:43:54 -07:00
Brendan Eich
b063d31520 Back out changeset aff171a8c4f0 (bug 471214). 2009-08-26 09:34:41 -07:00
Brendan Eich
bd8f55c0ad Join function objects where possible (471214, r=igor). 2009-08-25 23:42:37 -07:00
David Anderson
e322e64001 Removed JSStackFrame::xmlNamespace (bug 512389, r=brendan). 2009-08-25 12:07:45 -07:00
Michael Sullivan
d329b7a0f0 Bug 507723: separate jsop implements into their own file and allow them to be included as functions, r=brendan 2009-08-10 13:26:28 -07:00
Jason Orendorff
08c6a1c780 Bug 506721 - Convert JSVAL_TO_INT and INT_TO_JSVAL to functions. r=Waldo. 2009-08-09 07:25:53 -05:00
Jason Orendorff
4652795bfd Bug 509040 - DEFSHARP should define, not set, properties on fp->sharpArray. r=brendan.
--HG--
extra : rebase_source : 808d5523fa1db91152bbeb37f8d6015a40c0bc56
2009-08-07 11:10:12 -05:00
Graydon Hoare
fd8a117e2f Bug 503694 - TM: Code run off an event handler is never traced, r=brendan.
--HG--
extra : rebase_source : da2e900baac68f88f06eaa8554b245f7d403153f
2009-08-06 12:40:51 -07:00
Igor Bukanov
ef90f6f522 bug 493457 - uniform access to private slots. r=mrbkap, sr=jwalden 2009-08-04 23:06:55 +02:00
Jason Orendorff
1a10f24c21 Remove unnecessary intermediate in case JSOP_FORNAME. No bug#. rs=brendan.
--HG--
extra : rebase_source : cab0d44fc57007551c02c9493f58a95e0030552c
2009-08-04 12:58:56 -05:00
Igor Bukanov
ca5953ea0c bug 507573 - put activation clenup. r=brendan 2009-08-04 12:55:58 +02:00
Mark Steele
ff339aa3b6 Bug 497999: collect context-specific TraceVis data in JS objects, r=jorendorff 2009-07-30 11:48:02 -07:00
Jason Orendorff
2a9ce4d07c Bug 506347 - Assertion failure: OBJ_SCOPE(pobj)->object == pobj, at ../jsinterp.cpp. r=brendan.
--HG--
extra : rebase_source : 205b7723b6af57682f8f3445a7eda825995a0911
2009-07-30 10:12:01 -05:00
Jason Orendorff
a9c63ed454 Bug 497886 - Document the property cache. r=brendan. 2009-07-29 15:18:31 -05:00
Robert Sayre
99a0962393 Backed out changeset e09130fcb013 2009-07-28 18:51:35 -04:00
Brendan Eich
8d27b07ec5 Bug 471214 - Join function objects transparently, clone via read barrier to satisfy de-facto standard (r=igor). 2009-07-28 13:20:14 -07:00
Andreas Gal
e7f2714ea1 When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo). 2009-07-27 21:10:12 -07:00
David Mandelin
cfb0d1fd1b Bug 506821: clean up trailing whitespace, r=brendan 2009-07-27 18:40:12 -07:00
Jason Orendorff
08e0a53af4 Bug 503408 - Trace native setters. r=brendan. 2009-07-27 16:47:34 -05:00
Igor Bukanov
9534c3d315 bug 504033 - avoiding calling JSFinalizeStub. r=brendan 2009-07-22 18:23:21 +02:00
Jason Orendorff
a31f80165c Bug 503080 - Remove prototype-scope-sharing. r=brendan. 2009-07-21 16:25:11 -05:00
Blake Kaplan
cd3a0971f1 Bug 504590 - Don't return a "joined" function object, since we don't support them yet. r=brendan
--HG--
extra : rebase_source : b7134d683b6e4439f284f9bb033b8040f53cdfb0
2009-07-16 13:16:33 -07:00
Andreas Gal
1af8dfb112 Avoid integer division in NewGCThing path (503157, r=jwalden). 2009-07-14 17:06:09 -07:00
Andreas Gal
f552010935 Make js_ValueToString inline (503669, r=jwalden). 2009-07-13 14:55:04 -07:00
Andreas Gal
d788e5a1d4 Make CHECK_FOR_STRING_INDEX an inline function (503666, r=jwalden). 2009-07-11 15:41:32 -07:00
David Anderson
a46f3aa0f0 Fix -0 modulo -x disagreement on Windows (bug 503595, r=sayrer). 2009-07-11 12:40:37 -07:00
Brendan Eich
f60779aef5 Bug 503343 - Change JSScope macros to methods. r=jorendorff 2009-07-09 15:27:21 -05:00
David Mandelin
975f74c278 Bug 453730: trace JSOP_ARGUMENTS, r=gal 2009-07-08 11:16:41 -07:00
Jason Orendorff
b2ae19610c Bug 498565 - Setting inline style always misses property cache. r=brendan.
--HG--
extra : rebase_source : 953740c5d693ee5358fb85690dc0e15df3bafa0a
2009-07-07 06:20:26 -05:00
Jason Orendorff
50928beb6c Minor cleanup. Fuse if-if in js_FillPropertyCache. r=brendan in bug 498565 comment 18.
--HG--
extra : rebase_source : 386e6c4b1c06aa14b9d7e6cb7efaf83c9fb5e7bd
2009-07-07 06:09:28 -05:00
Johnny Stenback
a511964116 Fixing bug 442399. Remove LiveConnect from the tree. r=joshmoz@gmail.com, bclary@bclary.com, sr=brendan@mozilla.org 2009-06-30 15:55:16 -07:00
Graydon Hoare
a94223e1df Bug 500580 - JS_CallFunction path isn't ~JIT guarded against non-global scope chains, r=brendan. 2009-06-26 11:13:32 -07:00
Graydon Hoare
8ddc326134 Bug 500491 - Only reset saved JSOPTION_JIT after js_Execute, r=brendan. 2009-06-25 16:20:53 -07:00
Brendan Eich
b1edbdb4eb Back out incorrect patch for bug 497789 (r=jorendorff). 2009-06-26 10:40:51 -07:00
Benjamin Smedberg
3323246776 GetAtomFromBytecode is actually JS_REQUIRES_STACK, just marking it so. 2009-06-25 15:19:37 -04:00
Benjamin Smedberg
c7cc8fde73 Bug 498398 - fast natives such as array_sort and many others must not be JS_REQUIRES_STACK, r=jorendorff 2009-06-25 15:12:19 -04:00
Brendan Eich
579d4f6d24 Seed new empty scope shape from prototype to handle foreshadowing, enable deep propcache hits keyed by shapes, simplify code (497789, r=igor). 2009-06-25 12:05:09 -07:00
Vladimir Vukicevic
b7cdc8d0ff b=403345; dtrace probes get wrong function name, filename, and line number info when native methods are involved; r=brendan 2009-06-17 13:50:03 -07:00
Graydon Hoare
2ad590f536 Bug 497060 - Disable JIT on non-global initial scope chain, r=brendan.
--HG--
extra : rebase_source : f8052e5687bfa5fe5f9879622375c06dac647f95
2009-06-18 14:47:57 -07:00
Igor Bukanov
3193020246 bug 498899 - avoiding excessive JS_(LOCK|UNLOCK)_OBJ while quering property cache. r=brendan 2009-06-18 15:24:06 +02:00
Igor Bukanov
e90c3cd0d5 Backed out changeset 7ab1be136cfa - that patch for bug 498899 has a bug. 2009-06-18 15:00:55 +02:00
Igor Bukanov
7d5d5e6b13 bug 498899 - avoiding excessive JS_(LOCK|UNLOCK)_OBJ while quering property cache. r=brendan 2009-06-18 14:26:16 +02:00
Nicholas Nethercote
e2a97e3f4c Bug 496448: TraceVis TraceMonkey performance visualization, r=brendan 2009-06-16 09:30:01 +01:00
Jason Orendorff
52fe5a97ba Bug 497618 - Change JSString macros to methods. r=Waldo. 2009-06-10 20:29:44 -05:00
Brendan Eich
77da9d75ed Bug 494235: wrap escaping optimized closures for the debugger API (r=igor/mrbkap). 2009-06-04 18:58:47 -07:00
Andreas Gal
bd43ddb1c8 Bad assert in NEXTITER exception handling (494975, r=brendan). 2009-05-26 16:39:43 -07:00
Igor Bukanov
0374ee3760 bug 490364 - mutating parent chain shapes only for Call objects and only when adding properties that are not parameter or var names. r=brendan 2009-05-15 11:43:19 +02:00
Igor Bukanov
92f94e451c bug 491126 - sharing object map for non-native objects. r=brendan 2009-05-14 12:35:23 +02:00
Brendan Eich
0416e1e679 Bug 492355 - Suspected Txul regression from JS engine changes (r=igor). 2009-05-13 17:11:23 -07:00
David Mandelin
4e118ecf45 Bug 492610: correctly determine when an upvar is part of the trace, r=brendan 2009-05-12 16:25:57 -07:00
Benjamin Smedberg
154f21ccdd Bug 492040 - js_Execute must bail off trace, r=jorendorff a=josh for CLOSED TREE checkin 2009-05-08 16:32:35 -04:00
Igor Bukanov
3597961095 bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan 2009-05-06 20:33:10 -02:30
jorendorff
93c6d226d3 Record all calls to native functions (487134, r=gal, brendan). 2009-05-05 14:26:06 -07:00
Andreas Gal
fe1ed6adb9 Backed out changeset 6534f8b9aa74 (bug 491013, assert on startup). 2009-05-04 15:07:53 -07:00
Igor Bukanov
d77b8664fb bug 491013 - fixing shared setter regression and eliminating several useless anonymous prototype objects. r=brendan 2009-05-03 20:43:55 -04:00
Igor Bukanov
40475ad940 bug - 488607
- fixing test_property_cache asserts. r=brendan
2009-05-01 07:10:25 -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
Igor Bukanov
b8405f1171 bug 487846 - optimizing shape prediction for set opcodes. r=brendan 2009-04-29 07:07:21 -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
Graydon Hoare
3471a48ea3 Bug 470964 - Simulate CFG in imacro assembler and decompiler, r=brendan. 2009-04-24 09:07:49 -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
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
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
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
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
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
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
Igor Bukanov
95c0598199 bug 488285 - fixing strict mode warnings with DOm window object. r=brendan 2009-04-15 16:09:58 +02:00
Andreas Gal
4c09e7eb02 Backed out bug 488203. 2009-04-14 23:44:34 -07:00
Andreas Gal
e01cfd34c3 Properly compute 'this' object on trace and wrap if necessary (488203, r=mrbkap). 2009-04-14 19:52:09 -07:00
Igor Bukanov
6da0ea9b5e bug 462734 - fixing JSOP_BINDNAME caching issues. r=brendan 2009-04-11 10:11:06 +02:00
Igor Bukanov
d738892163 Backed out changeset 595ebe7b82fa - it had wrong patch 2009-04-11 10:07:42 +02:00
Igor Bukanov
de22fe3e47 bug 462734 - fixing JSOP_BINDNAME caching issues. r=brendan 2009-04-11 10:04:24 +02:00
Jeff Walden
61aee1746d Bug 473096 - js1_5/Regress/regress-366601.js - Internal Error: script too large. r=brendan 2009-04-10 17:41:13 -07:00
Blake Kaplan
1c5e6afeac Bug 487684 - Store the last trace PC to pass into the decompiler. r=igor 2009-04-10 14:06:28 -07:00
Brendan Eich
26a5b7f3fc Bug 487563 - Crash [@ js_Interpret] (r=mrbkap). 2009-04-09 18:44:54 -07:00
Brendan Eich
e29805bd5a Bug 487561 - More cleanup from bug 452498 and bug 487271 patches (r=mrbkap/igor, and this fixes bug 487570). 2009-04-09 15:05:12 -07:00
Andreas Gal
4f7fe5afa4 Bug 485959 - TM: Recording continues across loop edge. r=jorendorff 2009-04-07 00:45:49 -07:00
Andreas Gal
ca62b9e9e3 backout Bug 485959, disable-jit bustage. 2009-04-07 03:34:06 -04:00
Andreas Gal
fd3fd2676a Bug 485959 - TM: Recording continues across loop edge. r=jorendorff 2009-04-07 03:25:29 -04:00
Jason Orendorff
32b58a38be Thread-safety comment for bug 479198. r=brendan. 2009-04-06 16:43:45 -05:00
Jason Orendorff
81f9c93dec Bug 479198 - "Deep" property cache entries not invalidated when shadowed (TIBCO General Interface regression). r=brendan. 2009-04-06 13:24:20 -05:00
Brendan Eich
962b187fe5 upvar2, aka the big one take 2 (452598, r=mrbkap). 2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb Backed out changeset 972c44aa9d1f (bug 452598). 2009-04-04 10:14:52 -07:00