Граф коммитов

43430 Коммитов

Автор SHA1 Сообщение Дата
Luke Wagner f17cf462d1 Bug 1030446 - Change asm.js tests to use setJitCompilerOption instead of looping a bunch (r=bbouvier)
--HG--
extra : rebase_source : 861519e3711009f46c7f7b7509f5989e35eadd48
2014-06-25 14:28:36 -05:00
Luke Wagner ba04f4e5a9 Bug 1030446 - Move AsmJSFrameIterator to its own file (r=dougc)
--HG--
extra : rebase_source : 850ff8faa5b356c7b8709191a717e1982fd81e36
2014-06-25 14:26:03 -05:00
Jason Orendorff ccd9bdd4c6 Bug 1030014 - Fix a compile error in more-deterministic JS shells. r=sfink. 2014-06-27 13:30:37 -07:00
Gary Kwong 83b5d7e07d Backout 406904577dfc due to borked commit message. 2014-06-27 13:28:35 -07:00
Jeff Walden 0bc9f128ec Bug 1030521 - Make CHECK_EQUAL require its actual/expected expressions have the same signedness, to prevent introduction of compiler warnings. r=jorendorff
--HG--
extra : rebase_source : 0883d46b1b2fdfb2b773d3047319b449df65a3d2
2014-06-25 18:47:04 -07:00
Jeff Walden d21b951d40 Bug 1029132 - Use IsInRange for FAKE_JIT_TOP_FOR_BAILOUT range assertions to silence a compiler warning. r=nbp
--HG--
extra : rebase_source : 187e3b4c4266e6e80f9a499973084ad0327ea696
2014-06-23 14:14:27 -07:00
Jeff Walden 9c75cdfbfa Convert a few static functions to static inlines to silence unused-function warnings. No bug, r=themaid
--HG--
extra : rebase_source : f50e411598b1bf200aa8029e3f631dfe47d847a9
2014-06-25 18:47:04 -07:00
Jeff Walden 2979a36492 Bug 1030263 - Make top-level let declarations a syntax error in self-hosted code. r=till
--HG--
extra : rebase_source : c815d9ea118a0df6fed2b6bf4a0e11623fbf3a10
2014-06-25 10:33:47 -07:00
Stephen Gowan e73459853c Bug 622646 - Use a better error message when a |let| declaration shadows an exception identifier in a |catch| block. r=jwalden
--HG--
extra : rebase_source : 1086a8c8bca564f91df18c5abd41120d047ce35f
2014-06-22 20:03:13 -04:00
Stephen Gowan 97bfc116b1 Bug 622646 - Use a better error message when a |const| declaration shadows an exception identifier in a |catch| block. r=jwalden
--HG--
extra : rebase_source : 37fcb6c2af529dbdf9be1ed0fbcfc24b31d7f17d
2014-06-22 00:19:04 -04:00
Shu-yu Guo 12ce7f92fe Bug 1015339 - Spot fix FormatStackDump. (r=bz) 2014-06-27 13:29:03 -07:00
Gary Kwong 8528ee9fb0 changeset: 217199:e58ff2fcc8a1
bookmark:    jto/bug-1030014-more-deterministic
parent:      217183:123e07744d21
user:        Jason Orendorff <jorendorff@mozilla.com>
summary:     Bug 1030014 - Fix a compile error in more-deterministic JS shells. r=sfink.
2014-06-27 14:27:01 -05:00
Peter Van der Beken ff0e975b03 Bug 1029104 - Convert XPathExpression to WebIDL bindings, add WebIDL API and switch to the WebIDL binding. r=bz.
--HG--
extra : rebase_source : f5c7a235a9a880f829ff39ccbb92508cbaad31a5
2014-06-27 21:39:50 +02:00
Ryan VanderMeulen 300f0aa0d7 Merge m-c to inbound. a=merge 2014-06-27 15:56:35 -04:00
Jim Blandy 6f3f9261c0 Bug 800200: Remove the js/jsd directory. r=jorendorff,sfink 2014-06-27 11:05:08 -07:00
Jim Blandy e07aaa8185 Bug 800200: Remove references to JSD from outside js/jsd. r=mccr8,bholley,ted,smaug 2014-06-27 11:05:08 -07:00
Jan de Mooij c5a77ab2ce No bug - Fix --disable-threadsafe shell builds to unbreak JS fuzzers. r=jorendorff,jonco, a=Tomcat 2014-06-27 16:33:07 +02:00
Dan Gohman abf3658282 Bug 1004363 - IonMonkey: A new value-numbering implementation based on a dom-tree DFS. r=nbp 2014-06-27 10:38:44 -07:00
Steve Singer f7e8253480 Bug 1030400 - Add sym to the 32 bit big endian branch. r=jorendorff 2014-06-25 18:48:00 +02:00
Kannan Vijayan e5b3b21525 Bug 928928 - Add missing property GetProp stub in BaselineJIT. r=nbp 2014-06-27 13:35:24 -04:00
Dan Gohman 00ded84768 Bug 1030378 - IonMonkey: Fix lifetime bounds for non-fixed call uses. r=mjrosenb 2014-06-27 10:18:49 -07:00
Terrence Cole f2fe8bbd7a Bug 1027221 - Allow incremental GC barriers on off-main-thread permanent atoms; r=billm
--HG--
extra : rebase_source : 269fadc9dbb6dd9cffd6b87f01ff4b4fc4738ef4
2014-06-26 14:15:15 -07:00
Shu-yu Guo 87205a8375 Bug 1029910 - Skip over unreadable slots in InlineFrameIterator. (r=nbp) 2014-06-27 00:41:20 -07:00
Shu-yu Guo 0b680d2b4b Bug 1028331 - Use BailoutKind to report more detailed PJS bailout warnings. (r=lth) 2014-06-27 00:41:20 -07:00
Dan Gohman 7a4ab2f151 Bug 1027900 - IonMonkey: When spilling an interval that has a desginated spill interval, use it. r=bhackett 2014-06-26 20:39:04 -07:00
Nigel Babu 25d6245566 Backed out changeset 567152f907a1 (bug 1028331) for Jit failures 2014-06-27 08:48:14 +05:30
Nigel Babu 48fceceaa9 Backed out changeset b3124d14db16 (bug 1029910) for Jit failures 2014-06-27 08:47:19 +05:30
Dan Gohman a2658376db Bug 1027900 - IonMonkey: Split live intervals that start in memory at their first register use. r=bhackett 2014-06-26 20:04:12 -07:00
Dan Gohman cfff6ea2b3 Bug 1027900 - IonMonkey: LUse::ANY has an active preference for registers over memory. r=bhackett 2014-06-26 19:24:24 -07:00
Carsten "Tomcat" Book e4f5e9f3a3 Backed out changeset 2c6403818106 (bug 1027402) for bustage on a CLOSED TREE 2014-06-27 14:21:46 +02:00
Carsten "Tomcat" Book cbe01cdaa8 Backed out changeset 346912776f97 (bug 1027402) 2014-06-27 14:21:22 +02:00
Carsten "Tomcat" Book 76beb8d59f Backed out changeset 285c853fedfa (bug 1027402) 2014-06-27 14:21:20 +02:00
Carsten "Tomcat" Book 0c7ea5265d Backed out changeset 96443362db6f (bug 1027402) 2014-06-27 14:21:17 +02:00
Eric Faust 6f7e434c6b Bug 1027402 - Part 4: Mark Proxy Handler uses const. (r=jorendorff, r=bz) 2014-06-27 04:44:08 -07:00
Eric Faust 62d61ccf3f Bug 1027402 - Part 3: Mark all Proxy Handler methods const. (r=jorendorff, r=bz) 2014-06-27 04:44:06 -07:00
Eric Faust 6091687271 Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley) 2014-06-27 04:44:04 -07:00
Eric Faust 89bdda2ed7 Bug 1027402 - Part 1: Remove set* from BaseProxyHandler. (r=bholley) 2014-06-27 04:44:02 -07:00
Eric Faust d365e40ce3 Bug 1015790 - Remove PropDesc::descObj_. (r=jorendorff) 2014-06-27 03:46:00 -07:00
Boris Zbarsky 6fb6c4f15d Bug 1030938. Stop copy-constructing iterators in SavedStacks code, because that copy constructor is really slow. Also, hash atoms as pointers, not strings. r=shu 2014-06-26 22:22:32 -04:00
Dan Gohman d797f13b88 Bug 1027861 - IonMonkey: Micro-optimize dominator calculation. r=sstangl 2014-06-26 14:15:08 -07:00
Shu-yu Guo f93637b06a Bug 1029910 - Skip over unreadable slots in InlineFrameIterator. (r=nbp) 2014-06-26 18:31:50 -07:00
Shu-yu Guo 450dcc59d9 Bug 1028331 - Use BailoutKind to report more detailed PJS bailout warnings. (r=lth) 2014-06-26 18:31:50 -07:00
Andrea Marchesini 6ec27357af Bug 876683 - DOMFile/DOMBlob refactoring, r=ehsan, r=bent 2014-06-26 09:47:44 -07:00
Andrew McCreight ddc6e4ad99 Bug 1029660 - Remove nsContentUtils::DeferredFinalize. r=peterv 2014-06-26 09:29:05 -07:00
Luke Wagner 572e5c46aa Bug 1029215 - add missing 'using mozilla::DebugOnly' (r=red) 2014-06-26 09:55:27 -05:00
Andy Wingo c79090fa82 Bug 981599 - Update parsing of 'yield' to match latest spec r=jorendorff 2014-06-26 16:17:02 +02:00
Luke Wagner 92d316434e Bug 1030183 - move NewStringCopy* definitions to avoid unified-build bustage (r=jandem)
--HG--
extra : rebase_source : 42bf9a3f72cbf9a2316b4ec75104e0a50506f2ed
2014-06-25 11:39:15 -05:00
Luke Wagner 668ef7e8b3 Bug 1030175 - OdinMonkey: use the InterruptMode to avoid faulting for finished Ion compilations (r=bhackett)
--HG--
extra : rebase_source : 3bfaa7c3430a9e151e81f4a616bda06b9e995a82
2014-06-25 11:33:02 -05:00
Luke Wagner 15a3948a44 Bug 1029215 - remove 'using namespace mozilla' from js/src (r=waldo)
--HG--
extra : rebase_source : 4f04012d2f7ddc8f21d7c9d6903cbef84e0675c0
2014-06-25 11:24:10 -05:00
Carsten "Tomcat" Book 8e86bf906b Merge mozilla-central to mozilla-inbound 2014-06-26 15:51:31 +02:00
Carsten "Tomcat" Book 5de1cd29b1 merge fx-team to mozilla-central a=merge 2014-06-26 15:33:24 +02:00
Andy Wingo 0f521c0ae6 Bug 985894 - Sending a value to a newborn generator should not raise an error r=jorendorff 2014-06-26 15:32:30 +02:00
Nathan Froyd b7326abf6d Backout 4158a1e1ddf9 (bug 1029059) for breaking jstests running 2014-06-26 09:00:51 -04:00
Jim Blandy 40581e329b Bug 801084: Remove documentation for the unimplemented (and certain to be redesigned) Debugger.Object.prototype.hostAnnotations accessor. DONTBUILD r=jorendorff 2014-06-25 22:45:23 -07:00
Ehsan Akhgari 421a7e2389 Backed out changeset a4a56914be72 (bug 1024836) because the upstream LLVM bug is now fixed.
Upstream bug: http://llvm.org/bugs/show_bug.cgi?id=20008
2014-06-25 22:20:25 -07:00
Wes Kocher 9241a8d8d6 Merge m-c to fx-team a=merge 2014-06-25 18:44:50 -07:00
Wes Kocher ebb9a03a02 Backed out changeset 7c792ae3ab21 (bug 1028866) under suspicion of making Windows PGO bc1 incredibly failure-prone on a CLOSED TREE 2014-06-25 15:46:42 -07:00
Wes Kocher 558dbf68d1 Backed out changeset b19674e5222c (bug 1028867) under suspicion of making Windows PGO bc1 incredibly failure-prone on a CLOSED TREE 2014-06-25 15:46:28 -07:00
Nick Fitzgerald ae23d1ccda Bug 1026188 - Allow embedders to save JS execution stacks. r=sfink 2014-06-25 12:21:00 -04:00
Nicolas Devillers e61e270893 Bug 1024587 - IonMonkey: Implement CharCodeAt Recover Instruction. r=nbp,evilpie 2014-06-26 03:01:55 -07:00
Benjamin Bouvier 191d059f87 Bug 1030642: Remove two build warnings (unused variable kind and tautological assertion) on ARM; r=mjrosenb 2014-06-26 11:57:04 +02:00
Benjamin Bouvier c5fda0290e Bug 1030605: Use size_t rather than plain int for loop initializers; r=mjrosenb 2014-06-26 11:56:57 +02:00
Benjamin Bouvier a29d386482 Bug 1030599: Make hasUnaliasedDouble and hasMultiAlias inline rather than static; r=mjrosenb 2014-06-26 11:56:45 +02:00
Marty Rosenberg 64976ef91c bug 991153: move definition of aliases out of #ifdef DEBUG (r=red) on a CLOSED TREE 2014-06-25 13:33:11 -04:00
Marty Rosenberg 6e2e99b8d4 Bug 991153: fix un-qfolded nits from bbouvier's review (r=bbouvier) 2014-06-25 13:16:11 -04:00
Marty Rosenberg 8ecf41236a bug 991153: Add in code that lets safepoints work with up to 64 registers, specifically for VFP registers on ARM. (r=nbp) 2014-06-25 12:54:35 -04:00
Marty Rosenberg 786df24145 Bug 991153: Make the types for sets of registers a per-type quantity (r=jandem) 2014-06-25 12:54:34 -04:00
Marty Rosenberg 822538e036 Bug 991153: Update the engine to be able to handle all 32 double registers on ARM (r=nbp) 2014-06-25 12:54:34 -04:00
Marty Rosenberg fbd5206b00 bug 991153: Update the backtracking allocator to handle aliased registers. (r=bhackett) 2014-06-25 12:54:34 -04:00
Marty Rosenberg acf908c50b Bug 991153: Update LSRA to handle aliased registers (r=jandem) 2014-06-25 12:54:34 -04:00
Marty Rosenberg d0c5858924 Bug 991153: Add machinery necessary for both register allocators to deal with aliased registers (r=bbouvier) 2014-06-25 12:54:33 -04:00
Marty Rosenberg 9479a316d2 Bug 991153: Split uses of temp allocations into explicit float32 and doubles (r=djvj) 2014-06-25 12:54:33 -04:00
Marty Rosenberg 10aa17972c Bug 991153: Add in float32 versions of some scratch registers. (r=nbp) 2014-06-25 12:54:33 -04:00
Marty Rosenberg 9d40a1ced3 Bug 991153: Move the FloatRegister structure to a per-architecture area. (r=jandem) 2014-06-25 12:54:33 -04:00
Jon Coppeard f7af2f81c8 Bug 1027897 - Fix warning in BacktrackingAllocator::PrintLiveIntervalRange r=sunfish 2014-06-25 14:34:55 +01:00
André Bargull 6533654cce Bug 920484 - Use empty objects when initialising Intl prototypes. r=waldo 2014-06-24 04:45:00 -04:00
Guillaume Turri 647d7f6f7a Bug 1028529 - ensure IonSpewEndFunction is called once for each call to IonSpewNewFunction. r=nbp 2014-06-25 02:21:34 -07:00
Jan de Mooij 1939a0f010 Bug 1028867 - Add a --latin1-strings shell flag. r=luke 2014-06-25 10:12:20 +02:00
Jan de Mooij e4c6643f22 Bug 1028866 part 5 - Make NewString deflate to Latin1 if Latin1 strings are enabled and add NewStringDontDeflate. r=luke 2014-06-25 10:12:17 +02:00
Jan de Mooij b55731dba4 Bug 1028866 part 4 - Add NewStringCopyNDontDeflate. r=luke 2014-06-25 08:05:45 +02:00
Jan de Mooij 0f9fd4673f Bug 1028866 part 3 - NewStringCopyN should create Latin1 strings if Latin1 strings are enabled. r=luke 2014-06-25 08:05:43 +02:00
Jan de Mooij 21cfe56f5f Bug 1027528 part 15 - Make structured clone work with Latin1 strings. r=jorendorff,bent 2014-06-25 08:05:41 +02:00
Lars T Hansen d36e64fdcd Bug 1026931 - factor the fallible initialization code, and capture and propagate errors. r=shu 2014-06-25 07:31:56 +02:00
Jim Blandy 7e20285e70 Bug 914753: Make Emacs file variable header lines correct, or at least consistent. DONTBUILD r=ehsan
The -*- file variable lines -*- establish per-file settings that Emacs will
pick up. This patch makes the following changes to those lines (and touches
nothing else):

 - Never set the buffer's mode.

   Years ago, Emacs did not have a good JavaScript mode, so it made sense
   to use Java or C++ mode in .js files. However, Emacs has had js-mode for
   years now; it's perfectly serviceable, and is available and enabled by
   default in all major Emacs packagings.

   Selecting a mode in the -*- file variable line -*- is almost always the
   wrong thing to do anyway. It overrides Emacs's default choice, which is
   (now) reasonable; and even worse, it overrides settings the user might
   have made in their '.emacs' file for that file extension. It's only
   useful when there's something specific about that particular file that
   makes a particular mode appropriate.

 - Correctly propagate settings that establish the correct indentation
   level for this file: c-basic-offset and js2-basic-offset should be
   js-indent-level. Whatever value they're given should be preserved;
   different parts of our tree use different indentation styles.

 - We don't use tabs in Mozilla JS code. Always set indent-tabs-mode: nil.
   Remove tab-width: settings, at least in files that don't contain tab
   characters.

 - Remove js2-mode settings that belong in the user's .emacs file, like
   js2-skip-preprocessor-directives.
2014-06-24 22:12:07 -07:00
Brian R. Bondy cacb9c55fc Bug 598615 - Rename HAVE_64BIT_OS to HAVE_64BIT_BUILD. r=ted 2014-06-24 22:16:25 -04:00
Wes Kocher b683b68251 Backed out 2 changesets (bug 1027890) for B2G Windows Build bustage on a CLOSED TREE
Backed out changeset bcd694f0e95d (bug 1027890)
Backed out changeset 49cadfcde709 (bug 1027890)
2014-06-24 18:33:46 -07:00
Mike Hommey 195a1f903a Bug 1027890 - Remove all sorts of build system code dedicated to pymake. r=gps 2014-06-25 08:38:28 +09:00
Nathan Froyd f4e89dcdc1 Bug 1029059 - remove TARGET_{XPCOM,COMPILER}_ABI variables from js/src/configure.in; r=glandium 2014-06-23 14:25:28 -04:00
Jeff Walden e0e503467d Bug 1029118 - Remove the now-dead (as of window WebIDLification) js::ReportIfUndeclaredVarAssignment. r=till
--HG--
extra : rebase_source : 4f00ec895b255f1bc22d8b22094cff43d6d41278
2014-06-23 07:46:44 -07:00
Jeff Walden 31aa0f8f65 Bug 1029126 - Fix out-of-range assignment warning in typed-object field offset calculation code. r=shu
--HG--
extra : rebase_source : 82c837c60b46a7d7dc52b2ea39c864e5f5c2c18f
2014-06-23 14:11:14 -07:00
Caio Lima abd1eba8c5 Bug 1028262 - Enable lazy argsobj creation for functions using MGetArgumentsObjectArg. r=djvj 2014-06-20 12:34:00 +02:00
Douglas Crosher de42e7d43f Bug 1028008 - IonMonkey: (ARM) Support reading a js shell 'arm-hwcap' argument in addition to the ARMHWCAP environment variable. r=jandem 2014-06-24 14:43:23 +10:00
Guptha Rajagopal 7030e104d4 Bug 1024748 - Correct toString behavior when Template Literals is implemented as described in ES6 draft section 12.2.9. r=jorendorff 2014-06-23 10:59:00 -04:00
Guptha Rajagopal e0ac26cc70 Bug 1024748 - Implement Template Literals as described in ES6 draft section 12.2.9. r=jorendorff 2014-06-23 10:58:00 -04:00
Jan de Mooij c86e695908 Bug 1012694 - IonMonkey (ARM): Use the second scratch register to avoid clobbering the scratch register. r=dougc 2014-06-24 14:46:03 -04:00
Daniel Holbert add32c2eb3 Bug 1029672: Tweak ASCII art in ForkJoin.h so that it doesn't cause GCC -Wcomment build warnings. rs=shu
DONTBUILD because comment-only
2014-06-24 11:24:18 -07:00
Jan de Mooij 3ad64bf9d6 Bug 1028866 part 2 - Cleanup NewStringCopyZ. r=luke
--HG--
extra : rebase_source : 321aae85dd6a3e2fa90474ceed9bd03347f528a8
2014-06-24 17:33:29 +02:00
Jan de Mooij 2e31a7324b Bug 1028866 part 1 - Move string allocation functions into js namespace, remove js_* prefix. r=luke
--HG--
extra : rebase_source : 1f4c940dce07a7ced533c641c60cf76592fd61ac
2014-06-24 17:33:27 +02:00
Jan de Mooij fe281c9068 Bug 1026438 part 9 - Make irregexp CheckNotBackReferenceIgnoreCase work with Latin1 strings. r=bhackett 2014-06-24 12:01:42 +02:00
Jan de Mooij 62dbea1c96 Bug 1027528 part 20 - Make enough code work with Latin1 strings to pass shell tests. r=luke 2014-06-24 12:01:41 +02:00
Jan de Mooij f88cb28860 Bug 1027528 part 19 - Make XDR work with Latin1 strings. r=luke 2014-06-24 12:01:39 +02:00
Jan de Mooij fe65a821ae Bug 1027528 part 18 - Make some error functions work with Latin1 strings. r=terrence 2014-06-24 12:01:37 +02:00
Jon Coppeard 509198cfe5 Bug 1028863 - Root SavedFrame::Lookup while creating new SavedFrame r=terrence 2014-06-24 09:23:57 +01:00
Bill McCloskey 64b94c4b6d Bug 1017310 - Associate JS compartments with add-on chrome XBL (r=bholley) 2014-06-23 16:33:37 -07:00
Terrence Cole b839798db0 Bug 1028358; followup fix on a CLOSED TREE; r=sfink
--HG--
extra : rebase_source : c38ad9347fd6100e9275e08823763bccbce54c10
2014-06-23 14:36:26 -07:00
Dan Gohman 0173da5016 Bug 1027897 - IonMonkey: Explicitly instantiate buildVregs() on a CLOSED TREE r=me 2014-06-23 14:33:24 -07:00
Steve Fink 9ec3b25a6e Namespacing fixes for bug 1028358, r=CLOSED TREE 2014-06-23 13:57:16 -07:00
Dan Gohman 1710ac4390 Bug 1027900 - IonMonkey: Extend trySplitAfterLastRegister use to also split after register definitions. r=bhackett 2014-06-23 13:42:08 -07:00
Dan Gohman 01de87666c Bug 1027897 - IonMonkey: Rename CodePosition::pos() to avoid awkwardness like pos.pos() r=bhackett 2014-06-23 13:42:08 -07:00
Dan Gohman 8a69102407 Bug 1027897 - IonMonkey: Use FixedList for a few things. r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman 7086f3a7bd Bug 1027897 - IonMonkey: Rename LDefinition's Policy enum fields for consistency with LUse r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman bf189c33f7 Bug 1027897 - IonMonkey: Add some regalloc-related comments. r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman af67686efc Bug 1027897 - IonMonkey: Intervals are sorted by their start. r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman ea7231030a Bug 1027897 - IonMonkey: Refactor split position bookkeeping into helper classes. r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman a4c98e274e Bug 1027897 - IonMonkey: More regalloc dumping improvements r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman c2035a8562 Bug 1027897 - IonMonkey: Create entryOf and exitOf helper functions and use them. r=bhackett 2014-06-23 13:42:07 -07:00
Dan Gohman eb249888d0 Bug 1027897 - IonMonkey: Eliminate a few explicit CodePosition::pos() calls. r=bhackett 2014-06-23 13:42:06 -07:00
Dan Gohman 3a3e49dc57 Bug 1027897 - IonMonkey: Minor code simplifications. r=bhackett 2014-06-23 13:42:06 -07:00
Bobby Holley e8cb8d7c75 Bug 1027131 - Additional tests for wrapReflectors. r=gabor 2014-06-23 13:25:09 -07:00
Bobby Holley 81bc7fd4b5 Bug 1027131 - Use StackScopedClone for cloneInto. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley 4cea2d6728 Bug 1027131 - Add support for function cloning in StackScopedClone. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley 5fe6fbfe2e Bug 1027131 - Innerize before reflector detection. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley ce1f9d04f5 Bug 1027131 - Add support for Blob and FileList in the wrapReflectors = false case. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley 821f7d7e55 Bug 1027131 - Switch to a struct for the StackScopedClone closure. r=gabor 2014-06-23 13:25:08 -07:00
Bobby Holley 8292afbff7 Bug 1027131 - Rename CloneNonReflectors into StackScopedClone, and give it an options struct. r=gabor 2014-06-23 13:25:07 -07:00
Bobby Holley 5cb601631e Bug 1027131 - Remove invalid assertion. r=gabor
If a clone happens between two same-origin scopes, we'll end up with CCWs here
that are neither Xrays nor reflectors.
2014-06-23 13:25:07 -07:00
Bobby Holley ec0021861b Bug 1027131 - Split out ExportHelpers.cpp. r=gabor
A lot of this stuff is usable from both Sandbox.cpp and XPCComponents.cpp, and
those files are both pretty big these days.
2014-06-23 13:25:07 -07:00
Jan Beich fcf8d2d602 Bug 1028775 - Unbreak non-unified build of --disable-ion after bug 1013326. r=luke 2014-06-23 22:13:21 +02:00
Jan Beich 62f829983e Bug 1028734 - Unbreak --disable-ion build after bug 1019304. r=shu 2014-06-23 22:12:51 +02:00
Luke Wagner e65c791de1 Bug 1027885 - OdinMonkey: hoist the start/end function code (r=bbouvier)
--HG--
extra : rebase_source : 29de292af394eba001503d0a5fe68774924bf725
2014-06-23 14:55:56 -05:00
Luke Wagner 3eeb7645fa Bug 1027885 - OdinMonkey: rename to AsmJSFrameSize, move definition to be closer to use (r=bbouvier)
--HG--
extra : rebase_source : 145339db9969a91313f6af63dabf9be518a8faa7
2014-06-23 11:01:41 -05:00
Luke Wagner 9ee7f591a9 Bug 1027885 - OdinMonkey: use non-asserting labels (r=sunfish)
--HG--
extra : rebase_source : d5cd151417e40196c2734054564acbe872b150b6
2014-06-23 10:59:28 -05:00
Jim Blandy 7a407c784d Bug 961325: Give PersistentRooted a copy constructor that can take a 'const' original. r=terrence 2014-06-23 12:59:19 -07:00
Benoit Jacob f9dbba7458 Bug 1028588 - Fix dangerous public destructors in js/jsd/ - r=sfink 2014-06-23 15:56:10 -04:00
Jon Coppeard f946c37a6e Bug 1028358; r=terrence
--HG--
extra : rebase_source : 9a11ed18dc2a94ef2397eb61a24eb74d764f0df7
2014-06-23 12:36:54 -07:00
Terrence Cole 06bb27de7f Bug 1028358; r=jonco
--HG--
extra : rebase_source : 41cf1eaa104bf386c77777be906236d1d15a2622
2014-06-23 12:36:36 -07:00
Jason Orendorff 33a5ebaee6 Bug 645416, part 29 - Implement Symbol.keyFor(). r=efaust.
--HG--
extra : rebase_source : 2494792929754ba1915f380c0384471c3d5cb8e0
2014-06-23 10:57:04 -05:00
Jason Orendorff 0c9e328dc6 Bug 645416, part 28 - Update Object.prototype.toSource for symbol-keyed properties. r=Waldo.
The new output uses syntax with square brackets: {[Symbol.for("key")]: "value"}
This syntax is not yet supported in SpiderMonkey, but it is part of ES6 (see
bug 924688 or search the ES6 drafts for ComputedPropertyName).

--HG--
extra : rebase_source : 6976a1025c268aaed3462d900b83fa6a33515e78
2014-06-23 10:57:03 -05:00
Jason Orendorff 3d134987af Bug 645416, part 27 - Implement Object.getOwnPropertySymbols(). r=Waldo.
--HG--
extra : rebase_source : 88b44837f0b845f88a881d4b472d3c9ef44bcbf0
2014-06-23 10:57:03 -05:00
Jason Orendorff 9a4a0f2647 Bug 645417, part 26 - Update jsid sorting for JS_MORE_DETERMINISTIC. r=luke.
Unfortunately, with symbols, the original goal of this code is apparently
impossible. For two unique symbols with the same description, short of doing
extra bookkeeping at run time, there's no ordering that's sure to be consistent
across runs. The new code orders all other symbols.

--HG--
extra : rebase_source : 0734906d046e577d4c7d65149ec688dd0b80e885
2014-06-23 10:57:03 -05:00
Jason Orendorff 0582d104f2 Bug 645416, part 25 - Add support for enumerating symbol-keyed properties. r=Waldo.
Object.keys, Object.getOwnPropertyNames, and for-in loops skip symbol-keyed
properties per spec, but Object.defineProperties sees them, and a future
Reflect.ownKeys API will need to be able to see them.

This patch changes the comments on JSITER_FOREACH and JSITER_KEYVALUE, but not
the behavior. The comments were just wrong.

--HG--
extra : rebase_source : f1ad99d416df8a8acef5598bef2cde4b72dcdb31
2014-06-23 10:57:03 -05:00
Jason Orendorff 04be8d105f Bug 645416, part 24 - Modify proxy tests to add testing for symbol-keyed properties. r=efaust.
This patch also updates legacy direct proxies to cope with symbols. Uniform
behavior seems like the easiest thing to carry forward.

--HG--
extra : rebase_source : 5e5251c942e879a4440d7c0524343cf6fc744c7e
2014-06-23 10:57:02 -05:00
Jason Orendorff d4ba9cc2c7 Bug 645416, part 23 - Implement ValueToId for symbols. This makes symbols work as property keys. r=efaust.
--HG--
extra : rebase_source : eec18157d90daf54afc300b81d351011e5b669d5
2014-06-23 10:57:02 -05:00
Jason Orendorff 76d9f6e407 Bug 645416, part 22 - Remove JSCompartment::wrapId. r=terrence.
This is unnecessary now that object jsids no longer exist. Both string and
symbol jsids point only to GC things in the atoms compartment, which are safe
to pass to any compartment without wrapping.

--HG--
extra : rebase_source : 82c21e8474df05b1bb42c14d872c981205bbe879
2014-06-23 10:57:02 -05:00
Jason Orendorff edb4532fbf Bug 645416, part 21 - Add symbol jsids (SYMBOL_TO_JSID), removing the legacy support for object jsids (OBJECT_TO_JSID). r=terrence,r=jimb,r=efaust.
With just this patch, there are not actually any symbol jsids flowing through
the system, just as there are not actually any object jsids. But a subsequent
patch (part 23) changes this.

This patch deletes some code in CTypes.cpp that is simply confused about how
element accesses work: Int64 and UInt64 objects were never actually converted
to object jsids, so the code being removed here was already dead code.

--HG--
extra : rebase_source : 86f421c6454344e76ce5219b7b1aed5c83b45f24
2014-06-23 10:56:52 -05:00
Jason Orendorff fa961606bb Bug 645416, part 20 - Add JS::Symbol::dump() method for debugging. r=efaust.
--HG--
extra : rebase_source : 2e2539f319593d51876ef39caa0c96800b6d605e
2014-06-23 10:56:52 -05:00
Jason Orendorff 22c648d33d Bug 645416, part 19 - Update assertDeepEq for symbols. r=till.
The contract of assertDeepEq(a, b) is that the assertion passes iff a and b
have the isomorphic heap graphs. Symbols, like objects, are treated as nodes in
this graph. So, for example, if a and b are distinct symbols, then [a, b] is
not deepEq to [b, b] because they have distinct graphs. There are three nodes
in [a, b]: the array, a, and b.  There are only two nodes in [b, b]: the array,
and b.

--HG--
extra : rebase_source : 9415559bab9f0ed132dd49d3790892b3209fa77b
2014-06-23 10:56:51 -05:00
Jason Orendorff d6d2b72b23 Bug 645416, part 18 - Update ValueToSource for symbols. r=sfink.
--HG--
extra : rebase_source : 8d3702bd625ba2126f691810e1ea2a7736fd77e7
2014-06-23 10:56:51 -05:00
Jason Orendorff de554c1ace Bug 645416, part 17 - Implement ToPrimitive on Symbol wrapper objects. r=sfink.
The spec defines this by way of a @@toPrimitive method. We fake it using a
JSClass::convert hook. (Once @@toPrimitive is implemented, convert hooks
can be removed entirely, but we need symbols first.)

--HG--
extra : rebase_source : c8c7ed3eead8bd79bb38b70f448ebb98c5b3d780
2014-06-23 10:56:51 -05:00
Jason Orendorff 172720b7fd Bug 645416, part 16 - Implement Symbol.prototype.valueOf. r=sfink.
--HG--
extra : rebase_source : 12dfad71e0933ccc3e553854f44bdf0f85eccf64
2014-06-23 10:56:51 -05:00