1. 04 Nov, 2014 - 1 commit
  2. 31 Oct, 2014 - 1 commit
  3. 25 Aug, 2014 - 1 commit
  4. 22 Jul, 2014 - 12 commits
  5. 11 Mar, 2014 - 1 commit
  6. 04 Feb, 2014 - 1 commit
    • Simon Hausmann's avatar
      Fix occasional crashes in canvas getImageData and other places · c6da58a2
      Simon Hausmann authored
      
      In some places we allocate custom array objects and in the constructor we call
      setArrayType, which will allocate the array's data through the GC. In all of
      these cases we need to make sure that the array object itself is protected from
      garbage collection, because while in the constructor it may not be yet in the
      scope the callee has usually set up.
      
      Change-Id: I96b7af4ae00fd809067e12bacd6563984c5e9240
      Reviewed-by: default avatarErik Verbruggen <erik.verbruggen@digia.com>
      c6da58a2
  7. 21 Jan, 2014 - 1 commit
  8. 20 Jan, 2014 - 1 commit
  9. 09 Jan, 2014 - 1 commit
  10. 03 Jan, 2014 - 1 commit
    • Lars Knoll's avatar
      Move Managed::type and some flags into the vtable · 40fd9ff0
      Lars Knoll authored
      
      Move the type flag into the vtable to free up these
      bits in the Managed class, and not have to set them
      at object construction time.
      
      As we often need to know whether a Managed object is a
      Object, FunctionObject or String, add some bitflags to test
      for these to the vtable.
      
      Change-Id: I7d08ca044544debb307b55f124f34cb086ad9e84
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      40fd9ff0
  11. 04 Dec, 2013 - 3 commits
  12. 09 Nov, 2013 - 1 commit
  13. 04 Nov, 2013 - 1 commit
  14. 29 Oct, 2013 - 2 commits
  15. 14 Oct, 2013 - 1 commit
    • Lars Knoll's avatar
      inline get_element calls · 1be51cc3
      Lars Knoll authored
      
      Inline calls to get_element if the base is an
      object with a simple array structure, and the index
      is an integer number.
      
      Implemented for 64bit only for now, saves ~25% on crypto.js
      
      Change-Id: I3e34a6409169d90d3937f62264707d52a6c2f9f7
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      1be51cc3
  16. 11 Oct, 2013 - 2 commits
  17. 02 Oct, 2013 - 3 commits
    • Simon Hausmann's avatar
      Change exception handling API · c860d139
      Simon Hausmann authored
      
      This patch changes the exception handling API in the engine slightly, encapsulating
      any use of direct throw statements and catch blocks with concrete types. In the future
      we need to be able to change the way these are implemented, in order to ensure that
      the correct stack unwinding code is triggered for throw and re-throw.
      
      This patch separates the C++ exception object thrown from the V4 exception
      (that includes value, throwing context pointer) and stores the latter inside
      the engine.
      
      In order for that to compile, ExecutionEngine::StackTrace and StackFrame had to
      move into the QV4 namespace directly.
      
      In addition the syntax for catching exceptions changes from
      
      try {
          ...
      } catch (QV4::Exception &ex) {
          ex.accept(context);
          QV4::ScopedValue exceptionValue(scope, ex.value());
      }
      
      to
      
      try {
          ...
      } catch (...) {
          QV4::ScopedValue exception(scope, context->catchException());
      }
      
      Context::catchException() checks if there's a "current" exception in the engine,
      and if not assumes that we caught an unrelated exception and consequently re-throws.
      
      partiallyUnwind() is also gone and replaced with rethrowException(), in order to
      encapsulate the re-throw.
      
      Lastly, in the future nesting try/catch blocks isn't going to be possible due to
      limitations in the common C++ ABI with regards to foreign exceptions.
      
      Change-Id: Ic81c75b057a2147e3176d8e0b4d326c14278b47d
      Reviewed-by: default avatarLars Knoll <lars.knoll@digia.com>
      c860d139
    • Lars Knoll's avatar
      Use SafeValue instead of Value in ScopedValue methods · d49cc03d
      Lars Knoll authored
      
      Change-Id: Ie463efe600d498ce77d4b9e8b48abcfd61c1ab78
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      d49cc03d
    • Lars Knoll's avatar
      Fix ObjectIterator API to be GC safe · 430dfd32
      Lars Knoll authored
      
      Change-Id: I3a9c48d53d8dbadcb9b32c00fcef1f89447c4b8c
      Reviewed-by: default avatarSimon Hausmann <simon.hausmann@digia.com>
      430dfd32
  18. 01 Oct, 2013 - 1 commit
  19. 30 Sep, 2013 - 2 commits
  20. 28 Sep, 2013 - 3 commits