Nicholas Nethercote
684396fb91
Bug 555631 - Convert STOBJ_* macros to inline functions. r=gal.
2010-03-30 14:42:48 -07:00
Brendan Eich
34b1a91d97
Fix arguments objects to share a runtime-wide empty scope, instead of each getting a differently shaped own scope at birth (554626, r=igor).
2010-03-30 00:44:28 -07:00
Jeff Walden
d4b28272e8
Readd jsarray.cpp changes for bug 548702. array_sort in particular is a rat's-nest of complexity, so this file's changes are being pushed in isolation from all others. In the interest of getting the tree as pristine for morning, I'm pushing this now and letting it cycle while I sleep -- if it turns anything pretty colors, please back out. Otherwise, look for more in the morning...
2010-03-29 00:02:13 -07:00
Jeff Walden
0973dfd6ab
Merge.
2010-03-26 21:53:40 -07:00
Jeff Walden
95422c65a3
Backed out changeset e7065853ef79; I'll be repushing this incrementally, attempting to find the precise place where things go bad, in the near future. Happy days are here again! :-\
2010-03-26 18:01:54 -07:00
Luke Wagner
a1a73dd94d
Bug 551276 - a more type-safe way to zero memory (r=Waldo)
...
--HG--
extra : rebase_source : fc5564c34cde6490a1d3b48a16a451f7e50c052a
2010-03-10 15:34:12 -08:00
Jeff Walden
ace03add6c
More bustage fix, sigh
2010-03-09 15:38:41 -08:00
Jeff Walden
c723d157a5
Bustage fix, r=redness
2010-03-09 15:07:38 -08:00
Jeff Walden
106fbd8085
Bug 548702 - Temporary value-rooting scheme should be C++- and RAII-based, not macro-based. r=igor
...
--HG--
extra : rebase_source : c7bb34662dbd70df49d40880227139537c60356e
2010-01-11 11:52:21 -06:00
Mike Moening
0373a2437d
bug 549010 - fixing and silencing MSVC warnings. r=brendan,igor
2010-03-04 20:44:09 -08:00
Nicholas Nethercote
c8a754a27d
Bug 545274 - nanojit: start adding alias info to loads/stores/calls (TM-specific part). r=jseward.
2010-03-02 13:47:17 +11:00
Andreas Gal
7fc1c8efb0
Introduce ObjectOps for typeOf and make trace a mandatory ObjectOp (547314, r=brendan).
2010-02-22 16:30:22 -08:00
Jason Orendorff
68642d97db
Bug 547274 - js_InitArrayClass is not thread-safe. r=brendan.
...
--HG--
extra : rebase_source : 4b9ca0af846d7b77601ebbbf642941ffd136c9c8
2010-02-19 13:05:00 -06:00
Gregor Wagner
dc4711d401
BUG 545303: TM: non API function for JS_CallTracer r=igor
2010-02-18 13:16:02 -08:00
Luke Wagner
f8096c6b67
Try 784ceadd60e5 again with more #pragma optimize("", off)
2010-02-06 10:14:05 -08:00
Luke Wagner
fda9474440
Backout 784ceadd60e5 until PGO stops crashing
2010-02-08 10:28:07 -08:00
Luke Wagner
22b7692a6a
Bug 515812 - Double hashing template (r=jorendorff)
2010-02-06 10:14:05 -08:00
Igor Bukanov
836b8a84eb
bug 540805 - using reference counting only for empty scopes. r=jorendorff
2010-01-27 09:50:17 +03:00
Luke Wagner
2645ecd2da
Bug 541452 - put jstracer.cpp in namespace js (r=jorendorff)
2010-01-22 14:49:18 -08:00
Nicholas Nethercote
e36831cff7
Avoid bogus uninit variable warning. r=gcc.
2010-01-21 13:12:02 +11:00
Brendan Eich
398f5f3b9b
Bug 537204 - No more BOGUS_CX bogosities (r=jwalden).
2009-12-30 13:49:26 -08:00
Brendan Eich
e672f52623
Eliminate JSClass::reserveSlots and streamline new-object paths (535416, r=gal).
2010-06-18 17:43:02 -07:00
Nicholas Nethercote
6f97ec3b23
Bug 572945 - TM: dense arrays specify the wrong number of reserved slots (2
...
vs 3). r=gal.
2010-06-22 00:18:51 -07:00
Andreas Gal
56f83ce367
Slow arrays don't need custom objectops (571810, r=mrbkap).
2010-06-21 12:19:36 -07:00
David Mandelin
63421f8622
Bug 571595: make sure dense_grow always gets inlined, r=nnethercote
...
--HG--
extra : rebase_source : 14d00cd5356a3dc1fbc88fd305a2244584ac6889
2010-06-21 11:23:39 -07:00
Igor Bukanov
a3a94a3484
bug 572411 - removal of JSObjectOps::checkAccess. r=mrbkap
2010-06-17 14:32:26 +02:00
Blake Kaplan
f1be43a299
Bug 566651 - Actually store the result in vp. r=jorendorff
2010-06-08 09:12:52 -07:00
Igor Bukanov
dd52a42965
bug 526449 - marking the slow array as HAS_PRIVATE for simpler handling of JSSLOT_ARRAY_LENGTH. r=brendan
2009-12-13 22:06:04 +03:00
Robert Sayre
8dac81dafc
Merge
2009-12-01 15:51:22 -05:00
Robert Sayre
4ea539c658
Relanding: Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff). Backed out changeset ee7bfc1923ad
2009-12-01 15:49:15 -05:00
Robert Sayre
8be5b171b9
Backed out changeset c03ebf340688. Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff).
2009-12-01 09:56:16 -05:00
Robert Sayre
5d34830070
Backout bug 473228 and its follow-up, temporarily, to attempt a clean merge of other stuff.
2009-12-01 09:57:20 -05:00
Brendan Eich
c731045c51
Bye-bye middle-deletes and their O(n^2) worst case complexity; hello dictionary-mode scopes (473228, r=jorendorff).
2009-11-20 16:14:42 -08:00
Andreas Gal
574e4cf9f2
Properly reject new arrays with negative length (530617, r=jwalden).
2009-11-23 16:09:02 -08:00
Jason Orendorff
cd32782f94
Bug 505523 - Property cache can skip JSClass::resolve or JSClass::addProperty hooks. r=graydon, r=brendan.
...
--HG--
extra : rebase_source : a77b0e81203010aabe07b92b639762dce83200c0
2009-11-18 14:29:58 -06:00
David Mandelin
5ee0760ca7
Bug 519363 debugging followup: strip diagnostic instrumentation, r=lw
2009-11-09 16:57:47 -08:00
Robert Sayre
8218769bc0
Merge mozilla-central to tracemonkey.
2009-10-29 08:48:15 -07:00
Igor Bukanov
0d38a472cc
bug 524346 - using jsval, not jsdouble *, for nan and +-oo. r=brendan
2009-10-28 14:57:31 +03:00
Igor Bukanov
8785797ba7
Backed out changeset 14c76164f4c2 - patch for bug 524346 caused test fails
2009-10-27 19:21:47 +03:00
Igor Bukanov
ed4f6edf7f
bug 524346 - using jsval, not jsdouble *, for nan and +-oo. r=brendan
2009-10-27 13:26:57 +03:00
Jason Orendorff
eed5fefef2
Bug 523670 - Add assertion to detect proto-less dense arrays. r=brendan.
2009-10-23 14:40:36 -05:00
Igor Bukanov
af1a5810f7
bug 505315 - constructing GC free lists during finalization. r=brendan
2009-10-16 10:10:54 +04:00
Igor Bukanov
9212853abd
Backed out changeset 487b81c753c0 - landing of bug 505315 caused talos crashes across platforms.
2009-10-15 13:53:40 +04:00
Igor Bukanov
0d37930589
bug 505315 - constructing GC free lists during finalization. r=brendan
2009-10-15 11:41:08 +04:00
David Mandelin
dbad0b0f5d
Bug 519363 - topcrash [@ js_Interpret], change some code to aid in debugging efforts. r=brendan
...
--HG--
extra : rebase_source : 51c16011f74f154bee8d124b2dedfd5f2f5a5a62
2009-10-07 17:30:34 -07:00
Andreas Gal
885547e4ed
Possible overflow in ResizeSlots on 64-bit systems (517644, r=jorendorff).
2009-10-06 15:24:12 -07:00
Igor Bukanov
79b9eab8cb
bug 520046 - eliminating "uintN flags" parameter from js_NewSomeGCThing functions. r=brendan
2009-10-02 12:21:19 +04:00
Igor Bukanov
3fa86d4157
Backed out changeset 19b4c1cacdb8 - everything related to bug 517199.
2009-10-01 16:10:42 +04:00
Igor Bukanov
fed9242625
bug 517199 - typed GC free lsists - newborn refactoring. r=brendan
2009-10-01 08:13:04 +04:00
Igor Bukanov
27c2d57074
bug 517749 - removal of weakRoots.newborn = null. r=mrbkap
2009-09-25 16:30:11 +04:00
Jeff Walden
12df1ce230
Bug 518663 - Fix some typos in JSAutoTempValueRooter uses. r=dvander
2009-09-24 14:48:24 -07:00
David Mandelin
99fb23d064
Bug 511695: Fix JS warnings in MSVC8, r=brendan
2009-09-23 11:16:30 -07:00
Jeff Walden
b7b5073917
I hate PPC, can we kill it? Hoping this will fix, --disable-jit is fail on my system
2009-09-22 17:55:58 -07:00
Jeff Walden
729fcd0f3d
I hate !JS_TRACER architectures. r=redness for the final time
...
--HG--
extra : rebase_source : f3e9e8f8bdfb50e68c7ae6f9ae271fd9bcf5b2eb
2009-09-22 17:12:21 -07:00
Jeff Walden
553915decf
Bug 307791 - Implement ES5's Object.keys(O). r=jorendorff
2009-09-08 15:59:14 -07:00
Brendan Eich
eaabbf253c
Bug 516075 - Move shape into JSObjectMap from JSScope, const-ipate and use LIR_ldc* to get to it (r=jorendorff).
2009-09-14 20:29:46 -04:00
Boris Zbarsky
16e03f7999
Bug 497794. Don't allocate two copies of the image data when doing GetImageData/CreateImageData, just to throw one away immediately. r=robarnold,jwalden
2009-10-26 16:57:41 -04:00
Luke Wagner
d72c89d060
Backed out changeset b866396faae4
2009-09-10 16:44:01 -07:00
Luke Wagner
e9357856b4
Bug 506410 - bring template lovin' to hash tables (r=jorendorff)
2009-09-10 16:16:29 -07:00
Blake Kaplan
adf434e70c
Bug 513428 - Ignore transparent wrappers when deciding if something is an array or not. r=brendan
2009-09-10 14:51:45 -07:00
Luke Wagner
6bfe9f9329
Bug 460904 - rename/tweak JSTraceableFunction (take 2)
2009-09-04 13:44:31 -07:00
Luke Wagner
3087376a4d
Backed out changeset 94da2f68afdb
2009-09-04 11:35:52 -07:00
Luke Wagner
52d822b6d2
Bug 460904 - rename/tweak JSTraceableFunction (r=jorendorff)
2009-09-03 11:57:14 -07:00
Brendan Eich
cce4dce512
Join lambdas assigned or initialized as methods to the compiler-created function object if we can, with a read barrier to clone on method value extractions other than call expressions (471214, r=jorendorff).
2009-09-03 14:41:19 -07:00
Jason Orendorff
d41212b7a6
Bug 514222 - js_GetMutableScope gives the scope a unique shape. r=brendan.
2009-09-02 17:58:25 -05:00
Brendan Eich
932d989110
Fix net vs. gross botches from patch for 489899 (514112, r=gal).
2009-09-01 22:54:02 -07:00
Igor Bukanov
b919139e8d
bug 511425 - removal of JSObjectOps.(get|set)RequiredSlot. r=brendan
2009-08-28 09:53:26 +04:00
Jason Orendorff
dafc9b5d2a
Bug 508685 - Remove last parameter of defineProperty op. r=brendan.
2009-08-26 14:28:36 -07:00
Brendan Eich
b063d31520
Back out changeset aff171a8c4f0 (bug 471214).
2009-08-26 09:34:41 -07:00
Brendan Eich
bd8f55c0ad
Join function objects where possible (471214, r=igor).
2009-08-25 23:42:37 -07:00
Andreas Gal
ebfe09b112
Fast path for writing a double into an array (511737, r=danderson).
2009-08-20 16:53:10 -07:00
Luke Wagner
1f36a4f0c2
Bug 503952 - Use JSTempVector in jsstr.cpp (r=waldo)
...
--HG--
extra : rebase_source : ac955b5d784ca8fc9a61129e580c2751beb4109f
2009-08-14 16:10:59 -07:00
Jeff Walden
3ee1d5026c
Bug 510537 - Implement Array.isArray, easiest ES5 feature evar. r=jorendorff
2009-08-14 03:23:07 -07:00
Igor Bukanov
7e607aac4d
bug 495061 - js_PutArgsObject and js_PutCallObject that never fail. r=brendan
2009-08-14 20:43:16 +02:00
Luke Wagner
fa2f83712c
Bug 507458 - clear the waters a bit regarding JSVAL_BOOLEAN
2009-08-12 16:39:23 -07:00
Jason Orendorff
9dc4a54a5d
Bug 498488 - Change some JSObject macros to methods. r=Waldo.
2009-08-11 15:05:44 -05:00
Luke Wagner
21205c39ce
Removed unnecessary null check before cx->free.
2009-08-11 11:10:44 -07:00
Luke Wagner
7470eaa57b
Bug 503952 - JSStringBuffer/JSCharBuffer with JSTempVector, part 1. r=jwalden
2009-08-07 20:09:11 -07:00
Jason Orendorff
1e09b59b10
Bug 509047 - Defining a property that forces a dense array to become sparse shouldn't call a setter. r=brendan.
2009-08-07 18:31:54 -05:00
Atul Varma
169e0bf289
Bug 505494 - Unwrap invisible wrappers when they're passed to Function.prototype.apply. r=mrbkap
2009-08-06 20:48:57 -07:00
Igor Bukanov
ef90f6f522
bug 493457 - uniform access to private slots. r=mrbkap, sr=jwalden
2009-08-04 23:06:55 +02:00
Robert Sayre
99a0962393
Backed out changeset e09130fcb013
2009-07-28 18:51:35 -04:00
Brendan Eich
8d27b07ec5
Bug 471214 - Join function objects transparently, clone via read barrier to satisfy de-facto standard (r=igor).
2009-07-28 13:20:14 -07:00
Andreas Gal
e7f2714ea1
When finalizing, deallocate memory in a separate thread (505612, r=bent,brendan,waldo).
2009-07-27 21:10:12 -07:00
David Mandelin
cfb0d1fd1b
Bug 506821: clean up trailing whitespace, r=brendan
2009-07-27 18:40:12 -07:00
Robert Sayre
9e0ade7287
Backed out changeset b3d459d23452
2009-07-24 00:01:37 -04:00
Andreas Gal
eb711234db
Use a background thread to free() memory while sweeping (505612, r=brendan,bent).
2009-07-23 15:12:34 -07:00
Robert Sayre
b8172c1402
Bug 503160 - integer constants are not automatically demoted. Patch by Andreas Gal and Robert Sayre. r=dvander/gal
2009-07-22 19:47:41 -04:00
Igor Bukanov
9534c3d315
bug 504033 - avoiding calling JSFinalizeStub. r=brendan
2009-07-22 18:23:21 +02:00
Andreas Gal
1af8dfb112
Avoid integer division in NewGCThing path (503157, r=jwalden).
2009-07-14 17:06:09 -07:00
Andreas Gal
f552010935
Make js_ValueToString inline (503669, r=jwalden).
2009-07-13 14:55:04 -07:00
Brendan Eich
f60779aef5
Bug 503343 - Change JSScope macros to methods. r=jorendorff
2009-07-09 15:27:21 -05:00
Luke Wagner
55ec9409d5
Bug 501834 - Regression on js1_5/Regress/regress-312588.js crash [@ JS_HashTableRawLookup]. r=jwalden
2009-07-06 13:02:43 -07:00
Luke Wagner
145fbf91c2
Bug 200505 - Optimization of jsref array_join_sub() function. r=waldo
2009-06-30 20:19:42 -04:00
Robert Sayre
3f97d5e6f5
Backed out changeset b2256abf53c0
2009-06-30 12:14:09 -07:00
Luke Wagner
a6311cf8b5
Bug 200505 - Optimization of jsref array_join_sub() function. r=waldo
2009-06-30 11:29:43 -07:00
Benjamin Smedberg
c7cc8fde73
Bug 498398 - fast natives such as array_sort and many others must not be JS_REQUIRES_STACK, r=jorendorff
2009-06-25 15:12:19 -04:00
Benjamin Smedberg
3d4a869324
Bug 491988 - Annotation fixes required for analyzing JS_REQUIRES_STACK for function pointers, r=jorendorff
2009-06-25 15:12:19 -04:00
Ben Turner
0edf1180b5
Bug 559476 - Do a fast copy of dense primitive arrays when making a structured clone. r=mrbkap+jst.
2010-04-28 18:32:13 -07:00
Robert Sayre
967abe0d4d
Merge tracemonkey to mozilla-central.
2009-06-19 09:22:50 -04:00
Jason Orendorff
52fe5a97ba
Bug 497618 - Change JSString macros to methods. r=Waldo.
2009-06-10 20:29:44 -05:00
Jeff Walden
ae6248fe09
Fix bogus warnings from gcc thinking that js_GetLengthProperty doesn't always write its outparam by removing code from it and simplifying what remains -- WIN! No bug, r=gal
2009-05-29 14:57:32 -07:00
Igor Bukanov
92f94e451c
bug 491126 - sharing object map for non-native objects. r=brendan
2009-05-14 12:35:23 +02:00
Jeff Walden
6beac46a8b
Likely gmail bustage fix
2009-05-11 15:41:00 -07:00
Jeff Walden
8e5456999b
Bug 486326 - Specialize array methods which modify large numbers of array elements to work efficiently on dense arrays, avoiding highly generalized get/set/delete methods and the floating-point-to-integer conversions needed solely to handle large array indexes but which are rarely necessary in practice. r=shaver
2009-05-11 14:57:18 -07:00
nnethercote@mozilla.com
1f7e5c0ef5
kill builtins.tbl (479888, r=jorendorff).
2009-05-05 17:36:26 -07:00
jorendorff
93c6d226d3
Record all calls to native functions (487134, r=gal, brendan).
2009-05-05 14:26:06 -07:00
Andreas Gal
214ea26d91
Compilation fix for 489899.
2009-04-24 16:35:42 -07:00
Andreas Gal
a89bbaad23
Stay on trace when reading holes from dense arrays (489899, r=brendan).
2009-04-24 16:28:21 -07:00
Jeff Walden
d19e88a97f
Bug 488989 - Don't go slow if we don't have to. r=jorendorff
2009-04-23 13:34:18 -07:00
Jeff Walden
f10c82d6e3
Kick tinderboxen out of a Linux orange that looks bogus
2009-04-18 22:09:37 -07:00
Andreas Gal
adc0da147c
Merge.
2009-04-17 12:44:37 -07:00
Andreas Gal
da0094a55c
Backed out changeset 324bb9dc8372 (bug 487204 is implicated in top site failures).
2009-04-17 12:41:00 -07:00
Andreas Gal
6520b20732
Backed out changeset 5bd116148175 (attempting to re-land bug 487204).
2009-04-16 17:56:18 -07:00
Andreas Gal
3b10c56019
Backed out changeset d1a4ee3d0c59 (bug 487204, due to possible leak).
2009-04-16 12:19:24 -07:00
Igor Bukanov
94a3d7329c
bug 487930 - removal of JSSLOT_ARRAY_LOOKUP_HOLDER. r=mrbkap
2009-04-17 11:37:59 +02:00
Igor Bukanov
5836717df3
bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan
2009-04-16 02:36:14 +02:00
Andreas Gal
05faccf228
Backed out changeset d1a4ee3d0c59 due to build fail, test fail, and perf regressions.
2009-04-15 14:20:52 -07:00
Igor Bukanov
577cb23ac0
bug 487204 - avoiding extra locks for js_Native(Get|Set). r=brendan
2009-04-15 21:13:27 +02:00
Jason Orendorff
b5d4ba583e
Bug 487676 - Nesting deep-aborting trace calls don't work. r=gal.
...
--HG--
extra : rebase_source : 436164485bd5e981e5ae8997eed2c371f3ecd77b
2009-04-09 18:07:00 -05:00
Brendan Eich
962b187fe5
upvar2, aka the big one take 2 (452598, r=mrbkap).
2009-04-05 21:17:22 -07:00
Andreas Gal
706120c0fb
Backed out changeset 972c44aa9d1f (bug 452598).
2009-04-04 10:14:52 -07:00
Brendan Eich
5f4d9ff474
upvar2, aka the big one (452598, r=mrbkap).
2009-04-04 10:05:49 +01:00
Igor Bukanov
f48629a9d6
bug 486139 - removal of JSProperty struct definition. r=mrbkap
2009-04-03 09:53:17 +02:00
Igor Bukanov
4df05a423c
bug 484861 - removal of unsed fields from JSObjectOps. r=mrbkap
2009-04-01 14:32:51 +02:00
Igor Bukanov
0e62709153
bug 486106 - restoring JS*Lookup API compatibility with fast arrays. r=shaver
2009-03-31 21:42:31 +02:00
Boris Zbarsky
7b0ee90b96
Bug 495499. Speed up PutImageData for cases when the array contains doubles. r=brendan,vlad,jorendorff
2009-06-11 10:35:41 -04:00
Robert Sayre
150b7d8a28
Merge tracemonkey to mozilla-central.
2009-03-24 13:49:05 -04:00
Jeff Walden
c9c51f7aa5
Bug 484750 - Assertion failure: newlen == 0 || obj->dslots[newlen - 1] != JSVAL_HOLE, at ../jsarray.cpp. Modify an assertion to properly handle intentional fenceposting behavior where we copy 0 elements to the end of an array -- can't assert that the end of the array isn't a hole in this case because we're intentionally not changing the array from what it was before -- demonstrated by [,].splice(1). r=me as obvious from debugging the testcase
2009-03-23 00:26:52 -07:00
Jim Blandy
875aee5e88
Bug 479258: Include "jsstdint.h" for <stdint.h> type use within SpiderMonkey. r=brendan
2009-03-18 11:38:16 -07:00
Igor Bukanov
01b205d742
bug 369696 - improving object graph serialization. r=brendan
2009-03-17 09:51:38 +01:00
Brendan Eich
403138bf01
Followup patch for bug 481251.
2009-03-04 00:12:35 -08:00
Andreas Gal
5b7dfe03a9
Assert prototype shapes when reading a hole from a dense array instead of calling a builtin (481328, r=brendan).
2009-03-03 21:58:56 -08:00
Andreas Gal
a1e02f0996
Fixed MacOSX breakage.
2009-03-03 18:27:49 -08:00
Andreas Gal
8c3223aab5
Browser spuriously sets runtime->anyArrayPrototypeHasElement and makes perf bad (481251, r=mrbkap).
2009-03-03 18:04:15 -08:00
Andreas Gal
56117dc22a
js_Array_dense_setelem can call arbitrary JS code (479487, r=jorendorff).
2009-02-26 11:59:07 -08:00
Igor Bukanov
896a95119f
bug 477706 - fixing most VC 2005 warnings. r=gal,mrbkap
2009-02-26 09:49:39 +01:00
Andreas Gal
78ba6b4a54
Make arrays with less than 256 entries always dense (479386, r=brendan).
2009-02-25 14:48:07 -08:00
Jason Orendorff
be299388d1
Bug 477279 - Tune dense array growth. r=brendan.
...
--HG--
extra : rebase_source : 4493d59e8bd46c1635d2f8cef39f87904d83e09f
2009-02-23 17:31:02 -06:00
Robert Sayre
12943580cf
Merge m-c to tracemonkey.
2009-02-23 12:44:23 -05:00
Blake Kaplan
adf5d20bc2
Fix bustage from checkin for bug Bug 479566
2009-02-21 14:25:43 -08:00
Jason Orendorff
15b9f03458
Bug 479566 - Rename array "dense length" to capacity. r=shaver.
2009-02-21 15:33:50 -06:00
Jim Blandy
ede7e6d142
Bug 391488: Eliminate PTRDIFF macro; delete jssttddef.h. r=jimb
...
Delete jsstddef.h, since its only remaining purpose is to make certain
Win16-specific definitions; we don't support Win16 any more. In
particular, we can just subtract pointers now, so the PTRDIFF macro is
unnecessary noise.
Most places get stddef.h via jstypes.h or some other header, so we can
just delete #inclusions of jstddef.h. The exception is jskwgen.h, so
there we explicitly include <stddef.h> instead.
2009-02-18 09:14:51 -08:00
Jason Orendorff
c9b0918474
Bug 477142 - _FAIL builtins need to be GC-safe. r=brendan.
...
--HG--
extra : rebase_source : 10515f7d1f5a85c1965c812f55d91d3d0f49a28e
2009-02-11 13:33:17 -06:00
Andreas Gal
93eb39269d
Substitute operation counting with a watchdog thread (477187, 3nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 14:07:01 -08:00
Andreas Gal
474d0d308f
Backout bug 477187.
2009-02-10 09:54:14 -08:00
Andreas Gal
f796bcd60a
Substitute operation counting with a watchdog thread (477187, 2nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 03:45:36 -08:00
Andreas Gal
7ea402f38c
Merge.
2009-02-09 22:54:41 -08:00
Andreas Gal
2a20c2a6de
Backing out bug 477187. Breaks xpcshell.
2009-02-09 22:54:05 -08:00
Andreas Gal
2e46d80547
Merge.
2009-02-09 18:21:15 -08:00
Andreas Gal
cbfbbd3cac
Substitute operation counting with a watchdog thread (477187, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-09 18:20:50 -08:00
Jeff Walden
19207254e5
Remove some trailing whitespace to maybe kick build machines out of an orange
2009-02-08 03:30:29 -08:00
Robert Sayre
4bd2cf8d3d
Fix bustage from Bug 476873
2009-02-06 12:36:14 -08:00
Jason Orendorff
b93b5173f2
Bug 476873 - TM: Trace JSOP_ARRAYPUSH. r=brendan.
2009-02-06 13:19:06 -06:00
Graydon Hoare
d1049135f4
Bug 469625 - Deoptimize special own-properties, r=brendan.
2009-02-04 11:08:31 -08:00
Jason Orendorff
e4c1fb1cfd
Bug 462027 - Bail off trace when reentering interpreter. r=gal.
2009-02-03 18:25:12 -06:00
Jason Orendorff
4e3f2cfd40
Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed.
2009-02-03 12:38:44 -06:00
Jason Orendorff
f6ffd1d380
[mq]: bug-462027-v9
2009-02-02 20:42:46 -06:00
Jason Orendorff
37f2985bdf
Bug 476177 - TM: cx->stackPool must not be accessed on trace. r=brendan.
...
--HG--
extra : rebase_source : 746d61b54aa38cbe18fe31bce4efcbbad4629678
2009-01-30 17:40:05 -06:00
shaver@mozilla.org
728f9f9126
Backed out changeset 7246c4dcf997 (bug 469625) due to trace-test.js failures.
2009-01-28 22:26:46 -05:00
brendan@mozilla.org
14dd060156
Conservatively track modifications along the prototype chain of arrays (469625, r=jorendorff).
2009-01-28 16:16:20 -08:00
Blake Kaplan
500f0a0301
Bug 467499 - Pass the proper size argument to ResizeSlots. r=shaver/crowder
2009-01-26 16:20:05 -08:00
Jeff Walden
4230c8101b
Bug 465980 - Some array methods don't work right on ginormous arrays. r=brendan
2009-01-12 13:07:48 -08:00
Brendan Eich
608700e168
Back out patch for bug 469625, it mysterious busts stuff.
2008-12-19 01:32:48 -08:00
Brendan Eich
b9cf426072
Bug 469625 - TM: Crash [@ js_String_getelem] (r=jorendorff).
2008-12-18 22:35:46 -08:00
Jason Orendorff
b7fb9bc849
Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
...
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jason Orendorff
5fdc83f169
Bug 462459 - TM: Better tracer support for |new Array(...)|. r=gal.
2008-11-05 07:29:38 -06:00
Brendan Eich
cb47c4cf08
Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal).
2008-11-13 00:30:20 -08:00
Andreas Gal
074d900a57
Backed out changeset a40f2117bcc0
2008-11-12 17:39:48 -08:00
Brendan
0ca607d76b
Add imacros to support conversion of arbitrary JSObjects (456511, r=gal).
2008-11-12 16:55:45 -08:00
Jason Orendorff
68a5dcca96
Bug 460157 - Yet more macros for defining builtins. r=brendan
2008-10-21 17:58:06 -05:00
Jason Orendorff
e0b7bce037
Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan.
2008-10-16 14:24:10 -05:00
Jason Orendorff
a27d101dab
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Brendan Eich
19e9638dc3
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Jason Orendorff
c35bfc3682
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Andreas Gal
b2cff5e791
Expose push pop in jsarray and add builtins (453734, r=mrbkap).
2008-09-16 17:07:59 -07:00
Andreas Gal
be1b44bf0e
Trace slow array get/set of indexed props (453261, r=brendan).
2008-09-15 00:54:28 -07:00
Blake Kaplan
afe8fdc761
Work around incorrect but annoying strict-aliasing warning. r=brendan
2008-09-10 00:36:01 -07:00
Brendan Eich
94b10f6170
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 11:24:03 -07:00
Taras Glek
71b568fe41
bug 453889: Correct prbool misuse in spidermonkey
2008-09-08 13:41:09 -07:00
Taras Glek
dbf23956a4
bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor
2008-09-08 10:51:10 -07:00
Jim Blandy
90bf6a2d1e
Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
...
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE. However, that name
is very similar to that of an existing header file, jsconfig.h. This
patch renames the existing header file, and updates all references to
it.
--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Brendan Eich
5a8cb06838
Kind of an Array initialiser tour-de-force for bug 452878:
...
1. Split FastNewArray from FastNewObject built-in for greater speed/specialization and further splitting into Array_1str, etc.
2. Add Array_1str, Array_2obj, and Array_3num builtins for benchmarked new Array(...) constructions.
3. Export ARRAY_SET_DENSE_LENGTH and ARRAY_GROWBY via jsarray.h to jstracer.cpp.
4. Tweaked SetArrayElement to make common/best case code be the predicted/prefetched path.
5. js_MakeArraySlow now preserves the pre-slow length in JSSLOT_ARRAY_COUTN as a jsval-tagged int if possible -- this will help the tracer avoid aborting on dense arrays that turned slow but not sparse by addition of a named property.
6. Export js_fun_apply and js_Object from their respective .cpp files, in these cases just to jstracer.cpp via local prototypes (no .h files involved).
7. More INS_CONSTPTR and INS_CONST macrology for better names in trace debug spew.
8. Fix TraceRecorder::test_property_cache to avoid aborting on JSOP_SETNAME that creates a new global, by setting it to undefined so it can be lazily imported. This helps 3d-raytrace.js, which has an unintended global loop control variable in a function.
9. JSTraceableNative loses its premature-deadwood tclasp member (my bad).
10. TraceRecorder::record_JSOP_NEW() handles 'new Object' now along with the 'new Array' variations. I also cut down the copy-paste code from JSOP_CALL's record method to mostly what is needed now.
11. Add KNOWN_NATIVE_DECL macro for concise prototype of library-private js_* native functions, and alphabetized the lists (too long for any other order to be winning).
12. Big honking special case for foo.apply(obj, [str]), which we can generalize as needed. Helps string-tagcloud.js. What's cool is how tracing allows us to rewrite this to foo(str) with this set to obj, eliminating the Function.prototype.apply. This requires some rewriting in JSOP_ENDINIT's record method.
2008-09-01 01:24:58 -07:00
Blake Kaplan
63f33e654d
Bug 451483 - Array.splice() should return an empty array. r=brendan
2008-08-25 17:12:30 -07:00
shaver@mozilla.org
ed7fab1440
trace |new Array|, via the magic of copy and paste
2008-08-21 00:50:20 -07:00
Brendan Eich
b9d10512b7
Use JS_FRIEND_API for new JS_ArrayToJSUint8Buffer, etc., and use it on prototypes and definitions (fixes some platform builds).
2008-08-20 23:46:31 -07:00
Vladimir Vukicevic
9a3d208ae4
b=451242, add fast-paths for dense array to uint/int/double buffer conversion; r=bent/mrbkap
2008-08-20 14:47:01 -07:00
Brendan Eich
0099753ff4
Add Array (generic) join builtin, plus (not yet used) optional this-class guarding for builtins.
2008-08-10 14:50:31 -07:00
Igor Bukanov
b16852c1cd
bug 412296 - removal of minarg support for fast native
2008-08-08 18:02:50 +02:00
Blake Kaplan
8a415a087a
Don't use 'i' if the id was not an index. bug 443843, r=shaver
2008-07-07 23:01:09 +02:00
bcrowder@mozilla.com
9f3e12daf8
Bug 438415 - Assertion failure: *vp != JSVAL_HOLE, r=shaver, r=brendan
2008-07-01 12:47:09 -07:00
bcrowder@mozilla.com
9736e0887f
Bug 435345 - Cannot accurately watch the 'length' property of arrays, r=shaver
2008-07-01 12:47:09 -07:00
bcrowder@mozilla.com
e88e5e5203
Bug 434837 - Accessors in prototype chain of arrays don't assign 'this' correctly, r=shaver, r=brendan
2008-05-21 12:24:25 -07:00
bcrowder@mozilla.com
bf6c509b57
Bug 435226 - dense arrays yield bogus __count__ values, r=shaver
2008-06-09 15:25:33 -07:00
Igor Bukanov
d24b2f9846
[Bug 432881] SM: JSVAL_VOID as a pseudo-boolean. r=brendan
2008-06-25 11:43:02 +02:00
Brendan Eich
86238366eb
Third and final followup patch for bug 260106.
2008-06-06 13:23:19 -07:00
Brendan Eich
2010276730
Followup patch for bug 260106.
2008-06-05 16:00:25 -07:00
Benjamin Smedberg
3fcc924cd2
Return to building spidermonkey as C++, because we believe we found the cause of the perf regression elsewhere (non-code).
...
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsinvoke.c => js/src/jsinvoke.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2008-05-27 16:58:12 -04:00
Benjamin Smedberg
71997df754
Back out revision bd9c9cbf9ec8 (build spidermonkey as C++) for perftesting and profit.
...
--HG--
rename : js/src/js.cpp => js/src/js.c
rename : js/src/jsapi.cpp => js/src/jsapi.c
rename : js/src/jsarena.cpp => js/src/jsarena.c
rename : js/src/jsarray.cpp => js/src/jsarray.c
rename : js/src/jsatom.cpp => js/src/jsatom.c
rename : js/src/jsbool.cpp => js/src/jsbool.c
rename : js/src/jscntxt.cpp => js/src/jscntxt.c
rename : js/src/jscpucfg.cpp => js/src/jscpucfg.c
rename : js/src/jsdate.cpp => js/src/jsdate.c
rename : js/src/jsdbgapi.cpp => js/src/jsdbgapi.c
rename : js/src/jsdhash.cpp => js/src/jsdhash.c
rename : js/src/jsdtoa.cpp => js/src/jsdtoa.c
rename : js/src/jsemit.cpp => js/src/jsemit.c
rename : js/src/jsexn.cpp => js/src/jsexn.c
rename : js/src/jsfile.cpp => js/src/jsfile.c
rename : js/src/jsfun.cpp => js/src/jsfun.c
rename : js/src/jsgc.cpp => js/src/jsgc.c
rename : js/src/jshash.cpp => js/src/jshash.c
rename : js/src/jsinterp.cpp => js/src/jsinterp.c
rename : js/src/jsiter.cpp => js/src/jsiter.c
rename : js/src/jskwgen.cpp => js/src/jskwgen.c
rename : js/src/jslock.cpp => js/src/jslock.c
rename : js/src/jslog2.cpp => js/src/jslog2.c
rename : js/src/jslong.cpp => js/src/jslong.c
rename : js/src/jsmath.cpp => js/src/jsmath.c
rename : js/src/jsnum.cpp => js/src/jsnum.c
rename : js/src/jsobj.cpp => js/src/jsobj.c
rename : js/src/jsopcode.cpp => js/src/jsopcode.c
rename : js/src/jsparse.cpp => js/src/jsparse.c
rename : js/src/jsprf.cpp => js/src/jsprf.c
rename : js/src/jsregexp.cpp => js/src/jsregexp.c
rename : js/src/jsscan.cpp => js/src/jsscan.c
rename : js/src/jsscope.cpp => js/src/jsscope.c
rename : js/src/jsscript.cpp => js/src/jsscript.c
rename : js/src/jsstr.cpp => js/src/jsstr.c
rename : js/src/jsutil.cpp => js/src/jsutil.c
rename : js/src/jsxdrapi.cpp => js/src/jsxdrapi.c
rename : js/src/jsxml.cpp => js/src/jsxml.c
rename : js/src/prmjtime.cpp => js/src/prmjtime.c
2008-05-27 12:19:17 -04:00
edward.lee@engineering.uiuc.edu
03eba17305
Bug 387935, Always build JS as C++, r=benjamin
...
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2007-07-16 11:40:49 -07:00