Commit Graph

369 Commits

Author SHA1 Message Date
Luke Wagner
b6c66a4c30 Forgot to teach conservative GC about jsid type 2010-07-05 01:41:42 -07:00
Sean Stangl
bcde0f1fc6 [JAEGER] Merge with fatval. 2010-07-02 21:52:25 -07:00
Luke Wagner
15a253d499 Merge 2010-07-01 23:10:37 -07:00
David Anderson
3d36343449 [JAEGER] Convert FrameState to use types, not tags. 2010-07-01 01:17:42 -07:00
Luke Wagner
c2f68a0182 Pull jsval impl details into jsvalimpl.h (included by jspubtd.h) and pull js::Value into jsvalue.h (engine-private) 2010-06-30 15:25:47 -07:00
David Anderson
9c55bbcdbc [JAEGER] Merge from fatval. 2010-06-30 11:46:07 -07:00
Luke Wagner
19f7cefc18 Drop the distinction in js::Value of funobj vs. nonfunobj. Instead, values can just have JSVAL_TYPE_OBJECT. The trace-jit still uses funobj/nonfunobj and translates as necessary. 2010-06-29 22:33:52 -07:00
David Mandelin
59f147f7db Bug 575828 stopgap: disable JS_THIS from compiling in C. 2010-06-29 16:28:17 -07:00
Chris Leary
21e4248a17 JM: Bug 574697, eagerly calculate |this|. (r=dvander) 2010-06-28 22:24:21 -07:00
David Anderson
b9fd0759f7 [JAEGER] Merge from fatval. 2010-06-28 18:16:12 -07:00
Luke Wagner
ab3a0d3ffa Add 64-bit tracing support 2010-06-28 18:08:28 -07:00
Igor Bukanov
d7aedab4b6 bug 552266 - Allow for only one JSContext to be in a request on a given thread. r=mrbkap 2010-06-26 22:31:54 +02:00
Luke Wagner
99411cc93d Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
David Anderson
a3709f170d [JAEGER] Merge from fatval branch. 2010-06-24 11:18:01 -07:00
Luke Wagner
ed28dae403 64-bit builds and passes trace tests on OS X with --disable-tracejit. reftests has failures, but these also show up on tm and should be fixed by a rebase 2010-06-23 16:58:32 -07:00
Luke Wagner
50d922350a Fix bustage compiling jsapi.h as Objective-C++ 2010-06-22 11:54:27 -07:00
Luke Wagner
bae4687e65 Reuse existing JS_ValueToId instead of introducing new JSVAL_TO_JSID 2010-06-22 11:51:46 -07:00
Luke Wagner
f536e360bf Take advantage of value representation in the tracer when mapping values to and from trace types 2010-06-22 09:43:21 -07:00
David Mandelin
4ab1d47307 Bug 573578: intern string before converting to jsid in PropertyOpForwarder 2010-06-21 16:07:31 -07:00
Luke Wagner
5ced30e1fc Change 32-bit jsval rep to use dense type index instead of bitmask 2010-06-21 12:28:56 -07:00
Luke Wagner
bf3afea5b8 Fix bugs; browser is up and running 2010-06-18 00:59:10 -07:00
Luke Wagner
b7955fe7b7 Browser builds 2010-06-17 23:51:54 -07:00
David Anderson
9c4e1303c3 [JAEGER] Merge from fatval branch. 2010-06-17 13:22:59 -07:00
Luke Wagner
11556d9a6f Fix bugs introduced by jsid change 2010-06-16 22:58:31 -07:00
Luke Wagner
ab09c2952d Switch jsids back to pointer-sized and fix a bunch of broken assumptions 2010-06-16 18:21:34 -07:00
David Mandelin
d352690926 Bug 572042: get tracing+fat values to build in the browser. As part of this I disabled the quickstub traceable natives. According to Andreas, we don't necessarily need them for good perf now that we can call the standard quickstub from trace. This build works on simple JS, but there are still bugs (e.g., Google Maps asserts). 2010-06-15 15:43:41 -07:00
David Mandelin
94e6c8a2cc Bug 571625: bring back box-after-unbox optimization for tracing with fatvals 2010-06-14 14:24:30 -07:00
Wes Garland
18d86f784e Bug 574398 - New macro for JS_EnterLocalRootScope is not C 2010-06-28 17:14:31 -04:00
Jason Orendorff
88abf40622 Bug 570622 - TM: eagerly call thisObject hook and cache result in global objects. r=mrbkap. 2010-06-25 13:48:35 -05:00
Jason Orendorff
5eed79e767 Bug 574320 - Tweaks to compartments API. r=gal. 2010-06-24 16:44:18 -05:00
Andreas Gal
1efe5e2ec6 Implement runtime-wide wrap hook (574299, r=mrbkap). 2010-06-24 16:45:32 -05:00
Igor Bukanov
2019c722fb bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Igor Bukanov
a69fd0a49f bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Jeff Walden
27898e866f Bug 581744 - Deprecate JSFUN_GETTER and JSFUN_SETTER; they never did much, and they're very nearly dead code already. r=brendan 2010-07-26 16:11:37 -07:00
David Anderson
a2bfe74bbb [JAEGER] Merge from fatval branch. 2010-06-10 21:58:13 -07:00
David Mandelin
f242431382 Bug 569766: Make tracing work with fat values 2010-06-10 17:20:26 -07:00
Jason Orendorff
c1a1fb9be1 Bug 563099 - Compartments and wrappers API. r=gal.
--HG--
extra : rebase_source : cb34d0d0fc689fc6401d67e7f719344cd8e27655
2010-06-23 16:35:10 -05:00
Brendan Eich
e672f52623 Eliminate JSClass::reserveSlots and streamline new-object paths (535416, r=gal). 2010-06-18 17:43:02 -07:00
Gregor Wagner
80ca0e83eb Bug 519949 - TM: remove LocalRootScopes r=igor 2010-06-23 11:37:35 -05:00
David Anderson
858278d975 [JAEGER] Merge from fatval branch. 2010-06-10 14:01:11 -07:00
Luke Wagner
dde2523f3a Remove assumption that getter objects are functions (can be any callable), fix jsproxy aliasing bug 2010-06-09 23:20:37 -07:00
Luke Wagner
1bb5128ab0 Merge with TraceMonkey 2010-06-09 21:59:18 -07:00
David Anderson
517efa88c1 [JAEGER] Fixed bug in invoking JIT from interpreter. 2010-06-09 14:42:17 -07:00
David Anderson
ec9df4dfe4 [JAEGER] Merge from fatval branch. 2010-06-08 17:49:46 -07:00
Luke Wagner
706cc2c0e9 Firefox starts up and browses the web 2010-06-08 15:12:18 -07:00
David Anderson
c1cb664baa [JAEGER] Merge from fatval branch. 2010-06-08 11:32:46 -07:00
Luke Wagner
6d5a111999 Don't re-define js_ObjectOps in xpconnect. Remove assumptions that private jsvals are ints 2010-06-08 00:01:45 -07:00
David Anderson
ad6f6ffb02 [JAEGER] Merge from fatval branch. 2010-06-07 19:29:40 -07:00
Jason Orendorff
987881e65c Merge backout. 2010-06-07 20:38:30 -05:00
Jason Orendorff
5874315d91 Back out changeset 5f425aecd7ab again. Still has performance issues; 14% in ThisObject hook. 2010-06-07 20:36:57 -05:00
Luke Wagner
0d5dd30ea8 Firefox builds 2010-06-07 18:21:51 -07:00
Luke Wagner
f032df96b4 Bug 565157 - typed JS_AddRoot (r=igor) 2010-06-07 17:05:02 -07:00
Luke Wagner
9814243213 xpconnect builds 2010-06-07 13:57:40 -07:00
David Anderson
87d142550e [JAEGER] Merge from fatval branch. 2010-06-04 22:11:53 -07:00
Luke Wagner
7b81a5dc24 Make JSHasInstanceOp and JSEqualityOp take jsval. Get a lot of xpconnect compiling 2010-06-04 16:55:08 -07:00
Jason Orendorff
5f5deee89d Bug 556277 - Compute this eagerly in more cases. r=brendan. Second landing. 2010-06-04 00:34:57 -07:00
David Anderson
8e4fe7b3e9 [JAEGER] Merge from fatval branch. 2010-06-03 23:04:57 -07:00
Luke Wagner
8846bb56a4 Fix failing reftests. Align consts stored in scripts 2010-06-03 18:22:37 -07:00
Luke Wagner
8f6c06b148 Remove jsboxedword, change jsid to be a jsval 2010-06-02 19:09:04 -07:00
David Anderson
dff194f865 [JAEGER] Merge from fatval. 2010-05-30 20:07:48 -07:00
Brendan Eich
734c3a1ba9 Back out a81f2aed9c9b due to orange. 2010-06-18 17:39:22 -07:00
Brendan Eich
157c408713 Eliminate JSClass::reserveSlots and reserve fixed-per-class slots lazily (535416, r=gal). 2010-06-15 10:06:40 -07:00
Jeff Walden
054bf6ca45 Bug 572577 - Make property enumeration mechanisms fill in a provided vector of names, rather than return a JSIdArray. r=gal
--HG--
extra : rebase_source : 20994eb4c76aad9fe570b8dcfce1f5b6ceeef0fc
2010-06-16 14:12:21 -07:00
lw@mozilla.com
7b52bb9eca Fixes/hacks to get working on Linux x64 2010-05-26 22:35:39 -07:00
Luke Wagner
824169c8ae Merge 2010-05-26 16:39:20 -07:00
Luke Wagner
f7242c4d3f [mq]: Refactor value logic for better reuse 2010-05-26 16:36:47 -07:00
David Mandelin
779cb751a0 Fix ctypes build 2010-05-26 15:29:48 -07:00
Robert Sayre
37d6a810f7 Merge backout. 2010-06-05 11:43:27 -04:00
Robert Sayre
3a10b5449b Backed out changeset 52be13ea0488. Bug 556277 - Compute this eagerly in more cases. r=brendan. Suspected of performance regression on SunSpider unpack-code. 80ms -> 135ms. 2010-06-05 11:42:59 -04:00
Jason Orendorff
2ab131a259 Bug 556277 - Compute this eagerly in more cases. r=brendan.
--HG--
extra : rebase_source : b295b576f019a95b55d12b86077aaef295e3eec8
2010-06-04 00:34:57 -07:00
Andreas Gal
70617110b8 Add an API for compartments (570040, r=jorendorff). 2010-06-04 16:32:10 -07:00
David Anderson
9f63657fcc [JAEGER] Merge from fatval. 2010-05-25 18:22:09 -07:00
David Mandelin
a9d51c9ff6 Fix decompiler assert in bitops-bitwise-and 2010-05-25 17:52:45 -07:00
David Anderson
419b23890d [JAEGER] Merge from fatval. 2010-05-25 17:01:31 -07:00
David Mandelin
edabf67815 More consistent constants in isTrue and isFalse 2010-05-25 16:52:56 -07:00
David Mandelin
7cc758c9de Fix my mistaken JSVAL_TRUE for JS_TRUE in silencing a lame MSVC warning. Ick. 2010-05-25 16:51:27 -07:00
David Mandelin
b315613bc9 Fix failing assert on Windows 2010-05-25 16:39:38 -07:00
David Anderson
38d6c177d7 [JAEGER] Merge from fatval. 2010-05-25 16:22:37 -07:00
David Mandelin
7dcd3d30a1 Fix Windows warnings 2010-05-25 16:07:47 -07:00
Luke Wagner
98063b6506 Re-apply fixes so that Windows (hopefully) builds 2010-05-25 14:48:12 -07:00
David Anderson
0c7a8cdb75 [JAEGER] Merge from fatval. 2010-05-25 14:17:37 -07:00
Luke Wagner
5cbf1c02f9 Merge 2010-05-25 11:31:47 -07:00
Luke Wagner
2a81dc5df9 Use nan-boxing, only working on 32-bit 2010-05-25 11:20:59 -07:00
David Mandelin
b4f186acbb Removed all attempts to align values on MSVC, because they don't seem to help perf. 2010-05-24 17:37:30 -07:00
David Mandelin
3e23b61592 Refix alignment. For now, don't try to align on MSVC, because parameters cannot be aligned, which forces us to take either build errors or alignment-checking assertions if we do try to align. 2010-05-24 15:31:08 -07:00
David Mandelin
8aa596de26 Fix most MSVC warnings. 2010-05-24 13:26:38 -07:00
David Mandelin
fd80dfdf22 Build fixes for MSVC. It should now build on Windows, albeit with warnings. 2010-05-24 12:55:11 -07:00
Andreas Gal
c7677875dc Rip out proto cache and store prototypes in the global object (569537, r=jorendorff). 2010-06-02 20:30:45 -07:00
David Anderson
e1e1715771 Reserve standard class properties in global objects (bug 561923 part 1, r=brendan). 2010-05-23 17:12:08 -07:00
David Anderson
9f1aa534da Import method JIT 'outer' framework. 2010-05-22 17:09:52 -07:00
David Anderson
ee93bf7232 Initialize classes in reserved slots (bug 561923, r=brendan). 2010-05-22 14:46:18 -07:00
Jason Orendorff
40d0fb0842 Bug 513065 - Part 3, Stay on trace when calculating scope in thisObject hook. r=mrbkap. 2010-05-21 07:27:00 -05:00
mozilla@buildmonkey-left.mv.mozilla.com
88fadd2d53 Fix some things so this builds on 64-bit and OS X 2010-05-19 09:55:27 -07:00
Luke Wagner
aac51d75b6 Turns out implicit conversion from JSString to Value is also dangerous (NULL). 2010-05-18 19:05:30 -07:00
Luke Wagner
3d3937c581 Quiet warnings, fix strict-aliasing bug 2010-05-18 18:29:26 -07:00
Luke Wagner
d3a3926b34 Fix bugs 2010-05-18 17:25:12 -07:00
Igor Bukanov
442b99542f bug 237006 - automatic detection of the native thread stack base. The patch is based on the initial patches for bug 516832 by gal and gregor. r=gregor 2010-05-19 10:29:05 +02:00
Andreas Gal
efd9bd790e Implement ES Harmony Proxies (bug 546590, r=mrbkap). 2010-05-18 19:21:43 -07:00
Luke Wagner
19c9bbad15 Turns out function objects can be on parent chains 2010-05-18 14:23:23 -07:00
Luke Wagner
e374a37e1c Remove explicit copy, ObjPtr 2010-05-17 22:15:51 -07:00
Luke Wagner
d1c3253e19 It compiles and links. Time to make it run 2010-05-17 21:21:44 -07:00
Luke Wagner
b3c6d771b1 Fixing shell/js 2010-05-17 18:49:58 -07:00
Luke Wagner
98a19c517d finish jsxml 2010-05-17 16:52:38 -07:00
Luke Wagner
9b7f2175aa up to jsxml now 2010-05-14 19:57:00 -07:00
Luke Wagner
0a7c4f2ffb convert up to jsstr 2010-05-13 14:49:26 -07:00
Luke Wagner
db5b99989b convert jsnum, touch up jsobj 2010-05-13 02:03:08 -07:00
Luke Wagner
36fb0452a3 fix jsiter, convert jsmath 2010-05-12 22:58:11 -07:00
Luke Wagner
588e08228c jsiter 2010-05-12 19:05:43 -07:00
Luke Wagner
4e6c52c52b New Tag scheme, no SetObject silliness 2010-05-12 16:36:10 -07:00
Luke Wagner
bd3571c1b5 Still recovering from rebase 2010-05-11 19:00:59 -07:00
Luke Wagner
6c0883c94f Merge from tracemonkey 2010-05-11 00:41:08 -07:00
Luke Wagner
4e71f5312b (unrebased) fat value patch 2010-05-10 22:01:31 -07:00
Andreas Gal
2004c301c3 fast object iteration (558754, r=brendan, CLOSED TREE). 2010-05-07 17:52:52 -07:00
Jason Orendorff
c11e7e9863 Silence a compiler warning (in MSVC) about implicitly narrowing jsval to JSBool in JSVAL_IS_INT. Noticed by MikeM. No bug#, rs=Waldo via IRC.
--HG--
extra : rebase_source : 8060def41cdbed1c7b80b01da58b00e1967fb3fe
2010-04-28 16:12:15 -05:00
timeless@mozdev.org
ca917d7197 Bug 560815 - PRIVATE_TO_JSVAL(NULL) yields warning: NULL used in arithmetic with gcc 4.2.1. r=jorendorff.
--HG--
extra : rebase_source : bbbf5e801b7ae5bc0c7c30864e487a03ddcf72fc
2010-04-23 20:17:36 -05:00
Jason Orendorff
f0cedb7287 Bug 527805 - Placeholder comment as requested in review. r=brendan, see comment 6 of the bug. 2010-04-16 15:38:57 -05:00
Jason Orendorff
4f17207cd6 Bug 527805 - Remove JSCLASS_SHARE_ALL_PROPERTIES. r=brendan. 2010-04-16 15:33:19 -05:00
Dan Witte
79b69ab8d7 Bug 538324 - Move ctypes into js/src. Part 6: Add ctypes to JSAPI. r=sayrer 2010-04-02 13:07:41 -07:00
Luke Wagner
13df6efbae Bug 555104 - remove JS_ExecuteScriptPart (r=brendan) 2010-03-26 19:37:45 -07:00
Andreas Gal
06be8164da Public JS API for new ES5 Object functions (551595, r=jwalden). 2010-03-24 12:36:42 -07:00
Jason Orendorff
a9e5d5980e Bug 480850 - Add JSAPI function JS_New. r=mrbkap.
--HG--
extra : rebase_source : bb808cedea84d20dfa6e2b3ab6d11b5491aa9058
2010-03-17 10:22:13 -05:00
Igor Bukanov
6231f35ccd bug 551680 - replacing JS_(Suspend|Resume)Request with JSAutoSuspendRequest. r=mrbkap 2010-03-17 10:29:37 +03:00
Robert Sayre
84b14d6f30 Merge mozilla-central to tracemonkey. 2010-03-13 11:51:12 -05:00
Andreas Gal
9d5b1c0316 Disallow embeddings reaching into our guts (part 1: jsnum.h, bug 548205, r=brendan). 2010-03-01 13:30:23 -08:00
Luke Wagner
9dabae3069 Bug 542091 - remove JS_PushArguments[VA] (r=mrbkap,dveditz) 2010-02-06 12:26:24 -08:00
Luke Wagner
4f05b945eb Bug 458421 - dead stuff in spidermonkey (r=jorendorff) 2010-01-22 11:52:17 -08:00
Mounir Lamouri
335de1dc4f Bug 345512 - Implement pattern attribute for input elements. f=ajvincent r=sicking,jorendorff sr=smaug a2.0=blocking 2010-08-18 21:26:22 +02:00
Serge Gautherie
a749d5803e Bug 597811 - [SeaMonkey] mochitests-1/5: "WARNING: NS_ENSURE_SUCCESS(rv, rv) ... nsHTMLInputElement.cpp, line 436" + "test_bug592802.html | Test timed out.", caused by "test_bug548193.html / nsContentPrefService.js"; (Cv1) Add 1 missing 'JSVersion version' in patch Bv1.
a=(bustage fix).
DONTBUILD
2010-11-20 07:55:24 +01:00
Sid Stamm
47a3291b46 bug 515443 CSP no-eval support. r=mrbkap,brendan 2010-03-08 00:24:50 -08:00
Andreas Gal
2943a7a949 Bug 474500 - TM: Need an API to flush and (optionally?) deallocate the code cache per thread. 2009-12-28 09:46:50 -08:00
Benjamin Smedberg
f92278ab68 Backed out changeset 94561cb0f0bd, bug 474500 because of static-analysis bustage. 2009-12-21 09:55:45 -05:00
gal@uci.edu
d8d110c024 Bug 474500 - TM: Need an API to flush and (optionally?) deallocate the code cache per thread. r=dvander 2009-12-18 21:34:20 -05:00
Jim Blandy
76386acacd Bug 514585: Machinery for reporting ES5 strict mode errors. r=igor
2009-11-19: checkReportFlags adjusted to use js_GetTopStackFrame, to
satisfy static analysis checks. No effect on Sunspider.

At compile-time, we must consult the current JSTreeContext to decide
whether to issue an strict mode error; at run-time, we need to
check the strictness of the currently executing script.  Both cases
also check the context options.  The design is supposed to make it
easy to follow the principle that conditions treated as errors in
strict mode are a subset of those warned about by JSOPTION_STRICT.

This patch removes report flag handling from js_ExpandErrorArguments,
which is used for both compile-time and run-time errors.  At run-time,
the new checkReportFlags handles the checks.  At compile-time, we need
different checks depending on the situation, so the checks are done in
js_ReportStrictModeError, js_ReportCompileErrorNumber, and the new
ReportCompileErrorNumberVA.
2009-11-19 09:23:20 -08:00
Jim Blandy
534bfe84e0 Back out ad37dab7ea17: code to check the current frame's script's strictness flag fails the static checks. Using js_GetTopStackFrame introduces a perf regression. 2009-11-18 14:36:55 -08:00
Jim Blandy
bd0b14cc7e Bug 514585: Machinery for reporting ES5 strict mode errors. r=igor
At compile-time, we must consult the current JSTreeContext to decide
whether to issue an strict mode error; at run-time, we need to
check the strictness of the currently executing script.  Both cases
also check the context options.  The design is supposed to make it
easy to follow the principle that conditions treated as errors in
strict mode are a subset of those warned about by JSOPTION_STRICT.

This patch removes report flag handling from js_ExpandErrorArguments,
which is used for both compile-time and run-time errors.  At run-time,
the new checkReportFlags handles the checks.  At compile-time, we need
different checks depending on the situation, so the checks are done in
js_ReportStrictModeError, js_ReportCompileErrorNumber, and the new
ReportCompileErrorNumberVA.
2009-11-18 13:33:53 -08:00
Jason Orendorff
54ae492912 Bug 498134 - ABI depends on #define DEBUG. r=Waldo.
--HG--
extra : rebase_source : 7add900da11663e2f98c1f8e0ef70387301ad115
2009-10-29 06:39:18 -05:00
Robert Sayre
e08b99cf18 bustage fix 2009-10-29 11:48:18 -07:00
Jason Orendorff
8e3f26b19f Bug 518463 - Alternative APIs to JS_GetStringBytes/Chars with saner out-of-memory handling. Any code using the old APIs that attempts to handle OOM at all should switch to these. r=brendan. 2009-10-02 12:42:02 -05:00
L. David Baron
7e046dd800 Add assertions that fire when a JSAutoRequest, JSAutoSuspendRequest, JSAutoLocalRootScope, JSAutoTempValueRooter, JSAutoTempIdRooter, JSAutoIdArray, JSAutoEnumStateRooter, or JSAutoResolveFlags is used as a temporary. (Bug 518633) r=igor 2009-09-27 23:17:47 -07:00
Jeff Walden
9d39c0d549 Bug 515285 - Implement JS_SameValue, and make assertEq use it rather than JS_StrictlyEqual. r=jorendorff 2009-09-09 11:51:52 -07:00
David Anderson
a17ec3c834 Follow-up nits (spacing, comment typo) to bug 513844. 2009-09-10 17:24:28 -07:00
David Anderson
fdcaf63219 Greatly improved tracer x64 compliance and compatibility (bug 513844, r=gal). 2009-09-10 15:38:18 -07:00
Andreas Gal
030a8114b2 Backed out changeset 9b6b17a275ec (bug 506125). 2009-08-25 14:42:42 -07:00
Andreas Gal
f808b9ca98 Memory-pressure based GC scheduler (506125, r=igor,jwalden). 2009-08-24 18:24:52 -07:00
Andreas Gal
c438241025 Backout bug 506125. 2009-08-18 17:30:05 -07:00
Andreas Gal
57285268f7 Schedule GC based on process memory pressure (506125, r=igor,waldo). 2009-08-18 16:38:02 -07:00
Andreas Gal
ebc6f01967 Add an API to notify the JS engine that we are about to destroy the runtime (511252, r=brendan). 2009-08-18 16:31:20 -07:00
Jason Orendorff
8384b1e239 Bug 509098 - Remove JS_HAS_LVALUE_RETURN support. r=brendan. 2009-08-13 16:18:33 -05:00
Luke Wagner
fa2f83712c Bug 507458 - clear the waters a bit regarding JSVAL_BOOLEAN 2009-08-12 16:39:23 -07:00
Jason Orendorff
08c6a1c780 Bug 506721 - Convert JSVAL_TO_INT and INT_TO_JSVAL to functions. r=Waldo. 2009-08-09 07:25:53 -05:00