Commit Graph

33560 Commits

Author SHA1 Message Date
Ms2ger
463d937eef Bug 823902 - Use a bit less fromMarkedLocation; r=terrence 2013-02-07 09:12:51 +01:00
Ms2ger
ff7b06f564 Bug 829206 - Implement CallArgs::get; r=evilpie 2013-02-07 09:08:58 +01:00
Ms2ger
7e2c95314c Bug 829205 - Some rooting in Object.cpp; r=terrence 2013-02-07 09:08:58 +01:00
Ms2ger
f6f14b0b47 Bug 831885 - Turn JS_DHASH_ENTRY_IS_* into inline functions; r=jorendorff 2013-02-07 09:08:57 +01:00
Ryan VanderMeulen
40bf57c1b6 Backed out changesets 34927afb65e2 and 2d0b056ced49 (bug 838559) for mochitest failures.
--HG--
rename : content/html/content/src/HTMLMenuElement.cpp => content/html/content/src/nsHTMLMenuElement.cpp
rename : content/html/content/src/HTMLMenuElement.h => content/html/content/src/nsHTMLMenuElement.h
2013-02-06 16:22:59 -05:00
Daniel Holbert
69886e640f Bug 838753: Make PropertyKey.cpp #include jsatominlines.h, to get ToAtom() inline-function-definition. r=Waldo 2013-02-06 12:44:05 -08:00
Sean Stangl
1a3e66e87f Bug 838469 - Use CallInfo for inlining natives. r=h4writer 2013-02-06 12:34:15 -08:00
Benjamin Peterson
5575087ead Bug 836515 - Allow source compression to run while executing the script. r=jorendorff 2013-02-07 09:29:22 -05:00
Brian Hackett
cf3b75f54a Bug 838727 - Move emitDoubleToInt32 to MacroAssembler, r=jandem. 2013-02-07 07:13:20 -07:00
Jim Mathies
fec1053b98 Bug 802254 - Add support for multiple app dirs in add-on packaging (mc bits), r=glandium 2013-02-06 15:21:32 -06:00
Andrea Marchesini
56a3519e26 Bug 838559 - Rename nsHTMLMenuElement to HTMLMenuElement. r=Ms2ger
--HG--
rename : content/html/content/src/nsHTMLMenuElement.cpp => content/html/content/src/HTMLMenuElement.cpp
rename : content/html/content/src/nsHTMLMenuElement.h => content/html/content/src/HTMLMenuElement.h
2013-02-06 14:19:20 -05:00
Terrence Cole
46f2c42966 Bug 706885 - Move post barrier verifier to JSRuntime; r=billm
--HG--
extra : rebase_source : 0ecc660996501fb54573cc0081a12bbca838e45d
2013-01-28 15:59:02 -08:00
Boris Zbarsky
c68a618b49 Bug 837645. Support 'any' values in sequences and dictionaries. r=smaug,peterv 2013-02-06 14:23:45 +00:00
Boris Zbarsky
c5497770e8 Bug 838518 part 2. Fix nodeiterator callers per the API change that was made. r=smaug 2013-02-06 14:22:33 +00:00
Boris Zbarsky
1ee4c73471 Bug 838518 part 1. Fix treewalker callers per the API change that was made. r=smaug 2013-02-06 14:22:33 +00:00
Norbert Lindenberg
b8e4cd859b Bug 769872 - Add self-hosted JavaScript core of Intl constructors Collator, NumberFormat, DateTimeFormat (part 2). r=jwalden 2013-02-06 23:04:39 -08:00
Benjamin Peterson
b03446be96 Bug 836524 followup - need to include inlines. CLOSED TREE 2013-02-07 00:03:48 -05:00
Bill McCloskey
811274c2f7 Bug 836524 - Zone renaming part 6 (r=jonco) 2013-02-06 18:08:47 -08:00
Bill McCloskey
cdd97ab1ad Bug 836524 - Zone renaming part 5 (r=jonco) 2013-02-06 18:08:42 -08:00
Bill McCloskey
76b738c890 Bug 836546 - Simplify gray links in the GC (r=jonco) 2013-02-06 18:08:34 -08:00
Bill McCloskey
8306e9b140 Bug 836524 - Zone renaming part 4 (r=terrence) 2013-02-06 18:08:28 -08:00
Bill McCloskey
448a886730 Bug 836524 - Zone renaming part 3 (r=jonco) 2013-02-06 18:08:22 -08:00
Bill McCloskey
8310222f4a Bug 836524 - Zone renaming part 2 (r=jonco) 2013-02-06 18:08:16 -08:00
Bill McCloskey
dafa1e5af2 Bug 836524 - Zone renaming part 1 (r=terrence) 2013-02-06 18:08:10 -08:00
Brendan Eich
04905af554 Bug 433529 - switch style nit-policing followup (r=lumpy). 2013-02-06 15:28:36 -08:00
Christian Holler
27cd3a543c Bug 838150 - Add ASan and Valgrind annotations to JS LifoAlloc. r=bhackett 2013-02-06 14:30:01 +01:00
Christian Holler
451c64cdb9 Bug 838148 - Add 63 missing jit-tests for various bugs. rs=terrence 2013-02-06 14:01:01 +01:00
Jeff Walden
f06df5742e Fix up a few lingering references to jsval.h. Followup to bug 837773, r=bustage in a CLOSED TREE 2013-02-05 16:13:24 -08:00
Nicholas Nethercote
373e7a6d2c Bug 837981 - Remove GetDeflatedStringLength(). r=terrence.
--HG--
extra : rebase_source : 7966380110472b6e164c3689378fdbd788d25301
2013-02-05 15:12:05 -08:00
Jeff Walden
88e94604ab Bug 837773 - Add a PropertyKey.h header. r=jorendorff
--HG--
rename : js/src/jsval.h => js/public/Value.h
extra : rebase_source : 1756e599b0718b8e765cecb972737040e0ba56e4
2013-02-01 16:42:48 -08:00
Jeff Walden
228f97350d Bug 837773 - Change private uint32_t Values to use the int32_t representation, for simplicity. r=luke
--HG--
extra : rebase_source : 75e7118b9e5713dc252043e6f40d79e238a2480f
2013-02-01 18:41:35 -08:00
Jeff Walden
259ced99fa Bug 837773 - Move JS::Value into Value.h. r=jorendorff
--HG--
extra : rebase_source : b41cee90d5c08a6e1c23f023af2eb2f1ac41e1a3
2013-02-01 16:15:49 -08:00
Jeff Walden
c133df496d Bug 837773 - Move JS::Anchor into js/public/Anchor.h, necessary to properly make Value.h an independent header. r=jorendorff
--HG--
rename : js/src/jsval.h => js/public/Value.h
extra : rebase_source : c109f562aea18e7466b6af6fd1dd2efae11b0333
2013-02-01 15:31:00 -08:00
Jeff Walden
40503e1351 Bug 837773 - Move js/src/jsval.h to js/public/Value.h. r=jorendorff
--HG--
rename : js/src/jsval.h => js/public/Value.h
extra : rebase_source : 224d021ad357f133b0b04658ca9b59a52b74fd65
2013-02-01 14:24:37 -08:00
Jeff Walden
c45d677c48 Bug 837773 - Organize jsapi.h's #includes. r=jorendorff
--HG--
extra : rebase_source : 88b6a890a4e2304beb5f37198b9f6f2ebda9a8a9
2013-02-01 13:07:10 -08:00
Terrence Cole
030387b163 Bug 706885 - Do not store singletons in the Nursery; r=bhackett
--HG--
extra : rebase_source : 0f6fe8fd6954c60a25b7180e503afd124956ec1c
2013-01-28 11:01:54 -08:00
Terrence Cole
447fd918d3 Bug 832103 - Add a regression test for the given bug; r=bhackett DONTBUILD
--HG--
extra : rebase_source : d6ee5befb43f912a8ae678c6639e4ae37e64d7d7
2013-02-05 09:47:53 -08:00
Brian Hackett
e03592d369 Bug 836705 - Fix bogus assert when loading from definitely-double arrays, r=jandem. 2013-02-05 09:48:55 -07:00
Brian Hackett
80d1311736 Bug 832670 - Don't verify barriers when unwinding frames that finished in JM, r=billm. 2013-02-05 09:44:52 -07:00
Ryan VanderMeulen
a5f047df15 Backed out changeset 2861ef67390a (bug 837566) for Linux32 mochitest-other shutdown hangs. 2013-02-05 07:54:49 -05:00
Vicamo Yang
0817867fa4 Bug 833278 - Part 2/2: Implement MozVoicemailEvent using codegenerator. r=gwagner,smaug 2013-02-05 17:02:18 +08:00
Nicholas Nethercote
1670a07032 Bug 837566 - Remove js_RemoveRoot. r=terrence. 2013-02-03 20:17:34 -08:00
Sean Stangl
630b9d63f6 Bug 829758 - Use MatchOnly mode for str_search(). r=dvander 2013-01-15 15:35:25 -08:00
Sean Stangl
cc09e00fe3 Bug 832217 - Construct RegExpShared in the same compartment as the RegExpStatics. r=billm 2013-02-01 17:36:29 -08:00
Luke Wagner
7972319367 Bug 837016 - IonMonkey: store CodeLabels by value (r=h4writer)
--HG--
extra : rebase_source : e03d276c80dcdf29b6b9bec4627a93528f423ff6
2013-01-31 18:41:04 -08:00
Hannes Verschore
e3d5731ec4 Bug 832058: IonMonkey: Only inline if script is compile-and-go and doesn't have an arguments objects, r=nbp 2013-02-04 17:38:38 +01:00
Bobby Holley
3c1bba8bca Bug 831076 - Add assertSameCompartment to JS_ObjectToOuterObject, and clean up classinfo hook. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley
e719384adb Bug 831076 - Enter a compartment in jsd. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley
54511231e6 Bug 831076 - Outerize during same-compartment wrapping so that JS_Wrap* is guaranteed to outerize. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley
be3d55b211 Bug 831076 - Outerize at the very beginning of XPConnect wrapping and remove other outerization checks. r=mrbkap 2013-02-04 15:13:13 +00:00
Andrew McCreight
b6b93daa9e Bug 819131 - Preserve reflector delegate weak map keys. r=billm 2012-05-25 09:07:24 -07:00
Nicholas Nethercote
96202f1d09 Bug 836985 follow-up: Make ScriptSourceHolder constructor explicit. r=benjamin. 2013-02-03 20:03:06 -08:00
Nicholas Nethercote
27309d20a8 Bug 837002 - Fix two clang warnings in SpiderMonkey. r=luke. 2013-02-03 19:55:23 -08:00
Nicholas Nethercote
67544c9ae9 Bug 836985 - Remove ScriptSourceHolder::rt. r=benjamin. 2013-02-03 19:55:09 -08:00
Brian Hackett
ec288f15cd Bug 837418 - Fix silly mistake when dealing with OOM under str_concat, r=terrence. 2013-02-03 16:37:56 -07:00
Till Schneidereit
bac61a3f16 Bug 810715 - De-lazify a JSFunction's script before querying its ndefaults value. r=luke
--HG--
extra : rebase_source : ce0494d920bb7d5f6add7cc04947ab50431dc696
2013-01-29 11:34:36 +01:00
Peter Van der Beken
6c8ed80f8a Fix for bug 830879 (HTML Element WebIDL bindings require classinfo). r=bz.
--HG--
extra : rebase_source : a88a5f24d3d4c12b652f1228eb5b3b7bb8b9e5ee
2013-01-10 10:54:32 +01:00
Sean Stangl
1faa45db15 Backout Bug 837042 for mysterious compilation failures on TBPL. 2013-02-01 18:02:01 -08:00
Sean Stangl
300a44582f Bug 832217 - Construct RegExpShared in the same compartment as the RegExpStatics. r=billm 2013-02-01 17:36:29 -08:00
Daniel Holbert
0d3fc5182d Bug 837253: When declaring JSObject as a friend, use 'class' instead of 'struct' to fix MSVC warning-spam. r=dvander 2013-02-01 15:15:30 -08:00
Sean Stangl
bca1c59d4b Bug 837014 - Always inline the empty script. r=bhackett 2013-02-01 13:29:12 -08:00
Brian Hackett
f80aa819db Bug 836774 - Prevent objects/strings from flowing to an MToDouble, r=jandem. 2013-02-01 06:44:17 -07:00
Hannes Verschore
ce7a4035ac Bug 828119: IonMonkey: Add fastpath for strict string comparison, r=jandem 2013-02-01 11:39:02 +01:00
Benjamin Peterson
dd69c28ff0 Bug 718969 - Perform an exorcism; remove the decompiler. r=luke 2013-02-01 00:19:00 -05:00
Benjamin Peterson
3934f5a9ef Bug 777474 - Use the expression decompiler for opcode text when possible. r=bhackket 2013-02-01 00:10:17 -05:00
Nicholas Nethercote
d9f49c3dc8 Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!
2013-01-24 21:24:57 -08:00
Nicholas Nethercote
5398a93d05 Bug 834090 - Name unused opcodes more sanely. r=jorendorff. 2013-01-24 16:14:54 -08:00
Phil Ringnalda
15ecedac46 Back out 66882ea6f8c7 (bug 788293) and 32f09cb3c7b6 (bug 834090) for bustage
CLOSED TREE
2013-01-31 22:29:30 -08:00
Phil Ringnalda
59dade81af Back out fa772ccdf19d (bug 718969) and 050a0a27024a (bug 777474) for being in the way of backing out bustage
CLOSED TREE
2013-01-31 22:27:54 -08:00
Benjamin Peterson
7880070173 Bug 718969 - Perform an exorcism; remove the decompiler. r=luke
--HG--
extra : rebase_source : 64df8f9a7ac230e1462a8f6e134ac3e86258d6f8
2013-02-01 00:19:00 -05:00
Benjamin Peterson
96f455e618 Bug 777474 - Use the expression decompiler for opcode text when possible. r=bhackket
--HG--
extra : rebase_source : 84a1421dfdf12c8e6fd2bb8a09132cd83c13c590
2013-02-01 00:10:17 -05:00
Nicholas Nethercote
e4944dd40a Bug 788293 - Remove e4x support. r=jorendorff,terrence,evilpie.
Ding dong!  The witch is dead!

--HG--
extra : rebase_source : 7574f5620e303c25120fcfc8ceb2099ad75c8f1b
2013-01-24 21:24:57 -08:00
Nicholas Nethercote
926e5f4a3d Bug 834090 - Name unused opcodes more sanely. r=jorendorff.
--HG--
extra : rebase_source : 1ca2f3707aff6c24461d2acadde79b7bbc905225
2013-01-24 16:14:54 -08:00
Luke Wagner
da0f0b9e88 Bug 836616 - allow ParseNodes to distinguish numbers containing a decimal point (r=njn)
--HG--
extra : rebase_source : c1b048a3008ac492149488d427f14c9bb5cf5c31
2013-01-14 08:25:28 -08:00
Nicholas Nethercote
c349516181 Bug 833208 (part 5) - Remove e4x support from mochitests. r=jorendorff.
--HG--
extra : rebase_source : a88f8ed13299c566df2297729b3a5ddf21fcaafa
2013-01-28 14:55:17 -08:00
Nicholas Nethercote
6c3a8a3184 Bug 833208 (part 4) - Remove e4x support from xpcshell tests. r=jorendorff.
--HG--
extra : rebase_source : a7bd33905120f74e6c242e0c236450dd3be54436
2013-01-30 16:56:16 -08:00
Nicholas Nethercote
b7d0a5ecaf Bug 833208 (part 3) - Remove e4x support from jsapi-tests. r=jorendorff.
--HG--
extra : rebase_source : d3e2edd48c95fcf1f237831eae788f613778ab64
2013-01-28 14:55:14 -08:00
Nicholas Nethercote
99a6a6c1a5 Bug 833208 (part 2) - Remove e4x support from jstests. r=jorendorff.
--HG--
rename : js/src/tests/e4x/Statements/12.3-01.js => js/src/tests/js1_6/extensions/nested-for-each.js
rename : js/src/tests/e4x/Regress/regress-355569.js => js/src/tests/js1_8_5/regress/regress-355569.js
rename : js/src/tests/e4x/Regress/regress-477053.js => js/src/tests/js1_8_5/regress/regress-477053.js
rename : js/src/tests/e4x/Regress/regress-561031.js => js/src/tests/js1_8_5/regress/regress-561031.js
extra : rebase_source : d146e304a8d31b1536804f86929628a638ff3269
2013-01-28 14:25:15 -08:00
Nicholas Nethercote
c1813bf2c4 Bug 833208 (part 1) - Remove e4x support from jit-tests. r=jwalden.
--HG--
rename : dom/browser-element/BrowserElementParent.jsm => dom/browser-element/BrowserElementParent.js
rename : js/src/jit-test/tests/e4x/bug613151.js => js/src/jit-test/tests/basic/bug613151.js
rename : js/src/jit-test/tests/e4x/bug651966.js => js/src/jit-test/tests/basic/bug651966.js
rename : js/src/jit-test/tests/e4x/bug737251.js => js/src/jit-test/tests/basic/bug737251.js
extra : rebase_source : 2102a879231490bf1b73249b4889c2d83c73010f
2013-01-28 14:25:14 -08:00
Sean Stangl
317b86649c Backout Bug 829758 to investigate crashes. 2013-01-31 13:51:38 -08:00
Sean Stangl
dbac2df8fb Bug 836087 - Avoid using doubles for lastIndex in ExecuteRegExp(). r=nbp 2013-01-31 13:43:06 -08:00
Luke Wagner
585958a0c8 Bug 835003 - simplify generation of MTableSwitch jump tables (r=h4writer)
--HG--
extra : rebase_source : dc652a92a43e9af389f925539cfeebee70b313ea
2013-01-31 11:30:35 -08:00
Joey Armstrong
d4b58c3122 bug 830351: remove unused .mkdir.deps rule and clenaup cosmetic makefile problems 2013-01-31 14:55:30 -05:00
Hannes Verschore
ec47546792 Bug 836102: Minimal truncate analysis for constants, r=mjrosenb 2013-01-31 19:36:58 +01:00
Brian Hackett
884628e108 Bug 836623 - Fix unnecessary growElements() call, bogus assert during object densification, r=billm. 2013-01-31 10:37:25 -07:00
Jon Coppeard
ee6745be4e Bug 836312 - GC: Sweep IonCode incrementally r=billm 2013-01-31 10:47:16 +00:00
Jan de Mooij
68f516ce58 Bug 836255 part 1 - Refactor some arguments-related functions to use AbstractFramePtr. r=dvander 2013-01-31 11:50:07 +01:00
Jan de Mooij
72f8601fee Bug 835277 part 3 - Call IonFrameIterator::script in GetTopIonJSScript. r=nbp 2013-01-31 11:50:04 +01:00
Jan de Mooij
3f55c1c86e Bug 835277 part 2 - Fix hasBreakpointsAt. r=bhackett 2013-01-31 11:50:01 +01:00
Jan de Mooij
1fcf0cf5e0 Bug 835277 part 1 - Convert CallObject::createForStrictEval to use AbstractFramePtr. r=djvj 2013-01-31 11:49:55 +01:00
Mike Hommey
4d1a776995 Bug 836161 - Fix gcc version test from bug 833627 to be properly quoted by m4. r=ted 2013-01-31 10:32:18 +01:00
Boris Zbarsky
fb9ecce4ea Add a test for WebIDL-weakmap stuff in addition to XPConnect-weakmap. No bug, no review
--HG--
rename : js/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297-1.html
rename : js/xpconnect/tests/mochitest/test_bug655297.html => js/xpconnect/tests/mochitest/test_bug655297-2.html
2013-01-31 01:04:48 -05:00
Bill McCloskey
e77b833061 Bug 830855 - Remove JSScript::principals (sort of) (r=luke)
--HG--
extra : rebase_source : 584a12fbae35888d7c6f66dc0e0d403af7cc0fe0
2013-01-30 18:10:46 -08:00
Jesse Ruderman
53d4ff720b Bug 778085 followup - fix typo in help message. DONTBUILD 2013-01-30 17:48:15 -08:00
Gary Kwong
9ce43c794e Bug 836531 - Change getBuildConfiguration to output more information. r=sfink 2013-01-30 15:01:35 -08:00
Bill McCloskey
98ecb80afc Bug 835966 - Refactor {cx,rt,allocator}->malloc_ (r=luke) 2013-01-30 12:22:04 -08:00
Boris Zbarsky
37c97f760a Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
9b45ffdc77 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Ryan VanderMeulen
dc41e9b7c0 Merge m-c to inbound. 2013-01-30 08:06:05 -05:00
Ryan VanderMeulen
b35109ad70 Merge the last PGO-green inbound changeset to m-c. 2013-01-30 08:05:31 -05:00
Tom Schuster
cba8004ad4 Bug 836000 - IonMonkey: Don't clobber out register in loadFromTypedArray. r=h4writer 2013-01-30 13:45:24 +01:00
Brian Hackett
c63265d29e Bug 836138 - Fix a couple double array correctness bugs, r=jandem. 2013-01-30 04:31:07 -07:00
Gregory Szorc
716204f494 Merge mozilla-central into build-system 2013-01-29 20:27:15 -08:00
Brian Hackett
a3c7a84ee5 Bug 835102 - Convert sufficiently sparse objects back to using dense elements, r=billm. 2013-01-29 19:50:41 -07:00
Gregory Szorc
5dbdd4988c Bug 784841 - Part 6: Move some functions from ConfigStatus to mozbuild; r=ted
--HG--
rename : build/tests/unit-ConfigStatus.py => python/mozbuild/mozbuild/test/backend/test_configenvironment.py
2013-01-29 06:24:24 -08:00
Terrence Cole
35c9f7670d Bug 706885 - Rework Rooting APIs to preserve all available type information; r=billm 2013-01-28 18:25:23 -08:00
Boris Zbarsky
91f607c39f Bug 829867. Unpref PaintRequest and Screen WebIDL bindings and remove some cruft from quickstubs. r=peterv
nsIDOMCharacterData and nsIDOMText quickstubs are not needed after bug 826703.

nsIDOMRect quickstubs haven't been needed since bug 824970 landed.

nsCSSPropertiesQS has been unused since bug 801083 at least.

The various includes being removed are either fully on WebIDL now or using WebIDL quickstubs.
2013-01-29 12:52:09 -05:00
Boris Zbarsky
1d5a36a375 Bug 824589. Convert XULElement to WebIDL. r=peterv
The assertions in nsINode and nsWrapperCache are to eagerly catch
failures to override those methods.

The classinfo change for XULTreeBuilder is needed because one of those
is returned via an nsIXULTemplateBuilder attribute on XULElement.
Alternately, I could mark it notflattened in Bindings.conf, but Enn
said he prefers this anyway.

The change to the QI impl in BindingUtils is needed because when
XPConnect converts an IID from C++ to JS it makes is an nsJSID, not an
nsJSIID.  We've run into this before, sadly.

I removed "id" from nsIDOMXULElement because it's already on Element.
I suppose I could have left it there, but this seems cleaner.

The nsJSIID::HasInstance changes are needed to support XBL-implemented
interfaces.  Sadly, this does mean that if the underlying object QIs
to something but we didn't put those props on the WebIDL we'll end up
testing true for instanceof but not exposing the props.  I don't see
an obviously better way.  We should work on killing off uses of
"instanceof someinterface".

The browser.js change is needed to avoid throwing exceptions during
browser-chrome tests that are now getting reported because our
swapFrameLoaders is no longer an XPConnect method.
2013-01-29 12:51:55 -05:00
Luke Wagner
d4630bf5f1 Bug 835578 - IonMonkey: fix visitCompare/visitTest to not useRegister on constant operands (r=dvander) 2013-01-29 08:29:51 -08:00
Luke Wagner
3d8049af97 Bug 835449 - fix StackIter corner case where evalInFrame fails to pop native calls (r=jandem)
--HG--
extra : rebase_source : 37d60303aee651ef0dbc28b63994b811507e6a07
2013-01-28 10:53:49 -08:00
Nils Maier
6edae96580 Bug 761552 - Part 2: Avoid external JS strings in XPCConvert. r=bholley
XPCConvert needs to convert some string types to JS strings in order to call
from C++ into JS land. Make those converted JS strings allocate the buffers
from the JS compartment memory pool, instead of making them external and
allocated from the main heap.
This improves memory reporting and may also influence memory fragmentation
and/or performance.
2013-01-29 10:50:04 -05:00
Hannes Verschore
7784ac141a Bug 835178: IonMonkey: Enable inlining of functions containing JSOP_SETARG, r=nbp 2013-01-29 16:26:11 +01:00
Boris Zbarsky
fe9008ab9f Bug 829252 followup. Now that WindowRoot has a wrapper cache, we need to be able to deal with ConstructSlimWrapper on things that have no classinfo. r=peterv pending, but landing on CLOSED TREE now to fix orange. 2013-01-29 10:18:05 -05:00
Boris Zbarsky
d4225d434c Bug 834877 part 3. Add faster DOMString-to-JS conversion code. r=peterv 2013-01-29 09:42:14 -05:00
Brian Hackett
18fd76c0a1 Bug 835496 - Don't try to fix the types for object initializers with dense elements, r=jandem. 2013-01-29 07:03:38 -07:00
Boris Zbarsky
d2613fc2a0 Bug 829252 part 4. Turn on the EventTarget quickstubs. r=peterv 2013-01-29 08:44:01 -05:00
Jon Coppeard
6da4e7b9c8 Bug 835385 - Also, ensure no GC during Ion compilation r=billm 2013-01-28 18:21:11 +00:00
Jon Coppeard
29eec88397 Bug 835385 - GC: Fix for some jit test rooting analysis failures r=terrence 2013-01-28 16:43:07 +00:00
Jon Coppeard
5f7cf5a5ed Bug 834766 - Also root some out params r=sphink 2013-01-28 16:41:30 +00:00
Jon Coppeard
caa007127e Bug 834766 - GC: Fix some more rooting issues found by static analysis r=sphink 2013-01-25 17:48:07 +00:00
Jeff Walden
371def9626 Bug 786135 - Make parseInt(stringStartingWith0ButNot0xOr0X) parse as decimal to comply with ES5. r=dmandelin
--HG--
rename : js/src/tests/js1_8_5/extensions/parseInt-octal.js => js/src/tests/ecma_5/Global/parseInt-default-to-decimal.js
extra : rebase_source : 824fe7e00fbb6ffa38ebba5c43f6c0801f387309
2013-01-28 13:08:32 -08:00
Norbert Lindenberg
3645333c96 Bug 769872 - Add self-hosted JavaScript core of Intl constructors Collator, NumberFormat, DateTimeFormat (part 3). r=jwalden
--HG--
extra : rebase_source : 9029f8b5d03c08a5c56c38934c12e4e6458c1755
2013-01-28 14:03:44 -08:00
Jeff Walden
cb61692793 Bug 834988 - Clarify that all the DST-offset methods take a time in UTC seconds, and that the internal fields store UTC values. Also add documentation comments by the related methods. r=dmandelin
--HG--
extra : rebase_source : ee848c192ddafe87cdb8388f0d2b81a0d5e4be9a
2013-01-25 16:50:24 -08:00
Jeff Walden
53cabc84c6 Bug 834988 - Invert the meaning of LocalUTCDifferenceSeconds and rename it to UTCToLocalStandardOffsetSeconds. This gives it the same sign/semantics (if different units) as the -8 in UTC-8, and it makes it consistent with ES5's LocalTZA concept. Also add an interface comment with two examples of its behavior. r=dmandelin
--HG--
extra : rebase_source : 3e56a9fcc590c6b42c2782bd30431db8f3464825
2013-01-25 15:46:10 -08:00
Brian Hackett
a08f30c509 Bug 833898 - Allow converting mixed arrays of ints and doubles to uniform doubles, r=jandem. 2013-01-29 16:20:03 -07:00
Boris Zbarsky
fc92b1e7e8 Bug 835417 part 3. Add the notion of aliasing DOM stuff to MIR and flag MGetDOMProperty with the right alias set if it's pure. r=jandem 2013-01-29 17:53:53 -05:00
Boris Zbarsky
afda50b640 Bug 835417 part 2. Implement WebIDL parser and codegen support for marking things pure. r=peterv 2013-01-29 17:53:53 -05:00
Nathan Froyd
edaec1c4ca Bug 835358 - remove unused member nsXPConnect::mScopes; r=bholley
--HG--
extra : rebase_source : 7c5c2152666c9b8eb8860db4d7e39c274f772b5b
2013-01-28 10:37:57 -05:00
Hannes Verschore
9c2f05bfc9 Bug 824473: Add testcases for the inlined funapply, r=testcase 2013-01-29 02:29:08 +01:00
Brian Hackett
d5c1e1b9ff Bug 835140 - Don't treat lambdas inside other functions or loops as run-once, r=luke. 2013-01-28 17:24:35 -07:00
Terrence Cole
c14f9308b2 Bug 835157 - Remove the unused createWithProto methods; r=Waldo
--HG--
extra : rebase_source : 4c26c36c313d5fe551f8e6e607a3ed6f1ecd6fa9
2013-01-27 10:37:20 -08:00
Sean Stangl
fcd36f671b Bug 749358 - Inline MUse storage. r=luke 2013-01-28 15:30:50 -08:00
Terrence Cole
e64877f8f7 Bug 706885 - Add a pointer to the JSRuntime on the gc::Chunk; r=billm
--HG--
extra : rebase_source : f6ac0b0db7791b365d0e63f6fea2e5f451964453
2013-01-23 12:22:36 -08:00
Boris Zbarsky
f17cd371b2 Back out bug 824589 (rev 22695cac3896) on suspicion of Ts regression 2013-01-29 17:18:06 -05:00
Boris Zbarsky
13cd69d925 Back out bug 829867 (rev 2a0424e177c1) on suspicion of Ts regression 2013-01-29 17:17:37 -05:00
Hannes Verschore
27cfd8f313 Bug 835877: Increase inline depth for small functions, r=dvander 2013-01-29 22:17:50 +01:00
Peter Van der Beken
88de345330 Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 2ced75b6d49dbab5afe9a6ce7c322bf18a634026
2013-01-14 11:29:48 +01:00
Bobby Holley
1541fcfc06 Bug 830500 - Implement JS_CharsToId. r=Waldo 2013-01-28 14:46:10 +01:00
Ed Morley
63b3d87e8e Backout 3985cb4da6b6, 55ab9f026dc4, f7ead00b7654 and e2108ea96ae5 for a variety of build failures on a CLOSED TREE 2013-01-28 12:19:12 +00:00
Bobby Holley
965c7d58cb Bug 830500 - Implement JS_CharsToId. r=Waldo 2013-01-28 12:44:04 +01:00
Ed Morley
9474e07ea6 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Hannes Verschore
9ed9a3b157 Bug 824473: OOM fixes for IonBuilder, r=jandem 2013-01-27 23:40:01 +01:00
Peter Van der Beken
95d9de83f0 Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 6bc420bd917e00a49dc5f6f3de13ff9e290c9580
2013-01-14 11:29:48 +01:00
Kyle Machulis
f5a63e01fb Bug 777271 - Re-implement nsIDOMCallEvent using event implementation codegen. r=bent,vicamo,hsinyi 2013-01-28 15:39:50 +08:00
Benjamin Peterson
7ca25e2d6d Add test for bug 831846. 2013-01-27 21:43:04 -05:00
Matt Brubeck
4b5759ff90 Bug 792509 - Allow Metro builds on non-Windows platforms [r=jimm] 2013-01-26 23:45:27 -08:00
Bill McCloskey
833158fdca Bug 824473 - Fix build errors (r=bustage) 2013-01-27 14:38:43 -08:00
Bill McCloskey
5442b6d50d Bug 751618 - Zone renaming comment fix (r=jonco) 2013-01-27 13:51:41 -08:00
Bill McCloskey
637b55db56 Bug 751618 - Zone renaming part 9 (r=terrence) 2013-01-27 13:51:41 -08:00
Bill McCloskey
85d4900acd Bug 751618 - Zone renaming part 8 (r=terrence) 2013-01-27 13:51:41 -08:00
Bill McCloskey
5d9651e480 Bug 751618 - Zone renaming part 7 (r=jonco) 2013-01-27 13:51:41 -08:00
Bill McCloskey
931241a189 Bug 751618 - Zone renaming part 6 (r=terrence) 2013-01-27 13:51:41 -08:00
Bill McCloskey
ed808f86ee Bug 751618 - Zone renaming part 5 (r=jonco) 2013-01-27 13:51:40 -08:00
Bill McCloskey
894a915b85 Bug 751618 - Zone renaming part 4 (r=terrence) 2013-01-27 13:51:40 -08:00
Bill McCloskey
e1addfcecb Bug 751618 - Zone renaming part 3 (r=jonco) 2013-01-27 13:51:40 -08:00
Bill McCloskey
33528b5634 Bug 751618 - Zone renaming part 2 (r=jonco) 2013-01-27 13:51:35 -08:00
Bill McCloskey
56954e59be Bug 751618 - Zone renaming part 1 (r=jonco) 2013-01-27 12:37:18 -08:00
Bill McCloskey
ca9f8adf8a Bug 751618 - Fix assertions in ResetIncrementalGC (r=jonco) 2013-01-27 12:35:42 -08:00
Bill McCloskey
f192791e29 Bug 751618 - Add js/GCAPI.h (r=terrence) 2013-01-27 12:35:12 -08:00
Hannes Verschore
a0c5a1f359 Bug 824473: Nits + fix for ARM builds, r=dvander 2013-01-27 23:11:56 +01:00
Hannes Verschore
c3d4a28c01 Bug 834500: IonMonkey: Don't forbid ion compilation when JM is disabled and bouncing between IM and the interpreter, r=nbp 2013-01-27 22:51:49 +01:00
Hannes Verschore
ceda8b6153 Bug 824473: IonMonkey: Enable inlining of JSOP_FUNAPPLY, r=dvander 2013-01-27 22:51:41 +01:00
Hannes Verschore
8b45633296 Bug 824473: IonMonkey: Remove use of monitoredTypesReturn to decide when inlining calls, r=dvander 2013-01-27 22:51:32 +01:00
Hannes Verschore
6049650a20 Bug 824473: IonMonkey: Structural changes to IonBuilder, r=dvander 2013-01-27 22:51:26 +01:00
Benjamin Peterson
b15379b3b8 Bug 831846 - Enter a script global's compartment before running the expression decompiler on it. r=billm 2013-01-27 15:16:01 -05:00
Brian Hackett
c0e49466a2 Bug 832364 - Generate optimized paths for element accesses on native objects, r=jandem. 2013-01-26 13:21:27 -07:00
Jan de Mooij
022b77f0ba Bug 825379 - Fix JSContext::findVersion to work with Ion frames. r=dvander 2013-01-26 16:40:06 +01:00
Tom Schuster
f2db080d4c Bug 830787 - Move jsscope to vm/Shape. r=jorendroff
--HG--
rename : js/src/jsscopeinlines.h => js/src/vm/Shape-inl.h
rename : js/src/jsscope.cpp => js/src/vm/Shape.cpp
rename : js/src/jsscope.h => js/src/vm/Shape.h
2013-01-26 16:03:19 +01:00
Brian Hackett
ed2ebb3e07 Bug 834826 - Eliminate or refactor various unnecessary stack roots, r=terrence. 2013-01-26 07:42:20 -07:00
Jeff Walden
4a8db4810d Bug 830257 - Compute the local time zone offset, not including any offset due to DST, in a different, hopefully more correct, way. r=dmandelin 2013-01-25 22:02:55 +00:00
Sean Stangl
5c17200fa5 Bug 834762 - yarr/MatchResult.h:58:44: warning: overflow in implicit constant conversion [-Woverflow]. r=warning-spam
From 29c3e8f8ef230a27d2bce0016094b43f812befe0 Mon Sep 17 00:00:00 2001
---
 js/src/yarr/MatchResult.h | 2 +-
 js/src/yarr/YarrJIT.cpp   | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)
2013-01-25 16:34:08 -08:00
Nicholas D. Matsakis
c4c00c0b74 Bug 825714 followup: Silence various warnings and make various style corrections. r=billm 2013-01-25 14:09:25 -08:00
Joey Armstrong
7a30d49506 bug 747540: fix dependencies for java build 2013-01-25 15:22:13 -05:00
Kannan Vijayan
6f656d6743 Bug 834447 - Make Ion entry use AbstractFramePtr instead of StackFrame*. r=sstangl 2013-01-25 11:34:47 -05:00
Jan de Mooij
7799c058c4 Bug 833817 part 3 - Replace JSStackFrame with JSAbstractFramePtr. r=luke 2013-01-25 09:49:29 +01:00
Jon Coppeard
ef0092f738 Bug 815542 - crash in IncrementalCollectSlice r=billm
--HG--
extra : rebase_source : d751b3684f6461b094278aa39508417928c2b660
2013-01-25 09:56:04 +00:00
Bobby Holley
559be5f874 Bug 833856 - Handle errors better in EvaluateString. r=bz
This bug happens when we take the !useSandbox path. Basically, when the code
throws, we can end up with garbage in *aRetValue while still returning true
from EvaluateString. It looks like the convention is for these kind of eval
functions to return success even for invalid code, so lets just make sure we
check things a bit better.

This crashtest is kind of half-baked in the sense that it doesn't actually
crash without the rest of the patch. But the testcase here involves a lot of
undefined behavior (what ends up getting left in *aRetValue) during a call
to window.open (which spins the event loop, etc). I already sunk about half
an hour into trying to make it crash, so I'm just going to go with this for
now.
2013-01-25 11:17:40 +01:00
Nicholas D. Matsakis
7b32723fc9 Bug 825714: Refactor JS allocation routines to enable allocation on parallel
threads, and move various ion fields into per-thread-data. r=billm

More detailed:
- A new routine JSObject::parExtendDenseArray() that permits parallel code to
  allocate a dense array on its own Allocator.
- Create an allocation path in the GC for loading a fresh arena as needed
  (ArenaLists::parallelAllocate()).
- Ensure that if GC is triggered during parallel execution, parallel execution
  is aborted and the request is deferred until parallel execution terminates.
- Updates to the ForkJoin/ThreadPool so that they create their own Allocators
  as well as other misc API changes.
- Moves some of the ion-related fields (e.g., |ionTop|) into perThreadData.
- Remove out-of-date malloc tracking fields.
2013-01-24 21:12:44 -08:00
Ryan VanderMeulen
3bfadd7497 Merge m-c to inbound. 2013-01-24 22:47:56 -05:00
Makoto Kato
8a6c0f92a7 Bug 830676 - YarrJIT is broken on Win64 after landing bug 820124. r=sstangl 2013-01-25 12:09:54 +09:00
Ryan VanderMeulen
0888abcc1f Merge the last PGO-green inbound changeset to m-c. 2013-01-24 20:59:19 -05:00
Mike Hommey
8d7c02e0b6 Bug 834429 - Re-export MACOSX_DEPLOYMENT_TARGET after bug 833627. r=ted 2013-01-24 22:11:28 +01:00
Brian Hackett
22d41f0b1f Bug 834242 - Reduce cost of exact stack rooting during property reads, r=terrence. 2013-01-24 20:18:34 -07:00
Ryan VanderMeulen
3d06005920 Merge m-c to inbound. 2013-01-24 21:09:59 -05:00
Jon Coppeard
5040d60c29 Bug 833396 - Fix some rooting issues found by static analysis r=sphink 2013-01-21 17:41:49 +00:00
Nicholas Nethercote
8c55d392d0 Bug 833151 - Avoid unnecessary copy of CompileOptions. r=benjamin.
--HG--
extra : rebase_source : 542536e11e35f31bec2c5811bcfc56e491d6358a
2013-01-23 18:14:38 -08:00
Steve Fink
157075e271 Bug 831961 - fix jsapi-tests rooting hazards from static analysis. r=terrence
https://tbpl.mozilla.org/?tree=Try&rev=3938c588e1d1

--HG--
extra : rebase_source : c566e3137bca925c7c4789bcd477d0cd85fc366e
2013-01-17 11:45:51 -08:00
Brian Hackett
70ab3b21be Bug 832972 - Reduce cost of exact stack rooting during name operations, clean up some GC allocation methods, r=terrence. 2013-01-23 15:22:10 -07:00
Daniel Holbert
f447f4d298 Back out 06d0d20fbaf1 (bug 825379) for apparently causing bc perma-orange. 2013-01-23 13:07:06 -08:00
Brian Hackett
e6c3716434 Bug 832360 - Store an object's class as part of its type, r=jandem. 2013-01-23 12:57:55 -07:00
Jan de Mooij
ceb9d5fb04 Bug 825379 - IonMonkey: Differential Testing: Getting different output w/without --ion-eager with forEach. r=dvander 2013-01-24 14:10:53 -05:00
Jason Orendorff
1058240d78 Bug 790629 - Fix the value of this in generator-expressions. r=Waldo. 2013-01-07 12:22:26 -06:00
Jason Orendorff
2612289386 Bug 828466 - Remove some ParseNode morphing. Part 3, ParseNode::append. r=Waldo. 2013-01-15 18:57:26 -06:00
Jason Orendorff
f8f3368514 Bug 828466 - Remove some ParseNode morphing. Part 2, empty statements. r=Waldo with apparently successful fuzz-testing. 2013-01-15 18:57:26 -06:00
Jason Orendorff
694e43ccd4 Bug 828466 - Remove some ParseNode morphing. Part 1, FoldConstants. r=Waldo. 2013-01-15 16:12:15 -06:00
Jason Orendorff
6ce8f01f9a Bug 825699 - jsapi-tests: Silence two bogus error reports to stderr. r=Waldo. 2013-01-07 12:22:25 -06:00
Eddy Bruel
618a9ecadf Bug 568953 - Fix for module object; r=benjamin 2013-01-23 16:58:50 +01:00
Brian Hackett
16c3a88b2d Bug 832578 - Tweaks to improve compilation of element accesses, r=dvander. 2013-01-23 08:43:40 -07:00
Jacek Caban
d2e2b5aa07 Bug 831707 - Use -static-libgcc and -static-libstdc++ on mingw r=glandium 2013-01-23 16:04:34 +01:00
Ryan VanderMeulen
ff8945e8f3 Merge m-c to inbound. 2013-01-24 07:09:10 -05:00
Mike Hommey
2434030c1f Bug 780561 - Remove now unused bits of the packaging scripts. r=ted 2013-01-23 11:23:15 +01:00
Jon Coppeard
cddac5c60c Bug 833340 - Fix a couple of jittests failing with rooting analysis r=terrence 2013-01-22 17:03:05 +00:00
Jon Coppeard
121ef1d923 Bug 831750 - GC: testConservativeGC jsapi test fails with rooting analysis r=terrence a=nonlibxul 2013-01-21 11:00:29 +00:00
Jan de Mooij
4b83bc14a3 Bug 830885 - Factor out interpreter/debugger exception unwinding code. r=jorendorff a=nonlibxul 2013-01-22 09:46:52 +01:00
Jan de Mooij
d134c78dcd Bug 832950 - Remove frame annotations from SpiderMonkey. r=luke a=nonlibxul 2013-01-22 09:34:17 +01:00
Brian Hackett
fc33d35a36 Bug 832329 - Improve analysis of definite properties for 'new' scripts, r=jandem, a=nonlibxul. 2013-01-21 17:10:21 -07:00
Hannes Verschore
ad4dad9c67 Bug 831087 - IonMonkey: Differential Testing: Getting different output w/without --ion-eager with /= r=mjrosenb a=nonlibxul 2013-01-21 13:26:26 -08:00
Jan de Mooij
dc2e715e39 Bug 832373 part 1 - Refactor eval-in-frame to use AbstractFramePtr. r=luke 2013-01-21 13:58:50 +01:00
Nicholas Nethercote
aac86acc69 Bug 394311 - Stop building with -pedantic. r=ted,dbaron.
--HG--
rename : content/svg/content/nsISVGPoint.cpp => content/svg/content/src/DOMSVGPoint.cpp
rename : docshell/test/browser/browser_bug234628-9.js => docshell/test/browser/browser_bug134911.js
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1-ref.html => layout/reftests/css-calc/background-image-gradient-1-ref.html
rename : layout/reftests/w3c-css/submitted/values3/calc-background-image-gradient-1.html => layout/reftests/css-calc/background-image-gradient-1.html
rename : layout/reftests/w3c-css/submitted/values3/reftest.list => layout/reftests/css-calc/reftest.list
rename : layout/reftests/text/auto-hyphenation-10-ref.html => layout/reftests/text/auto-hyphenation-10.html
rename : layout/reftests/text/auto-hyphenation-8-ref.html => layout/reftests/text/auto-hyphenation-8.html
rename : layout/reftests/text/auto-hyphenation-9-ref.html => layout/reftests/text/auto-hyphenation-9.html
extra : rebase_source : 012df725d55b031ccc03d9bfcf785056d95a2ebe
2013-01-20 14:12:42 -08:00
Jon Coppeard
2a2992e0f0 Bug 832363 - GC: Rooting updates to jsdate.cpp r=sphink 2013-01-18 17:36:24 +00:00
Mike Hommey
19ae3b7263 Bug 833253 - Don't rely on eval during recursive expansion for nsinstall_is_usable. r=ted 2013-01-23 10:13:04 +01:00
Mike Hommey
a286285ba4 Bug 833627 - Reject gcc < 4.4, and remove a few unused Xcode related variables. r=ted 2013-01-23 10:13:02 +01:00
Brian Hackett
3a5a840305 Bug 821361 - Optimize type information in closures that only run once, r=luke. 2013-01-20 02:49:21 -07:00
Brian Hackett
ab11476dc9 Bug 832425 - gcPreserveCode() should be defined when not using JS_GC_ZEAL, r=h4writer. 2013-01-19 17:30:05 -07:00
Steve Fink
9effec722d Bug 828753 - jsid rooting, mostly in jsinfer.*. Also switch JSObject from struct to class. r=terrence 2012-12-31 12:40:21 -08:00
Mike Hommey
4e215ff8ea Bug 831790 - Use the buildconfig python module for expandlibs_config. r=ted
--HG--
rename : config/expandlibs_config.py.in => config/expandlibs_config.py
rename : js/src/config/expandlibs_config.py.in => js/src/config/expandlibs_config.py
2013-01-19 09:45:50 +01:00
Brian Hackett
63e295d1b4 Bug 832042 - Reduce cost of exact stack rooting during addition operations, r=terrence. 2013-01-18 20:35:08 -07:00
Bobby Holley
4bd7c14e71 Bug 823348 - Tests. r=mrbkap
We tack these onto the tests from bug 812415, adding coverage for
nsExpandedPrincipal and making sure that the waivers are deep.

We also take the opportunity to check the asymmetric security
relationship between a principal and its corresponding nsEP.
2013-01-23 06:04:39 +01:00
Bobby Holley
59d0d80d82 Bug 823348 - Stop checking for Xray waivers in the Xray machinery. r=mrbkap
All the casese where we want to waive should now be going through WaiveXrayWrapper.
2013-01-23 06:04:39 +01:00
Bobby Holley
38606e7675 Bug 823348 - Replace security wrapper enumeration with a more rule-based approach. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
81028b7e44 Bug 823348 - Hoist special cases to the top of WrapperFactory::Rewrap. r=mrbkap
This paves the way for more rule-based selection of wrappers in the common case.
2013-01-23 06:04:39 +01:00
Bobby Holley
e73d3f774c Bug 823348 - Move COW prototype remapping out of wrapper selection. r=mrbkap
It's pretty orthogonal, and makes the critical block more complicated than it
needs to be.
2013-01-23 06:04:39 +01:00
Bobby Holley
d138e10671 Bug 823348 - Precompute various parameters in Rewrap. r=mrbkap
This is generally cleaner, and avoids potentially calling these functions
multiple times when we start moving this stuff around.
2013-01-23 06:04:39 +01:00
Bobby Holley
93ef6e574e Bug 823348 - Use GetXrayType for content->chrome Xray wrappers. r=mrbkap
There's no reason to do this any different than we do for XOWs and such. The
only thing this might conceivably support would be certain chrome XPWNs-as-COWs.
But that would require that they forced a parent in precreate without being
flagged as DOM objects in classinfo. And it's not clear why we'd want to support
that. And we're generally moving away from COWs anyway.
2013-01-23 06:04:39 +01:00
Bobby Holley
879caaf0ed Bug 823348 - Use EnsureCompartmentPrivate In Rewrap and stop checking for null. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley
8f86732b5f Bug 823348 - Flip off the wantXrays for chrome sandboxes. r=mrbkap
wantXrays means that the sandbox wants Xray wrappers even when accessing same-
origin content. The default is true, which Blake says has something to do with
GreaseMonkey and days of old.

This flag never had an effect for chrome, because the chrome->chrome case always
short-circuited to &CrossCompartmentWrapper::singleton. But once we start
respecting the flag as a general-purpose indicator that Xrays should be applied
same-origin, we need to either add a special case in Rewrap or make the flag reflect
reality. The latter seems cleaner and more sane.

However, things are complicated by the fact that there's also a completely different,
orthogonal usage, whereby setting wantXrays to false implicitly waives Xray on the
returned sandbox _and_ on any results returned from evalInSandbox. This is just nuts.
The former can be accomplished by callers manually using .wrappedJSObject, and the
latter by having EvalInSandbox transitively apply waivers from their sandbox arguments.

I've updated the documentation on the MDN page so that it only describes the
reasonable usage. The next step is to get rid of the crazy behavior. I think the
best path of migration is to have wantXrays: false keep implicitly waiving, but
waive return values from EvalInSandbox based on whether the argument was waived. This
patch does that.
2013-01-23 06:04:39 +01:00
Bobby Holley
26a118b43a Bug 823348 - Make NNXOWs use an explicitly opaque Policy. r=mrbkap
There's no reason to be doing a dynamic check here, given that the JSClasses
will never match. Lets be explicit and safe.
2013-01-23 06:04:38 +01:00
Bobby Holley
402fba14fe Bug 823348 - Do a better job of lying about the holder and make assertions fatal. r=mrbkap
I noticed this nonfatal assertion firing, unrelated to my patches. Leaking
the holder is not so great. Let's fix this for real.
2013-01-23 06:04:38 +01:00
Bobby Holley
2eb6adc447 Bug 823348 - Remove broken and unused __scriptOnly__ check. r=mrbkap
__scriptOnly__ is unused on mxr and addons-mxr. Morevoer, the current
implementation is totally broken, because we check for NNXOW, which only
happens when a random content JS object ends up in some other cross-origin
scope (via addons, presumably), whereas chrome objects use ChomeObjectWrapper.

I'm soon going to replace SCRIPT_ACCESS_ONLY with checked unwrapping, and mark
all COWs as unsafe to unwrap (see bug 821573 and bug 658909). So let's just kill
this thing here.
2013-01-23 06:04:38 +01:00
Bobby Holley
021874fef3 Bug 823348 - Don't set universalXPConnectEnabled for chrome compartments. r=mrbkap
There's a browser-chrome test that does this, which means that _all_ subsequent
browser-chrome tests inherit it. So depending on the ordering of cases in
WrapperFactory, we might end up using a CrossCompartmentWrapper rather than an
XrayWrapper, meaning that stuff like nodePrincipal doesn't work anymore.

The semantics of UniversalXPConnect are now entirely dicatated by what makes
our test suite go green. So let's not force ourselves to bend over backwards
during wrapping to handle this case. And let's fix that stupid test while
we're at it.
2013-01-23 06:04:38 +01:00
Bobby Holley
eee4d4554c Bug 823348 - Uninline UniversalXPConnect management. r=mrbkap
Every time the layout of CompartmentPrivate changes, I forget to rebuild in
caps/ and spend half an hour wondering what the heck is going on. :-(
2013-01-23 06:04:38 +01:00
Ehsan Akhgari
35865c44e0 Bug 833631 - Unprefix mozAudioContext; r=roc
--HG--
extra : rebase_source : 3c477a97ea842a806f6fad6f5c3a81d6e50b27c3
2013-01-22 20:12:21 -05:00
Eddy Bruel
9fb2ba1bbf Bug 568953 - Fix for build warning; r=Ms2ger 2013-01-21 19:02:41 +01:00
Bill McCloskey
885a77e67e Bug 833163 - Remove bogus scheduledForDestruction assertion (r=luke) 2013-01-22 14:15:25 -08:00
Daniel Holbert
48d8387670 Bug 833405: Don't treat deprecated-declarations build warnings as errors, in --enable-warnings-as-errors builds. r=ted 2013-01-22 13:28:16 -08:00
Justin Lebar
25b0718e42 Bug 832620 - Skip the GCC <= 4.4 version check when building with clang. r=glandium 2013-01-22 16:14:27 -05:00
Justin Lebar
2ecab273dd Bug 832623 - Disable -fstrict-aliasing in the JS engine for gcc <= 4.4 on all platforms, not just Linux/Android. r=glandium 2013-01-22 16:14:27 -05:00
Jan de Mooij
216852b105 Bug 832373 part 2 - Refactor initExecuteFrame to use AbstractFramePtr. r=luke a=nonlibxul 2013-01-22 14:33:43 +01:00
Jan de Mooij
68a3e9dead Bug 831754 part 2 - Add patchable call instruction, x86/x64 part. r=dvander a=nonlibxul 2013-01-22 14:33:36 +01:00
Jan de Mooij
a7f0ab46f4 Bug 831754 part 1 - Add patchable call instruction, ARM part. r=mjrosenb a=nonlibxul 2013-01-22 14:33:07 +01:00
Jan de Mooij
a3bc96776e Bug 833817 part 1 - Remove unused JSStackFrame API functions. r=luke
--HG--
extra : rebase_source : 95bf7acfa40ce4c70120a65bd3b15748da457dbc
2013-01-24 20:39:24 +01:00
Bill McCloskey
78f4893972 Remove LIFO invariants from the enumerator list (bug 831626, r=billm).
--HG--
extra : rebase_source : f3ff97bee7484820c45be04c0688a9c8d51bbe7f
2013-01-24 11:17:41 -08:00
Jason Orendorff
a6b3f60b73 Fix up a recently busted test that apparently does not run on tinderbox. No bug#, no_r=me. 2013-01-24 13:00:20 -06:00
Nicolas B. Pierron
8aacfc564a Bug 830086 - Do not add read property stubs for proxies. r=djvj 2013-01-24 10:32:01 -08:00
Benjamin Smedberg
556583510c Bug 833863 - Don't install js/src/ds/SplayTree.h, put MFBT first in the js/src/Makefile.in VPATH, r=khuey 2013-01-24 11:34:58 -05:00
Luke Wagner
ab9eaeb05d Bug 834108 - avoid O(n^2) chunk-searching in LifoAlloc::ensureUnusedApproximate (r=dvander)
--HG--
extra : rebase_source : d3cb159978d10e6f74984d8556784081b2c940b9
2013-01-24 14:36:17 -08:00
Terrence Cole
96fb760799 Bug 803182 - Make the js shell stack limit match the browser's; r=dmandelin
This should help ensure that recursion errors found in the shell actually
represent real errors. This also attempts to account for the difference in size
between debug and optimized builds to the size of js::Interpret's stack frame.
2012-10-29 13:36:41 -07:00
Luke Wagner
f9bb86d22e Bug 832094 - make the top-level function ParseNode always be a PNK_FUNCTION (r=jorendorff)
--HG--
extra : rebase_source : f6af6da88e185ccc62152ef1013dfeba1418cbc7
2012-11-28 16:33:00 -08:00
Luke Wagner
bd316874f0 Bug 832085 - Never bail in truncated LModI/LModPowTwoI/LModMaskI (r=hv1989)
--HG--
extra : rebase_source : efa4ec10c37fdec3861ac5097db7c5b5c2ade63b
2012-12-07 18:54:05 -08:00
Luke Wagner
e3efdeab83 Bug 832085 - Simplify LModI codegen (r=hv1989)
--HG--
extra : rebase_source : a4790f4036478b274f461bcf5052c7f88dd32889
2012-12-07 18:54:05 -08:00