Page 2 of 2 FirstFirst 12
Results 21 to 27 of 27

Thread: How to access v8's debug API in QJSEngine

  1. #21
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: How to access v8's debug API in QJSEngine

    Quote Originally Posted by DavidXanatos View Post
    Assuming that QJSEngine may become an implemetation detail of QQml and QScriptEngine will stay for application scripting, it may be an interesting option to create a fork of the current v8 based QJSEngine with an exposed debug interface for in app debugging, and those use cases where a lot of JS performance is needed and the slow interface for QObject is not significant.
    Nothing can stop you from extracting QJSEngine code, renaming it to QV8Engine and making it a separate library.

    But you are probably right that Qt wont maintain 2 scripting engines that basically do almost the same, just with different performance and platform compatibility.

    So if there is a need for such a thing it would have to be some extern component maintained by some 3rd party.
    I would assume the Trolls will want V4 to be as fast as V8. Since it's JIT, execution speed (of the compiled code at least) should be similar.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  2. #22
    Join Date
    May 2013
    Location
    Vienna, Austria
    Posts
    21
    Thanks
    1
    Thanked 2 Times in 1 Post
    Qt products
    Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: How to access v8's debug API in QJSEngine

    Quote Originally Posted by wysota View Post
    I would assume the Trolls will want V4 to be as fast as V8. Since it's JIT, execution speed (of the compiled code at least) should be similar.
    According to the blog post linked on the previous page one of the problems of v8 is that is JIT and on windows RT this does not work as you cant write a memory block and make it executable.
    So to my understanding V4 will have to be an interpreter.

    Cheers

  3. #23
    Join Date
    Jan 2006
    Location
    Graz, Austria
    Posts
    8,416
    Thanks
    37
    Thanked 1,544 Times in 1,494 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: How to access v8's debug API in QJSEngine

    That is my understanding is well

    Cheers,
    _

  4. #24
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: How to access v8's debug API in QJSEngine

    Quote Originally Posted by DavidXanatos View Post
    So to my understanding V4 will have to be an interpreter.
    Let me quote the article:

    The new engine contains a fully compliant ECMAScript 5.1 implementation, that runs on all platforms Qt supports. It contains a JIT that currently works on Linux, Mac and iOS.
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  5. #25
    Join Date
    May 2013
    Location
    Vienna, Austria
    Posts
    21
    Thanks
    1
    Thanked 2 Times in 1 Post
    Qt products
    Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: How to access v8's debug API in QJSEngine

    Let me quote the article:
    Quote Originally Posted by wysota View Post
    iOS and WinRT support
    iOS does not allow making memory both executable and writable, something that existing JS engines require. WinRT doesn’t allow making memory executable at all. This makes it impossible to use V8 on these platforms without writing a full interpreter backend to V8.
    If they do a JIT again despite knowing that it is odd to fail on WinRT this would be a major MAJOR F*** up.

    Even if many people don't like win 8 in general and WinRT in particular, I think M$ will be throwing enough money on this until WinRT gets it market share, i mean from a user point of view its not worse than iOS, its the same jailed not really general purpose proprietary computing device.
    Also I think that windows phone has the same kernel as win RT so it will have the same limitations.
    Qt shouldn't develop solutions that would fail on this platforms.

    David X.
    Last edited by DavidXanatos; 2nd June 2013 at 09:02.

  6. #26
    Join Date
    Jan 2006
    Location
    Warsaw, Poland
    Posts
    33,359
    Thanks
    3
    Thanked 5,015 Times in 4,792 Posts
    Qt products
    Qt3 Qt4 Qt5 Qt/Embedded
    Platforms
    Unix/X11 Windows Android Maemo/MeeGo
    Wiki edits
    10

    Default Re: How to access v8's debug API in QJSEngine

    Quote Originally Posted by DavidXanatos View Post
    If they do a JIT again despite knowing that it is odd to fail on WinRT this would be a major MAJOR F*** up.
    From what I understand, they have a solution that does JIT where it is possible and falls back to interpreting where it is not. Or maybe there is a solution to do JIT without breaking platform policies (after all they said they have a working V4/JIT on iOS).
    Your biological and technological distinctiveness will be added to our own. Resistance is futile.

    Please ask Qt related questions on the forum and not using private messages or visitor messages.


  7. #27
    Join Date
    May 2013
    Location
    Vienna, Austria
    Posts
    21
    Thanks
    1
    Thanked 2 Times in 1 Post
    Qt products
    Qt4 Qt5
    Platforms
    MacOS X Unix/X11 Windows

    Default Re: How to access v8's debug API in QJSEngine

    Quote Originally Posted by wysota View Post
    Or maybe there is a solution to do JIT without breaking platform policies (after all they said they have a working V4/JIT on iOS).
    afaik. on iOS you can request a block of writable memory write to it and then change the flags to read only but executable. On WinRT you an not do that.

    So Yes, they would need to have a interpreter as Fall-back.

Similar Threads

  1. Replies: 1
    Last Post: 10th October 2012, 09:46
  2. Qt + Linux + Eclipse - debug using debug build?
    By will49 in forum Qt Programming
    Replies: 6
    Last Post: 13th April 2012, 07:27
  3. Replies: 4
    Last Post: 30th September 2010, 11:31
  4. DEBUG macro not defined in debug build using vc++
    By piotr.dobrogost in forum Qt Programming
    Replies: 0
    Last Post: 21st July 2009, 14:07
  5. Replies: 11
    Last Post: 22nd March 2006, 20:06

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.