| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Introduced a helper function in our custom source provider,
columnNumberFromOffset(), that maps an absolute offset in the source
input to a relative column number.
Reviewed-by: Jedrzej Nowacki
|
|
|
|
| |
RevBy: Thiago Macieira <thiago.macieira@trolltech.com>
|
|
|
|
|
|
|
| |
Found during API review, make the private safety constructors follow the
pattern of our Q_DISABLE_COPY macro.
Reviewed-by: Robert Griebl
|
|
|
|
|
|
|
|
|
| |
It is possible to call QScriptEngine::pushContext before we start any evaluation.
We need to change JSC so it doesn't always start at the beginning of the stack.
Also fix QScriptContext::pushContext not to waste space between callframes.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
|
|
|
| |
I was assuming that the default return value register was always set
to 0 for native calls. But this is not the case. So we must ensure this.
Also be consistend in the way the stackframe grow and shrink. This expose
another bug in the way the call frame is created in JSC
Reviewed-by: Kent Hansen
|
|
|
|
| |
Reviewed-by: Simon Hausmann
|
|
|
|
|
|
|
|
| |
When the script class is set to 0, we need to remove the script
object's delegate entirely, because the delegate requires a non-0
script class in order to be useful.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
| |
The currentFrame pointer is used e.g. by QScriptValue::toString(). It needs to
be in sync, otherwise we will crash.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
|
|
| |
strictlyEquals has to continue to work if one of the values has an engine
and the other one doesn't. Use the other value's engine to construct a
JSValue if possible and use JSC::JSValue::strictEqual.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
|
| |
Don't create JSC types as the conversion back to a string now
requires an ExecState.
Reviewed-by: Kent Hansen
|
|
|
|
|
|
| |
The functions are identical, but in recent WebKit trunk isObject()
doesn't exist anymore. So this renaming is done to prepare for the
import of a more recent JavaScriptCore.
|
|
|
|
|
|
|
|
|
|
|
| |
QScriptEnginePrivate::thisForContext() relies on the this-register
of the global context to contain an invalid JSValue.
The default Register constructor (used to initialize the registers
of the global context) only invalidates its value when NDEBUG is
not defined (but we define it). Therefore, we must explicitly set
the this-register to an invalid value.
Reviewed-by: Olivier Goffart
|
|
|
|
|
|
| |
Avoid copy and paste.
Reviewed-by: Olivier Goffart
|
|
|
|
|
| |
This change was lost when the new qtscript-jsc backend was introduced
(the change is already in 4.5).
|
|
|
|
|
|
|
|
| |
Winscw gets very confused when the name of an enum value is the same as
the name of an entire namespace, JSC in this case. Renaming the enum
value to JavaScriptCore fixes this.
Rubber-stamped-by: Kent
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch remove the 'fake' context that appears in the debugger
backtrace when there is a break point in the global context.
This problem never appeared in the tests because the
QScriptContext::backtrace has always at least two items in the backtrace
as it needs the native 'bt' function to be called.
Changed QScriptEnginePrivate::contextForFrame to skip the fake frame
(instead of QScriptContext::parentContext). So we never have a QScriptContext
pointing to that frame.
The changes in QScriptContextInfo are for retreiving the right filename
information for the global context when the global context is on top.
Reviewed-by: Kent Hansen
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
| |
functionExit event was partially fixed. The time point in JS execution
with JIT enabled works now but still there is no returning value in few
cases.
Autotest was corrected.
Reviewed-by: Kent Hansen
|
|
|
|
|
| |
The include was accidentally removed in commit e4dfcd4392e5be1b5de8648fc20ff45f7faa30ca;
well, now we know what that was for...
|
|
|
|
|
|
|
|
| |
Get rid of QPointer.
Use linked list of privates (like was recently done for QScriptValue).
Allocate the private on the stack when we can.
Reviewed-by: Olivier Goffart
|
|
|
|
| |
That's the last of them... for now.
|
|
|
|
|
|
|
| |
Do not convert JSC::Identifier to QString to convert it later to
JSC::Identivier again
Reviewed-by: Kent Hansen
|
|
|
|
| |
Reviewed-by: Trust Me
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conflicts:
demos/boxes/glshaders.cpp
demos/boxes/vector.h
demos/embedded/fluidlauncher/pictureflow.cpp
demos/embedded/fluidlauncher/pictureflow.h
doc/src/desktop-integration.qdoc
doc/src/distributingqt.qdoc
doc/src/examples-overview.qdoc
doc/src/examples.qdoc
doc/src/frameworks-technologies/dbus-adaptors.qdoc
doc/src/geometry.qdoc
doc/src/groups.qdoc
doc/src/objecttrees.qdoc
doc/src/platform-notes.qdoc
doc/src/plugins-howto.qdoc
doc/src/qt3support.qdoc
doc/src/qtdbus.qdoc
doc/src/qtdesigner.qdoc
doc/src/qtgui.qdoc
doc/src/qtmain.qdoc
doc/src/qtopengl.qdoc
doc/src/qtsvg.qdoc
doc/src/qtuiloader.qdoc
doc/src/qundo.qdoc
doc/src/richtext.qdoc
doc/src/topics.qdoc
src/corelib/tools/qdumper.cpp
src/gui/embedded/qkbdpc101_qws.cpp
src/gui/embedded/qkbdsl5000_qws.cpp
src/gui/embedded/qkbdusb_qws.cpp
src/gui/embedded/qkbdvr41xx_qws.cpp
src/gui/embedded/qkbdyopy_qws.cpp
src/gui/embedded/qmousebus_qws.cpp
src/gui/embedded/qmousevr41xx_qws.cpp
src/gui/embedded/qmouseyopy_qws.cpp
src/gui/painting/qpaintengine_d3d.cpp
src/gui/painting/qwindowsurface_d3d.cpp
src/opengl/gl2paintengineex/glgc_shader_source.h
src/opengl/gl2paintengineex/qglpexshadermanager.cpp
src/opengl/gl2paintengineex/qglpexshadermanager_p.h
src/opengl/gl2paintengineex/qglshader.cpp
src/opengl/gl2paintengineex/qglshader_p.h
src/opengl/util/fragmentprograms_p.h
src/plugins/kbddrivers/linuxis/linuxiskbdhandler.cpp
src/plugins/mousedrivers/linuxis/linuxismousehandler.cpp
src/script/parser/qscript.g
src/script/qscriptarray_p.h
src/script/qscriptasm_p.h
src/script/qscriptbuffer_p.h
src/script/qscriptclass.cpp
src/script/qscriptclassdata_p.h
src/script/qscriptcompiler.cpp
src/script/qscriptcompiler_p.h
src/script/qscriptcontext.cpp
src/script/qscriptcontext_p.cpp
src/script/qscriptcontext_p.h
src/script/qscriptcontextfwd_p.h
src/script/qscriptecmaarray.cpp
src/script/qscriptecmaarray_p.h
src/script/qscriptecmaboolean.cpp
src/script/qscriptecmacore.cpp
src/script/qscriptecmadate.cpp
src/script/qscriptecmadate_p.h
src/script/qscriptecmaerror.cpp
src/script/qscriptecmaerror_p.h
src/script/qscriptecmafunction.cpp
src/script/qscriptecmafunction_p.h
src/script/qscriptecmaglobal.cpp
src/script/qscriptecmaglobal_p.h
src/script/qscriptecmamath.cpp
src/script/qscriptecmamath_p.h
src/script/qscriptecmanumber.cpp
src/script/qscriptecmanumber_p.h
src/script/qscriptecmaobject.cpp
src/script/qscriptecmaobject_p.h
src/script/qscriptecmaregexp.cpp
src/script/qscriptecmaregexp_p.h
src/script/qscriptecmastring.cpp
src/script/qscriptecmastring_p.h
src/script/qscriptengine.cpp
src/script/qscriptengine_p.cpp
src/script/qscriptengine_p.h
src/script/qscriptenginefwd_p.h
src/script/qscriptextenumeration.cpp
src/script/qscriptextenumeration_p.h
src/script/qscriptextqobject.cpp
src/script/qscriptextqobject_p.h
src/script/qscriptextvariant.cpp
src/script/qscriptfunction.cpp
src/script/qscriptfunction_p.h
src/script/qscriptgc_p.h
src/script/qscriptmember_p.h
src/script/qscriptobject_p.h
src/script/qscriptprettypretty.cpp
src/script/qscriptprettypretty_p.h
src/script/qscriptvalue.cpp
src/script/qscriptvalueimpl.cpp
src/script/qscriptvalueimpl_p.h
src/script/qscriptvalueimplfwd_p.h
src/script/qscriptvalueiteratorimpl.cpp
src/script/qscriptxmlgenerator.cpp
src/script/qscriptxmlgenerator_p.h
tests/auto/linguist/lupdate/testdata/recursivescan/project.ui
tests/auto/linguist/lupdate/testdata/recursivescan/sub/finddialog.cpp
tests/auto/qkeyevent/tst_qkeyevent.cpp
tools/linguist/shared/cpp.cpp
|
|
|
|
| |
Needed due to commit 3636e666528b72de79f8c7012690bb9e279f0863
|
|
|
|
|
|
| |
The return value is not reported (we need a separate callback for that,
just like in the interpreter), but that isn't important to get our
tools (i.e. the debugger) working.
|
|
|
|
|
|
| |
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"
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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
|