Commit Graph

165 Commits

Author SHA1 Message Date
Brian Hackett
71506db37a Add most handles and stack rooters needed for exact scanning on shell benchmarks, bug 714647. r=billm 2012-04-12 09:23:51 -07:00
Matt Brubeck
b7d725d72a Back out e4c82a6b298c, 036194408a50, 39acc9f51df8 (bug 714647 and followups) because of test_finalizer.js crashes in Linux64 PGO builds 2012-04-12 22:07:43 -07:00
Brian Hackett
90b23329e3 Add most handles and stack rooters needed for exact scanning on shell benchmarks, bug 714647. r=billm 2012-04-12 09:23:51 -07:00
Luke Wagner
7b63a166b8 Bug 740446 - make 'arguments' more like a normal local binding (r=bhackett) 2012-04-02 08:58:30 -07:00
David Mandelin
5287c89131 Bug 739808: Remove method cloning optimization and method barrier, r=luke
--HG--
extra : rebase_source : d383c3704c3efd08f9fbf1324433a94fc4a8dbb8
2012-03-23 17:59:56 -07:00
Luke Wagner
fccfecaaff Bug 733950 - create arguments object eagerly (r=bhackett)
--HG--
rename : js/src/jsfun.cpp => js/src/vm/ArgumentsObject.cpp
2012-01-17 16:35:12 -08:00
Luke Wagner
225350a951 Backed out changeset d2107141265f to fix message 2012-03-15 10:39:02 -07:00
Luke Wagner
4222e81877 Bug 730497 - create arguments object eagerly (r=bhackett)
--HG--
rename : js/src/jsfun.cpp => js/src/vm/ArgumentsObject.cpp
extra : rebase_source : 78e9eccc7c3dd4570d2f78f7b5b5eb2138813e99
2012-01-17 16:35:12 -08:00
Jan de Mooij
1608dc1de3 Bug 732423 - Combine GETELEM and CALLELEM interpreter cases and fix some e4x/noSuchMethod bugs. r=bhackett 2012-03-08 12:18:27 +01:00
Luke Wagner
6bb4df0a55 Bug 732744 - rm AutoPreserveEnumerators (r=dvander)
--HG--
extra : rebase_source : f28eebcf3a3e14f4db0299b07b28f8e7a783b84a
2012-03-06 00:43:45 -08:00
David Mandelin
68c407c176 Bug 733260 followup: use uint32_t for array and string lengths, r=luke
--HG--
extra : rebase_source : 1729b4b927fde0678872b9de62a7466381aa07c3
2012-03-06 15:52:55 -08:00
David Mandelin
5e02d0630c Bug 733260: remove typedef jsuint, r=luke
--HG--
extra : rebase_source : e8f576e1b5b189b47807c613c0cff79f5c8038e7
2012-03-05 18:43:45 -08:00
Jeff Walden
b9cffc0641 Bug 732669 - Box primitive values correctly when accessing properties of them. r=bhackett
--HG--
extra : rebase_source : c4c084557425e6d42b990ca22c10972fcc6697ce
2012-03-05 09:34:38 -08:00
David Mandelin
8984e21021 Bug 732306: Remove typedef jsint, r=luke
--HG--
extra : rebase_source : 4d15a8514dbd698c114fa688461e533afab68ffa
2012-03-01 18:54:01 -08:00
David Mandelin
0be0db4666 Bug 730511: remove obsolete typedefs intN, uintN, r=luke 2012-02-28 15:11:11 -08:00
Jan de Mooij
82da0fa223 Bug 730836 - Refactor SetObjectElementOperation to avoid a GetPcScript call. r=pierron
--HG--
extra : rebase_source : 889b08873e1cab824f62c09c412e6b8d85a98b28
2012-02-28 12:06:42 +01:00
Jan de Mooij
1645f3bf09 Bug 725357 - Move Monitor call from GetElementOperation to the interpreter. r=dvander 2012-02-22 09:26:02 +01:00
Sean Stangl
fd9c9efd75 Bug 725532 - Refactor DefVarOrConstOperation() to be Ion-compatible. r=Waldo 2012-02-15 16:45:25 -08:00
Jan de Mooij
02c5104da9 Bug 727087 - Move JSOP_TOID implementation to jsinterpinlines. r=dvander
--HG--
extra : rebase_source : 2bcc7b7a30f613489a93cb1465a2ae6d64815f1c
2012-02-14 23:36:36 +01:00
Jeff Walden
e46b0ed4d4 Bug 725888 - Remove some js_GetClassPrototype calls, using faster methods on GlobalObject instead. Also introduce JS_GetObjectPrototype to retrieve Object.prototype so that a friend API can be made un-friendly. r=dmandelin
--HG--
extra : rebase_source : d68d7f1fdcc1bc9a1a027c08ea62bebd8e9d0178
2012-02-07 11:45:18 -08:00
Jeff Walden
b14e06d785 Bug 722121 - Remove uses of CheckRedeclaration from defvar/defconst. r=jorendorff
--HG--
extra : rebase_source : 01545432f592a4c9e1cf2a2df13ffd7c233e3733
2012-01-28 22:09:15 -08:00
Jan de Mooij
093713e2b2 Bug 679804 - Move relational ops to jsinterpinlines. r=dvander 2012-01-27 15:36:26 +01:00
Jan de Mooij
76646917e5 Move GETELEM/SETELEM operations to jsinterpinlines (bug 718683, r=pierron) 2012-01-24 16:20:34 +01:00
Jan de Mooij
d509a9c8b2 Bug 719135 - Move some arithmetic operations to jsinterpinlines. r=dvander 2012-01-20 13:01:44 +01:00
Brian Hackett
8fb0414d87 Pass scope chain explicitly to FindProperty, bug 717494. r=dvander 2012-01-18 17:15:00 -08:00
Brian Hackett
90e42791fc Backout 54cd89b0f1fa (bug 712714 backout). Talos will probably report fake regressions for this patch, do not back out for this reason. 2012-01-09 06:29:50 -08:00
Marco Bonardo
2d516bb575 Backout c0d337401801,78d17e22a223 (bug 712714) for talos regressions across the board. 2012-01-06 13:49:52 +01:00
Brian Hackett
d2a7217fc1 Make sure to call XML methods properly in property ICs, no bug. r=dvander 2012-01-05 12:57:06 -08:00
Brian Hackett
a6f79d1f7a Remove JOF_CALLOP, bug 712714. r=dvander 2012-01-05 11:08:38 -08:00
Jim Blandy
f2043939ea Bug 687683: Separate ScriptDebugPrologue add ScriptDebugEpilogue from and ScriptPrologue and ScriptEpilogue. r=jorendorff
At the moment, ScriptDebugPrologue is called (conditionally) from within
ScriptPrologue. For onEnterFrame handlers to be able to return a resumption
value, we need ScriptDebugPrologue to return a JSTrapStatus value, but it
is (non-debug) ScriptPrologue's callers that would need to handle those
values.

It seems strange to have ScriptPrologue return a JSTrapStatus. So this
patch brings ScriptDebugPrologue out of ScriptPrologue (and
ScriptPrologueOrGeneratorResume), and has ScriptPrologue's callers call
ScriptDebugPrologue explicitly.

For symmetry, we do the same with ScriptEpilogue,
ScriptEpilogueOrGeneratorYield, and ScriptDebugEpilogue.

Actually adding and processing the JSTrapStatus values comes in a later
patch. This is just meant to be a behavior-preserving rearrangement.
2011-12-06 11:40:27 -08:00
Brian Hackett
e89780c40d Remove jsobj.h from installed headers, bug 690943. r=luke 2011-10-04 07:06:54 -07:00
Luke Wagner
291999169a Bug 683361, part 4 - Handle transparent proxies correctly in non-generic methods (r=waldo)
--HG--
extra : rebase_source : 0f36c83685f2822453ce203a87cca4076222c48c
2011-09-08 21:18:23 -07:00
Luke Wagner
2c8c55d13f Bug 683361, part 2 - use CallArgs more (r=waldo)
--HG--
extra : rebase_source : 0825a9729a7e24706e9fa1f3fdfb1586c475d8cf
2011-09-08 21:02:26 -07:00
Ehsan Akhgari
78097f8be4 Resolve the merge conflict from bug 674998 correctly by removing InvokeSessionGuard completely, r=luke 2011-09-07 11:34:15 -04:00
Brian Hackett
a21793c57d Merge MC->JM 2011-09-06 00:45:22 -07:00
Luke Wagner
357b5b8cf8 Bug 684110 - Clean JSObject::clasp usage (r=pbiggar) 2011-09-02 17:23:26 -07:00
Ed Morley
2d385ce59f Backout bug 684110 (08b6eaf6aad0, cf8b35fa1010, 25ee45edabe1, 659f5c7d2cc9, 870f6dd82586 & e1ad65d6a7fd) and bug 684344 (cd1957f6628d) on a CLOSED TREE; a=bustage-fairies 2011-09-03 03:21:25 +01:00
Luke Wagner
39242fcb8c Bug 684110 - Clean JSObject::clasp usage (r=pbiggar) 2011-09-02 17:23:26 -07:00
Brian Hackett
3e0ad0ceba [INFER] Improve performance for non-reentrant closures, bug 663138. 2011-09-01 12:20:30 -07:00
Brian Hackett
6e0458f6d1 [INFER] Watch for recompilation triggered by while compiling a call in an inlined frame, bug 680951. 2011-08-26 08:55:00 -07:00
Brian Hackett
06268c9f02 Merge MC -> JM 2011-08-14 19:51:16 -07:00
Brian Hackett
beb3e0531e [INFER] Reduce inference-related script overhead, bug 674609. 2011-07-28 09:16:53 -07:00
Jason Orendorff
75a71f51e8 Merge from mozilla-central to jsdbg2 branch. 2011-07-27 18:23:16 -05:00
Brian Hackett
dda30fa4b2 Merge MC -> JM 2011-07-21 18:53:37 -07:00
Brendan Eich
0c46987a59 Bug 671947 - Unqualified function invocation uses the global object the property was gotten from as |this| (r=luke). 2011-07-20 12:48:12 -07:00
Brian Hackett
eb4a0fc5ea Allow JaegerShot to only partially execute frames, bug 665815. r=luke 2011-07-07 21:02:57 -07:00
Jason Orendorff
1f245d40df Merge from tracemonkey to jsdbg2. 2011-07-01 19:02:40 -05:00
Brian Hackett
dee99963bb Merge TM -> JM 2011-07-01 16:24:32 -07:00
Steve Fink
67a675cdaa Bug 667056 - Fix when function callbacks are invoked (r=luke) 2011-06-24 17:13:19 -07:00
Jason Orendorff
6367a9c217 Automatically turn debug mode on/off when adding/removing debuggees.
This allows most of the tests to run without the -d command-line flag.

Now a compartment is in debug mode if
 * JSD1 wants debug mode on, thanks to a JS_SetDebugMode* call; OR
 * JSD2 wants debug mode on, because a live Debug object has a debuggee
   global in that compartment.

Since this patch only adds the second half of the rule, JSD1 should be
unaffected.

The new rule has three issues:

1. When removeDebuggee is called, it can cause debug mode to be turned
   off for a compartment. If any scripts from that compartment are on
   the stack, and the methodjit is enabled, returning to those stack
   frames will crash.

2. When a Debug object is GC'd, it can cause debug mode to be turned off
   for one or more compartments. This causes the same problem with
   returning to deleted methodjit code, but the fix is different: such
   Debug objects simply should not be GC'd.

3. Setting .enabled to false still does not turn off debug mode
   anywhere, so it does not reduce overhead as much as it should.

A possible fix for issue #1 would be to make such removeDebuggee calls
throw; a different possibility is to turn off debug mode but leave all
the scripts alone, accepting the performance loss (as we do for JSD1 in
JSCompartment::setDebugModeFromC).  The fix to issues #2 and #3 is to
tweak the rule--and to tweak the rule for Debug object GC-reachability.

--HG--
rename : js/src/jit-test/tests/debug/Debug-ctor.js => js/src/jit-test/tests/debug/Debug-ctor-01.js
2011-06-02 21:58:46 -05:00