Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt WebKit
  4. What js engine qt use under the hood?

What js engine qt use under the hood?

Scheduled Pinned Locked Moved Unsolved Qt WebKit
12 Posts 2 Posters 4.7k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • D Offline
    D Offline
    Dima00782
    wrote on last edited by
    #1

    Hi!
    I little bit confuse about what does js engine qt use?
    I know about QML and Qt WebKit Widgets.
    As I can see Qt WebKit Widgets uses http://doc.qt.io/qt-5/qtwebkit-bridge.html that uses http://code.woboq.org/qt5/qtdeclarative/src/qml/jsapi/qjsengine.cpp.html that uses v8 google js engine.
    I wonder that I can debug JS inside QML block in qtcreator. What does engine qt use here?

    Besides I hear that qt has got own virtual machine/engine for js - v4vm.
    But also I see that qt forbid qtwebkit/qtdeclarative and qtscipt http://wiki.qt.io/New-Features-in-Qt-5.5#Deprecated_Functionality
    Why?
    How do you use js in future qt gui projects?

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi and welcome to devnet,

      These modules are not forbidden, they are deprecated. You can still use them but should not start new software with them.

      As for why, here you have the explanation for QtWebKit. For QtQuick 1, read the following mail thread.

      Use the QML module which is the replacement for QtScript

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      D 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi and welcome to devnet,

        These modules are not forbidden, they are deprecated. You can still use them but should not start new software with them.

        As for why, here you have the explanation for QtWebKit. For QtQuick 1, read the following mail thread.

        Use the QML module which is the replacement for QtScript

        D Offline
        D Offline
        Dima00782
        wrote on last edited by Dima00782
        #3

        @SGaist Thanks, but what are js engine used for debug and executing js code inside QML?

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          The V4 engine

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          1 Reply Last reply
          0
          • D Offline
            D Offline
            Dima00782
            wrote on last edited by
            #5

            Yeah, thanks. I see in code qv4compiler.cpp and in qv8engine.cpp
            m_v4Engine = new QV4::ExecutionEngine;
            m_v4Engine->v8Engine = this;

            Why qt doesn't use v8 engine? And Where I can see any information about v4?

            1 Reply Last reply
            0
            • SGaistS Offline
              SGaistS Offline
              SGaist
              Lifetime Qt Champion
              wrote on last edited by
              #6

              The old Qt Quick 1 used it. Here you have why it has changed.

              What information are you looking for ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • D Offline
                D Offline
                Dima00782
                wrote on last edited by
                #7

                I just want to port qt library to new platform. My task is implement js engine for qt. I look for description about it, earlier I going to implement v8 google engine )

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  What platform is that ?

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • D Offline
                    D Offline
                    Dima00782
                    wrote on last edited by Dima00782
                    #9

                    Like a intel intanium VLIW + EPIC architecture

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      Then you should check the hpux family of mkspec

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      D 1 Reply Last reply
                      0
                      • SGaistS SGaist

                        Then you should check the hpux family of mkspec

                        D Offline
                        D Offline
                        Dima00782
                        wrote on last edited by
                        #11

                        @SGaist As I can see in the code:

                        switch (mode) {
                            case use_masm:
                            case use_moth: {
                                QV4::EvalISelFactory* iSelFactory = 0;
                                if (mode == use_moth) {
                                    iSelFactory = new QV4::Moth::ISelFactory;
                        #ifdef V4_ENABLE_JIT
                                } else {
                                    iSelFactory = new QV4::JIT::ISelFactory;
                        #endif // V4_ENABLE_JIT
                                }
                        
                                QV4::ExecutionEngine vm(iSelFactory);
                        
                                QV4::Scope scope(&vm);
                                QV4::ScopedContext ctx(scope, vm.rootContext());
                        

                        My purpose are port qtdeclarative on the new platform.

                        First of all I'm going to add masm classes and some declaration statements in qv4global_p.h and qv4targetplatform_p.h.
                        My question is - What is Moth? Is it aot compiler for js or interpeter? Why the Moth's files are placed in compiler directory?

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          That's something I can't answer, I haven't worked on the internals of the V4 engine. You should rather ask this on the development mailing list. You'll find there Qt's developers/maintainers (this forum is more user oriented). There's also the #qt IRC channel

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0

                          • Login

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Categories
                          • Recent
                          • Tags
                          • Popular
                          • Users
                          • Groups
                          • Search
                          • Get Qt Extensions
                          • Unsolved