| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Currently there are some differences in behavior and availability
of information between the interpreter and the JIT. This is now
documented as expected failures in the relevant autotests.
|
| |
|
|
|
|
| |
It even works better than with the interpreter
|
|
|
|
|
|
|
| |
JIT does create stackframe while the interperer doesn't.
So we would end up with one superflous stackframe
Reviewed-by: Kent Hansen
|
|
|
|
| |
"*/ outside of comment"
|
|
|
|
|
|
|
|
| |
We do it when compiling JavaScriptCore as part of QtWebKit, so do it
when compiling it as part of QtScript as well, otherwise the excess
warning output is just ridiculous.
Adopted from patch at https://bugs.webkit.org/show_bug.cgi?id=27709
|
|
|
|
|
|
|
|
| |
For some types, an empty string is the correct and complete
conversion of the type. If the result is an empty string, use
QVariant::canConvert() to determine if that is indeed correct,
before falling back to the "string-conversion-not-available"
path.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
belonged to a deleted script engine
When the engine is deleted, the JSValue is invalidated, but the
QScriptValue's type will still be QScriptValuePrivate::JSC.
Use a new helper function, isObject(), that checks both that the
value is of type JSC _and_ that it is valid, before calling
JSValue::isObject() (JSValue::isObject() assumes that the value
is valid).
|
|
|
|
|
|
|
| |
Calling QScriptEngine::toStringHandle() is dead slow, so don't call it;
use JSC::Identifier directly.
This is the same issue as was fixed for setProperty() in commit
a8574172dd5e6bc11cf6f69b6fad5a063549e88d.
|
|
|
|
|
|
| |
Otherwise the property is stored on the wrong object (the proxy).
This fix makes the Qt bindings generated by qtscriptgenerator work
again.
|
|
|
|
|
|
|
|
| |
QScriptValuePrivate released by garbage collector later in
~QScriptEnginePrivate (when destroying the agents) would be
added to the freelist and not be released
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
The documentation of the agent constructor specify that the agant is
owned by the engine. Even if the agent is not set to the engine
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
Do not reset the delegate and the prototype when reusing existing
wrapper.
Reviewed-by: Kent Hansen
|
|
|
|
|
| |
Calling QScriptEngine::toStringHandle() is dead slow, so don't call
it; use JSC::Identifier() directly instead.
|
|
|
|
| |
Small cleanup/optimization.
|
|
|
|
|
| |
Avoid having to create a dummy QScriptValue (which will have its
d_ptr set to 0).
|
|
|
|
| |
Make it faster.
|
| |
|
|
|
|
| |
Just a little cleanup.
|
|
|
|
|
|
|
|
|
| |
Avoid calling malloc() and free() so often. The premise is that
QScriptValue is usually a short-lived type, and only a few QScriptValues
exist at a time, so if we cache privates in the engine, QScriptValues
will be much faster to create and destroy.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
| |
Introduced in commit 38e0c07a78fb585e23c4ff8947be737a28b2257c
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
| |
Avoid calling virtual function JSC::JSValue::get{Call,Construct}Data()
twice.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
| |
It's faster.
Reviewed-by: Olivier Goffart
|
|
|
|
| |
They have the hostCallFrameFlag, but are function context, not <eval> context
|
|
|
|
| |
It is uneeded and add useless overhead
|
| |
|
|
|
|
| |
Reviewed-by: Trust Me
|
|\ |
|
| | |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
configure.exe
examples/examples.pro
qmake/Makefile.unix
qmake/Makefile.win32
qmake/Makefile.win32-g++
qmake/Makefile.win32-g++-sh
qmake/qmake.pro
src/script/api/qscriptable.h
src/script/api/qscriptclasspropertyiterator.h
src/script/api/qscriptcontext.h
src/script/api/qscriptengineagent.cpp
src/script/api/qscriptstring.cpp
src/script/api/qscriptstring.h
src/script/api/qscriptvalueiterator.cpp
src/script/api/qscriptvalueiterator.h
src/script/qscriptclass.cpp
src/script/qscriptcontext.cpp
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptvalue.cpp
src/script/qscriptvalue_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/script.pro
src/src.pro
tests/auto/auto.pro
tests/auto/qscriptv8testsuite/tst_qscriptv8testsuite.cpp
tools/configure/configureapp.cpp
|
| |
| |
| |
| | |
It's faster.
|
| |
| |
| |
| | |
Get rid of the hash.
|
| |
| |
| |
| |
| | |
It's the d-pointer that we most frequently want to access, so store it
to avoid having to use QScriptEnginePrivate::get() all over the place.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
To achieve behavior of the old back-end. There, the recursion guard
was automatic because a mark flag was set on the object as soon as
marking begun, but in JSC it appears to only be set _after_ the
marking is completed.
|
| |
| |
| |
| |
| | |
For the innermost frame, we don't have a returnPC, so use the line
number that was last passed to the engine agent.
|
| |
| |
| |
| |
| | |
If the debugger stops execution, we want the frame pointer to be
in sync (so we get the full backtrace).
|
| |
| |
| |
| |
| | |
It needs to work even when there is no public QScriptValue that
holds a reference to the object.
|
| |
| |
| |
| |
| |
| | |
QtFunction::mark() does not cause infinite recursion any more.
Reviewed-by: Kent Hansen
|
| |
| |
| |
| | |
It is a POD with the size of a pointer
|
| |
| |
| |
| |
| | |
Remove useless variable.
Use QBoolBlocker instread of custom QScript::InEval.
|
| |
| |
| |
| | |
Otherwise we will crash if someone tries to do something with the value.
|
| |
| |
| |
| |
| |
| |
| | |
QScriptValue id were made persistent. It depands
on JSC:JSValue JSCell pointer not on QScriptValuePrivate attr.
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| | |
Since QScriptEngine::evaluate() doesn't create a new stack frame
anymore, we need to use a dedicated variable to keep track of
whether the engine is currently evaluating or not.
|
| |
| |
| |
| | |
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| | |
There is no point in setting class member in destructor
Reviewed-by: Kent Hansen
|
| |
| |
| |
| |
| |
| | |
Static method QScriptValue::initFromJSCValue was removed.
Reviewed-by: Kent Hansen
|