1. 01 Mar, 2016 1 commit
    • littledan's avatar
      Make RUNTIME_ASSERT have more useful output in debug mode · 78d84530
      littledan authored
      Runtime asserts are were previously a bit annoying to debug, due to
      the lack of a useful error message, even in debug mode. This patch
      prints out some more information in debug mode for runtime assert
      failures while preserving their exception-throwing semantics. While
      we're at it, it requires a semicolon after RUNTIME_ASSERT macro
      invocations.
      
      ```
      $ rlwrap out/Debug/d8 --allow-natives-syntax
      V8 version 5.1.0 (candidate)
      d8> %ArrayBufferNeuter(1)
      
      #
      # Runtime error in ../../src/runtime/runtime-typedarray.cc, line 52
      #
      # args[0]->IsJSArrayBuffer()
      
      ==== C stack trace ===============================
      
       1: 0xf70ab5
       2: 0xadeebf
       3: 0xadedd4
       4: 0x2ef17630693b
      (d8):1: illegal access
      %ArrayBufferNeuter(1)
      ^
      
      d8>
      ```
      
      Also give the other 'illegal access' case (a special SyntaxError type) a more
      descriptive error message for its sole usage.
      
      R=adamk
      
      Review URL: https://codereview.chromium.org/1748183002
      
      Cr-Commit-Position: refs/heads/master@{#34401}
      78d84530
  2. 15 Jan, 2016 1 commit
    • rmcilroy's avatar
      [Interpreter] Add ForInPrepare runtime function which returns a ObjectTriple. · 84f8a506
      rmcilroy authored
      Adds a ForInPrepare Runtime function which returns a triple of
      cache_type, cache_array and cache_length.
      
      This requires adding support to CEntryStub to call runtime functions
      which return a ObjectTriple - a struct containing three Object*
      pointers. Also did some cleanup of the x64 CEntryStub to avoid
      replicated code.
      
      Replaces the interpreter's use of the ad-hock InterpreterForInPrepare
      Runtime function with ForInPrepare in preparation for fixing deopt in
      BytecodeGraphBuilder for ForIn (which will be done in a followup CL).
      
      MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>.
      
      BUG=v8:4280
      LOG=N
      
      Review URL: https://codereview.chromium.org/1576093004
      
      Cr-Commit-Position: refs/heads/master@{#33334}
      84f8a506
  3. 30 Sep, 2015 1 commit
  4. 03 Jun, 2015 1 commit
  5. 01 Jun, 2015 1 commit
    • bmeurer's avatar
      [turbofan] First step towards sanitizing for-in and making it optimizable. · e2e47f30
      bmeurer authored
      In a nutshell: The FILTER_KEY builtin is gone, and was replaced by a
      simple runtime call to ForInFilter, which does everything and is even
      cheaper (because FILTER_KEY used to call into the runtime anyway).
      And ForInFilter returns either the name or undefined, which makes it
      possible to remove the control flow construction from the AstGraphBuilder,
      and thereby make both the initialization and the per-loop code of for-in
      optimizable later (in typed lowering).
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1160983004
      
      Cr-Commit-Position: refs/heads/master@{#28711}
      e2e47f30
  6. 04 Feb, 2015 2 commits
  7. 20 Oct, 2014 1 commit
  8. 30 Sep, 2014 1 commit
  9. 25 Sep, 2014 1 commit