Commit graph

224 commits

Author SHA1 Message Date
Itms
c06eda0209 SpiderMonkey 38 upgrade: 16/35
JS_GetTypeName was removed from the API, but we asked upstream to add it
back (https://bugzilla.mozilla.org/show_bug.cgi?id=1037718).

This was SVN commit r18670.
2016-09-02 16:32:26 +00:00
Itms
c3710c9632 SpiderMonkey 38 upgrade: 14/35
JS_NewObject has no parent or proto arg anymore, use
JS_NewObjectWithGivenProto instead. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1136906
https://bugzilla.mozilla.org/show_bug.cgi?id=1127443 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1136345

This was SVN commit r18668.
2016-09-02 16:29:21 +00:00
Itms
8d15411abf SpiderMonkey 38 upgrade: 13/35
Update JS_NewObject to JS_NewPlainObject, with new parameters. Patch by
leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1136906 and
https://bugzilla.mozilla.org/show_bug.cgi?id=1125356

This was SVN commit r18667.
2016-09-02 16:28:17 +00:00
Itms
c99ae7ca1c SpiderMonkey 38 upgrade: 12/35
Major update to the JSClass stubs. Based on patch by leper.
https://bugzilla.mozilla.org/show_bug.cgi?id=1103152

This was SVN commit r18666.
2016-09-02 16:26:54 +00:00
Itms
c7c3ef9f92 SpiderMonkey 38 upgrade: 09/35
Use .toFoo() instead of JSVAL_TO_FOO. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=952650

This was SVN commit r18663.
2016-09-02 16:23:44 +00:00
Itms
1223efcef8 SpiderMonkey 38 upgrade: 08/35
Update ObjectToIDMap to the ESR38 version and use the unbarriered
tracers. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=1052388

This was SVN commit r18662.
2016-09-02 16:22:42 +00:00
Itms
548601b2d8 SpiderMonkey 38 upgrade: 07/35
Use operator[] instead of handleAt. Patch by leper.
Addresses https://bugzilla.mozilla.org/show_bug.cgi?id=972385

This was SVN commit r18661.
2016-09-02 16:21:03 +00:00
Itms
4b028508ae SpiderMonkey 38 upgrade: 06/35
Check for the new SpiderMonkey version.

This was SVN commit r18660.
2016-09-02 16:19:31 +00:00
Itms
162535c7b7 Tiny whitespace cleanup.
This was SVN commit r18587.
2016-08-07 17:44:27 +00:00
Yves
9e4f0cc543 Properly shut down SpiderMonkey using JS_ShutDown.
This also adds some validation to ensure the correct order of JS_Init,
JS_NewRuntime, JS_DestroyRuntime and JS_ShutDown calls.

Refs #3708

This was SVN commit r18584.
2016-08-06 15:41:59 +00:00
Itms
4e87fef3da The old debug API has been removed in SpiderMonkey 38, so remove profiler1 script profiling.
Patch by leper, refs #3708

See also https://bugzilla.mozilla.org/show_bug.cgi?id=1069694

This was SVN commit r18580.
2016-08-02 16:58:30 +00:00
Itms
72ca6c5f80 Style cleanup by leper, preparing the SpiderMonkey update. Refs #3708
This was SVN commit r18579.
2016-08-02 16:12:11 +00:00
wraitii
a4a45e4dc4 Fix compiler warning, thanks to elexis. Refs #4056
This was SVN commit r18442.
2016-06-26 16:51:52 +00:00
wraitii
898ab5229b Change profiling calls to get a better view of what is actually slow and what is not.
This was SVN commit r18438.
2016-06-25 13:12:35 +00:00
wraitii
3cbe96d24c Revamp Profiler2 to make it more usable.
Features include new graphs to compare runtime of functions and runtimes
across reports, as well as new profiling functions that only profile
spikes.

This was SVN commit r18423.
2016-06-22 13:38:05 +00:00
wraitii
7c21a0cf8e Header cleanup: profile.h is no longer unnecessarily included in scriptinterface.h but rather in the required .cpp files
This was SVN commit r18417.
2016-06-21 10:33:11 +00:00
fabio
2a830fdb6a Support building with mozjs 31.5 used in Ubuntu PPA.
Fixes #3039.

This was SVN commit r18153.
2016-05-10 09:02:58 +00:00
Yves
199d38dfec Work around clang bug to fix compiling.
This was SVN commit r17703.
2016-01-24 10:34:38 +00:00
Yves
1a66f510d0 Use const T& for parameters of some types in script-exposed native functions
Using references matches the C++ coding style better and should improve
performance a bit in theory. It avoids 2 copies of T in case of the
functions registered with RegisterFunction (mainy used in the GUI). It
should also avoid one or two copies in case of
DEFINE_INTERFACE_METHOD_X, which is used in the simulation, but I
haven't bothered to count it there exactly.
It is now predefined which types have to be passed by const reference
and which are passed by value. Note that references can't be used as
out-parameters (to return multiple values to JS). This hasn't worked
before either and probably never will.

This was SVN commit r17696.
2016-01-23 15:17:56 +00:00
Yves
5f86beea6f Replace HandleWrapper and avoid repoint function
JS::Handle<T>::repoint gets removed with SpiderMonkey 38, so the
existing solution has to be replaced. The new approach should also be a
bit clearer. Named Return Value Optimization (NRVO) should avoid a
superfluous temporary for the return value in the generic template
function implementation of AssignOrFromJSVal.

Refs #3708

This was SVN commit r17695.
2016-01-23 14:42:59 +00:00
leper
cfb2216b8c Remove JSDebugger. Closes #2419, #2973. Refs #410, #2348, #3708.
https://bugzilla.mozilla.org/show_bug.cgi?id=1069694

This was SVN commit r17655.
2016-01-17 00:34:33 +00:00
leper
2ec4d87abf Use .assign instead of operator=.
This was SVN commit r17634.
2016-01-11 20:57:03 +00:00
leper
39eb7fb243 Fix JS_SetGCZeal call.
https://bugzilla.mozilla.org/show_bug.cgi?id=650978
https://bugzilla.mozilla.org/show_bug.cgi?id=742570

This was SVN commit r17632.
2016-01-11 20:03:31 +00:00
leper
775f856421 Use .assign instead of operator=.
This was SVN commit r17631.
2016-01-11 20:03:28 +00:00
leper
d08044c8ad JS_DumpHeap is removed in SpiderMonkey 38, since we have nothing using it remove it. Refs #3708.
https://bugzilla.mozilla.org/show_bug.cgi?id=1105069
https://bugzilla.mozilla.org/show_bug.cgi?id=1122842

This was SVN commit r17630.
2016-01-11 20:03:09 +00:00
leper
785acdb1c6 Fix test failure on Windows.
This was SVN commit r17629.
2016-01-11 20:03:01 +00:00
leper
b18cd3254c Test FixedVector{2,3}D script conversions, and test calling functions of the prototypes.
Also ENSURE that the given value identifier is actually present in the
cache instead of creating one if it is not.

This was SVN commit r17603.
2016-01-04 21:41:40 +00:00
leper
d5d60d53ed Replace JS_ASSERT (which is renamed to MOZ_ASSERT in SpiderMonkey 38) with TS_ASSERT, since the former was used for no apparent reason.
This was SVN commit r17588.
2016-01-01 21:28:25 +00:00
leper
6970ebba16 Test non-ASCII string conversions.
This was SVN commit r17535.
2015-12-22 17:30:05 +00:00
leper
848efb56b3 Make a method const.
This was SVN commit r17527.
2015-12-22 14:08:32 +00:00
leper
509028d738 CompileOptions::setFileAndLine does not copy the string, so create a copy for it.
This was SVN commit r17512.
2015-12-19 02:55:30 +00:00
leper
190f9176df SpiderMonkey 38 removes JS_NewPropertyIterator, use JS_Enumerate instead.
https://bugzilla.mozilla.org/show_bug.cgi?id=1081660

This was SVN commit r17510.
2015-12-19 02:21:22 +00:00
leper
753936e7df SpiderMonkey 38 removes JS_Evaluate{,UC}Script, use JS::Evaluate.
https://bugzilla.mozilla.org/show_bug.cgi?id=1100579

This was SVN commit r17508.
2015-12-19 01:58:03 +00:00
leper
2239fe338c The jschar typedef is removed in SpiderMonkey 38.
Since it already is char16_t in 31 replace it by that.
https://bugzilla.mozilla.org/show_bug.cgi?id=1063962

This was SVN commit r17506.
2015-12-19 01:29:55 +00:00
leper
8bfe16cac8 Use in-place construction.
This was SVN commit r16894.
2015-07-29 23:44:17 +00:00
leper
c5eb9b7bb7 Range-based for for VfsPath loops.
This was SVN commit r16893.
2015-07-29 23:44:12 +00:00
leper
5a0b9b0e70 Fix some issues found by static analysis (clang-analyzer and cppcheck).
This was SVN commit r16801.
2015-06-21 18:46:31 +00:00
historic_bruno
4af117434d Fixes clang unused parameter warning
This was SVN commit r16770.
2015-06-14 23:45:15 +00:00
leper
c93c1c92eb Replace std::auto_ptr uses by std::unique_ptr since the former is deprecated.
This was SVN commit r16674.
2015-05-25 01:23:27 +00:00
historic_bruno
1ac24adde2 Disables some SpiderMonkey-related build warnings with clang
This was SVN commit r16379.
2015-02-22 21:15:47 +00:00
Ykkrosh
bb9de80dd4 Convert CConsole to take UTF-8 strings.
This avoids vswprintf failures when printing non-ASCII char* strings
from CLogger into the console.

Also convert ScriptInterface::ToString to return UTF-8, to avoid some
utf8_from_wstring calls.

Also remove some unused and redundant CConsole functions.

This was SVN commit r16333.
2015-02-14 01:49:34 +00:00
Ykkrosh
e06a7b37d8 Convert debug_printf to take UTF-8 strings instead of wchar_t.
This fixes the problem where passing a non-ASCII string to
debug_printf(L"%hs", s) caused vswprintf_s to fail on Linux (because it
doesn't know what encoding the char* is meant to have). Now debug
messages will remain as UTF-8 until they reach the OS.

Fixes #3021.

This was SVN commit r16332.
2015-02-14 01:45:13 +00:00
scythetwirler
5e7b55996c Fixes build with libmozjs-31-dev package from Ubuntu PPA. Fixes #3039.
This was SVN commit r16283.
2015-02-07 18:28:44 +00:00
fabio
0a34e6106d Improve readability printing a single error message.
This was SVN commit r16237.
2015-01-27 09:14:30 +00:00
leper
4c1903500b Switch to std::shared_ptr and std::weak_ptr.
This was SVN commit r16227.
2015-01-25 03:10:58 +00:00
leper
fc902df07c Remove checks for unsupported GCC versions (<4.6).
This was SVN commit r16224.
2015-01-24 20:37:07 +00:00
Yves
15e8637b67 Fix build with Visual Studio
I've reverted this workaround before the SM31 commit because I thought
it's only a problem with VS2010. Actually VS2013 still doesn't support
C++11 well enough and still requires the workaround.

Refs #2669, #2462

This was SVN commit r16215.
2015-01-24 16:33:27 +00:00
Yves
c02a7e1a7b SpiderMonkey 31 upgrade
This upgrade also introduces exact stack rooting (see to the wiki:
JSRootingGuide) and fixes problems with moving GC. This allows us to
enable generational garbage collection (GGC).
Measurements a few months ago have shown a performance improvement of a
non-visual replay of around 13.5%. This probably varies quite a bit, but
it should be somewhere between 5-20%. Memory usage has also been
improved. Check the forum thread for details.

Thanks to everyone from the team who helped with this directly or
indirectly (review, finding and fixing issues, the required C++11
upgrade, the new autobuilder etc.)! Also thanks to the SpiderMonkey
developers who helped on the #jsapi channel or elsewhere!

Fixes #2462, #2415, #2428, #2684, #1374
Refs #2973, #2669

This was SVN commit r16214.
2015-01-24 14:46:52 +00:00
Ykkrosh
f350a24c73 Disable "assignment operator could not be generated" warning globally on Windows, since it's never useful.
This was SVN commit r16192.
2015-01-22 21:09:33 +00:00
Ykkrosh
568c415d0a Convert wchar_t*/wstring arguments to UTF-8 strings in CLogger messages.
This was SVN commit r16188.
2015-01-22 20:37:38 +00:00