Commit Graph

111 Commits

Author SHA1 Message Date
Jim Blandy
1dfa8c46d0 Bug 892643: Implement PersistentRooted<T>, an unrestricted-lifetime rooting type. r=terrence, jcoppeard 2013-11-04 13:35:08 -08:00
Jon Coppeard
f2244ae74c Bug 931446 - Improve documentation comment on JS::Heap r=terrence 2013-11-01 10:20:50 +00:00
Nicholas Nethercote
ba1e9bce90 Bug 925584 - Remove some unnecessary jsapi.h inclusions from .cpp files. r=Ms2ger.
--HG--
extra : rebase_source : 41fcb0e922a519ef679c1c1b6293c2b638e83a48
2013-10-10 15:22:35 -07:00
Jim Blandy
942c94a36b Bug 928507: Properly hide JS::Handle's assignment operator; add 'repoint' method to deal with the fallout; fix C1Spewer, IonSpewer, and CompileOptions. r=terrence 2013-10-21 12:56:44 -07:00
Ehsan Akhgari
66a3352644 Bug 915735 - Part 1: Work around a bug in the MSVC PGO instrumented builds which prevents xpcshell to run successfully as a host tool during builds; r=sfink
--HG--
extra : rebase_source : e9b3bfc9cae14d0a699f584ccbda80157b065bc0
2013-09-23 15:28:08 -04:00
Terrence Cole
a5d10031c6 Bug 918118 - Delete MutableHandle constructors for int and nullptr; r=jonco
This should prevent accidently misuse of MutableHandle.

--HG--
extra : rebase_source : 836a46068770281de24b6a11a04352b49c1dd05d
2013-08-06 15:09:15 -07:00
Birunthan Mohanathas
3f4f32b49a Bug 784739 - Switch from NULL to nullptr in js/ductwork/, js/ipc/, and js/public/; r=ehsan 2013-09-19 15:24:53 -04:00
Nicholas Nethercote
191ed08f6a Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke.
--HG--
extra : rebase_source : 008ef689989f93b46627b8be8608bdbc544ca3a2
2013-08-27 19:59:14 -07:00
Nicholas Nethercote
3ea67ab547 Bug 909178 (part 1) - Move |jsid| from jsapi.h into js/Id.h. r=luke.
--HG--
extra : rebase_source : b0d38093a9f40a532e73c2c30ae86b8970b814ac
2013-08-21 22:26:56 -07:00
Nicholas Nethercote
a08edb8e18 Bug 898274 (part 1) - Fix ordering of various #include statements. r=benjamin. 2013-08-13 15:34:12 -07:00
Nicholas Nethercote
715c4b39fc Bug 902820 - Fix a bunch of compile warnings in SpiderMonkey. r=till.
--HG--
extra : rebase_source : 0306d26443640104bae575a60fec7a693f7b43c5
2013-08-08 06:33:49 -07:00
Jon Coppeard
938093c13e Bug 899976 - GC: Fix unsafe references related to ToInt* functions - js engine changes r=sfink 2013-08-02 13:15:38 +01:00
Ehsan Akhgari
5ee21d6d3f Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Terrence Cole
7bde45b12a Bug 887563 - Convert CallArgs::operator[] to return a Handle; r=Waldo,bz
--HG--
extra : rebase_source : a06130820b34f6e1f5bc317e89c087cf0db9eeb8
2013-06-26 16:26:45 -07:00
Jon Coppeard
3155328d9e Bug 891966 - 2 - Comment calls to Handle::fromMarkedLocation r=bz 2013-07-23 10:58:28 +01:00
Jon Coppeard
da4b383f2b Bug 891966 - 1 - Don't allow construction of Handle<T> from Heap<T> r=bz 2013-07-23 10:58:27 +01:00
Jon Coppeard
1bb7f2a908 Bug 888338 - 1 - Add TenuredHeap<T> class r=terrence r=bz 2013-07-23 10:58:26 +01:00
Jeff Walden
6c81653318 Bug 891177 - Remove Vector.h's js/TemplateLib.h dependency by introducing mfbt/TemplateLib.h with the necessary bits. r=terrence
--HG--
extra : rebase_source : e84231171d6bd6c1e2de8201b8c9563375723d01
2013-07-08 12:42:13 -07:00
Brian Hackett
4f07a29526 Bug 885758 - Add ExclusiveContext for use by threads with exclusive access to their compartment, r=billm. 2013-07-10 09:29:52 -06:00
Jon Coppeard
ff4b38f917 Bug 878160 - GC: post barrier weak references in the browser - part 1 JS engine r=terrence
--HG--
extra : rebase_source : 4dfd4f8f46564d3a9858646a0f68c9047c2f7e93
2013-07-02 09:43:45 +01:00
Justin Lebar
904130e9c2 Bug 820686 - Follow-up: s/MOZ_ASSUME_NOT_REACHED/MOZ_ASSUME_UNREACHABLE/. rs=waldo
I'd meant to do this, but I only got as far as the comment in mfbt.  Oops!

--HG--
extra : rebase_source : 3cfe3ef1bf401eb7d9a10fcabcfb39008e9553a4
2013-06-28 19:20:12 -07:00
Justin Lebar
6c46d0633d Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
de08e1432c Bug 820686 - Rename MOZ_NOT_REACHED() and JS_NOT_REACHED() to MOZ_ASSUME_NOT_REACHED(). r=waldo
This includes a mechanical renaming of MOZ_NOT_REACHED to MOZ_ASSUME_NOT_REACHED in JS.  Later patches in this queue clean up whitespace errors and so on.
2013-06-28 18:38:31 -07:00
Steve Fink
7d4ba82022 Bug 887362 - Fix include tangle for CheckStackRoots, r=ehoogeveen
--HG--
extra : rebase_source : 0bad13a22809afb35f924decc02b55a3e87db486
2013-06-26 11:21:36 -07:00
Terrence Cole
ffcfc9d60b Bug 848592 - Fix some dynamic rooting analysis failures; r=sfink
--HG--
extra : rebase_source : 0d614298d3e9879a0ac5f95561329dc3a80d693b
2013-06-14 13:48:39 -07:00
Steve Fink
6e805a1adc Bug 868302 - Enable rooting LIFO assertions in DEBUG, r=terrence 2013-05-03 13:53:15 -07:00
Jon Coppeard
d5f923c927 Bug 885315 - GC: Add some documentation comments for JS::Heap<T> r=sfink 2013-06-21 14:12:45 +01:00
Terrence Cole
700816d4d6 Backout ac48416672e7 for unexpected SM(r) failures.
Even if the there is a CLOSED TREE by the time I push.

--HG--
extra : rebase_source : b6ccfb766566415e50f1f48c6c738ed72f86babf
2013-06-20 16:17:37 -07:00
Terrence Cole
6e68d997b8 Bug 848592 - Fix some dynamic rooting analysis failures; r=sfink 2013-06-14 13:48:39 -07:00
Bobby Holley
68f0e73503 Bug 883450 - Assert that we're in a request whenever we create a Rooted<T>. r=terrence 2013-06-20 11:05:34 -07:00
Emanuel Hoogeveen
73cb5d6b4d Bug 883697 (part 1) - Make include guards consistent in js/ductwork/, js/ipc/ and js/public/. r=njn.
--HG--
extra : rebase_source : 34f5559ba6e64831905686e12356b70109d873a8
2013-06-19 17:59:09 -07:00
Jon Coppeard
31b2a9deca Bug 884283 - GC: Rename RootMethods to GCMethods r=terrence 2013-06-19 11:32:26 +01:00
Jon Coppeard
1fbdd040c3 Bug 877762 - GC: Post-barrier cycle collector participants - 1 Fixes and updates to JS::Heap<T> r=terrence 2013-06-18 11:00:37 +01:00
Terrence Cole
8d80f3ba42 No Bug - Assert that our Rooting ABI is correct; r=sfink
--HG--
extra : rebase_source : 3247d6a22f73d278ae4e6904dff28a1b727e5169
2013-06-13 15:14:44 -07:00
Bill McCloskey
bebda0a75e Bug 880697 - Add JSRuntime constructor for Rooted. r=terrence 2013-06-12 14:17:54 -07:00
Boris Zbarsky
1992f884b7 Bug 877281 part 5. Add a set() method to Rooted. r=terrence 2013-06-07 22:45:45 -04:00
Joshua Cranmer
c6a8662716 Bug 868285 - Fix static checking builds, part 2: Add MOZ_NONHEAP_CLASS. r=ehsan
--HG--
rename : build/clang-plugin/tests/TestStackClass.cpp => build/clang-plugin/tests/TestNonHeapClass.cpp
2013-05-27 16:05:02 -05:00
Jon Coppeard
c437a3a2c0 Bug 875872 - Add public Heap<T> class for implementing post-barriers in the browser r=terrence 2013-05-27 12:51:25 +01:00
Boris Zbarsky
349dadac4c Bug 875939. Make passing a Rooted<T> or Handle<T> to a function taking |const T&| not be a gc hazard. r=terrence 2013-05-24 22:38:09 -04:00
Eddy Bruel
8882c53b4c Bug 637572 - Implement ScriptSourceObject; r=jimb 2013-05-22 16:06:54 -07:00
Boris Zbarsky
903eab0e9d Bug 868715 part 10. Create specializations of Optional for 'any' and 'object' types so that we can have those look like Optional<Handle<Value> > and Optional<Handle<JSObject*> > respectively. r=peterv,sfink 2013-05-16 12:36:56 -04:00
Terrence Cole
889bd111ae Bug 867426 - Remove the ForwardDeclare MACROs; r=jonco
--HG--
extra : rebase_source : dea4bcfa57a684e42105e087839785af2231e37d
2013-04-30 15:41:20 -07:00
Terrence Cole
9d406f2351 Bug 867426 - Remove RawObject typedef; r=jonco
--HG--
extra : rebase_source : cf90289656cdcbc2c33e918db4d5347613ad6360
2013-04-30 15:41:12 -07:00
Terrence Cole
03c0916244 Bug 867426 - Remove RawId typedef; r=jonco
--HG--
extra : rebase_source : c7037a278958ca4cc7467ce6ad0905f8f379c950
2013-04-30 15:41:04 -07:00
Terrence Cole
6fd7532d07 Bug 867426 - Remove RawValue typedef; r=jonco
--HG--
extra : rebase_source : f349413647882730b91ec0bd196772359ec63073
2013-04-30 15:40:56 -07:00
Terrence Cole
ccdf6331bd Bug 867426 - Remove RawString typedef; r=jonco
--HG--
extra : rebase_source : 1cec78a4251429458c4df7fecb652e43443d7b5b
2013-04-30 15:40:48 -07:00
Terrence Cole
d7498aed3f Bug 867426 - Remove RawScript typedef; r=jonco
--HG--
extra : rebase_source : c32ce48bca7fea1dfdafbf9395835613d8a57276
2013-04-30 15:40:40 -07:00
Terrence Cole
a597128238 Bug 867426 - Remove RawFunction typedef; r=jonco
--HG--
extra : rebase_source : 67d89131676dfde8d70dcc4e1b4754b1243e3d85
2013-04-30 15:40:29 -07:00
Steve Fink
a0e4404d69 No bug, DONTBUILD. Comment fix. 2013-04-27 12:27:53 -07:00
Jon Coppeard
20a89ef139 Bug 864848 - Mark Rooted<> as stack only r=terrence 2013-04-25 11:55:30 +01:00
Sean Stangl
3733f89aca Bug 860029 - Standardize Modelines in the JS Module. r=njn 2013-04-16 13:47:10 -07:00
Phil Ringnalda
2607292fa5 Back out a5a1dd3bd8ae (bug 860029) for stupidorange 2013-04-15 12:55:38 -07:00
Sean Stangl
ab9b6329c4 Bug 860029 - Standardize Modelines in the JS Module. r=njn 2013-04-15 11:33:03 -07:00
Jon Coppeard
9dbbe9752e Bug 860704 - GC: Comment says RawT converts to RootedT r=terrence
--HG--
extra : rebase_source : 2f5388adb27a97ee3762d6cab7ec0591b0f718b3
2013-04-12 09:31:43 +01:00
Phil Ringnalda
045ce0a190 Back out 5bf9771e1a28 (bug 860029) for bustage
CLOSED TREE
2013-04-11 19:55:37 -07:00
Sean Stangl
fe2fb42954 Bug 860029 - Standardize Modelines in the JS Module. DONTBUILD. r=njn 2013-04-11 18:48:59 -07:00
Jeff Walden
c74ffc6a1b Bug 851237 - Replace StaticAssert uses with MOZ_STATIC_ASSERT. r=dholbert
--HG--
extra : rebase_source : d8b9715e05b959b11ee0f645141fd077b8599ab1
2013-03-21 18:26:15 -07:00
Jon Coppeard
14c8261e29 Bug 781070 - make NullPtr public r=terrence
--HG--
extra : rebase_source : d59f24956708178c310cfca220bfd77d237e8f19
2013-03-20 10:41:20 +00:00
Jon Coppeard
50ddf53b27 Bug 848754 - GC: Remove relaxed root checking infrastructure r=terrence
--HG--
extra : rebase_source : 7f781b1c7edbae14ce9b2fd4d45c44e8cb5c2968
2013-03-08 08:54:59 +00:00
Jon Coppeard
b752526987 Bug 849273 - Investigate splitting the js and JS namespaces r=terrence
--HG--
extra : rebase_source : 2b131d0177f02e5f0e89398545481fcacbfde00f
2013-03-19 10:35:41 +00:00
Terrence Cole
7f3e5fbc9d Bug 850074 - Move SpiderMonkey stack rooting infrastructure to RootingAPI.h; r=billm
--HG--
rename : js/src/gc/Root.h => js/public/RootingAPI.h
extra : rebase_source : 52027c9c887f686a86097e5465179fa69fac9d6c
2013-03-12 14:05:57 -07:00