1. 30 Apr, 2015 1 commit
  2. 06 Apr, 2015 1 commit
    • dusan.milosavljevic's avatar
      MIPS: Major fixes and clean-up in asm. for instruction encoding. · 4b5af7b3
      dusan.milosavljevic authored
      - Fixed single float register type instruction en[de]coding in assembler and disassembler.
      - Added max and min instructions for r6 and corresponding tests.
      - Fixed selection instruction for boundary cases in simulator.
      - Update assembler tests to be more thorough wrt boundary cases.
      
      TEST=cctest/test-assembler-mips64/MIPS17, MIPS18
           cctest/test-disasm-mips64/Type1
           cctest/test-assembler-mips/MIPS16, MIPS17
           cctest/test-disasm-mips/Type1
      BUG=
      
      Review URL: https://codereview.chromium.org/1057323002
      
      Cr-Commit-Position: refs/heads/master@{#27601}
      4b5af7b3
  3. 31 Mar, 2015 1 commit
    • akos.palfi's avatar
      MIPS64: [turbofan] Add backend support for float32 operations. · df40d51e
      akos.palfi authored
      Port 8dad78cd
      
      Original commit message:
      This adds the basics necessary to support float32 operations in TurboFan.
      The actual functionality required to detect safe float32 operations will
      be added based on this later. Therefore this does not affect production
      code except for some cleanup/refactoring.
      
      In detail, this patchset contains the following features:
      - Add support for float32 operations to arm, arm64, ia32 and x64
        backends.
      - Add float32 machine operators.
      - Add support for float32 constants to simplified lowering.
      - Handle float32 representation for phis in simplified lowering.
      
      In addition, contains the following (related) cleanups:
      - Fix/unify naming of backend instructions.
      - Use AVX comparisons when available.
      - Extend ArchOpcodeField to 9 bits (required for arm64).
      - Refactor some code duplication in instruction selectors.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1045203003
      
      Cr-Commit-Position: refs/heads/master@{#27534}
      df40d51e
  4. 30 Mar, 2015 1 commit
  5. 31 Oct, 2014 1 commit
  6. 17 Sep, 2014 1 commit
  7. 09 Jul, 2014 1 commit
  8. 20 Jun, 2014 1 commit
  9. 03 Jun, 2014 2 commits
  10. 20 May, 2014 1 commit
  11. 29 Apr, 2014 1 commit
  12. 12 Feb, 2014 1 commit
  13. 22 Nov, 2013 1 commit
  14. 19 Jun, 2013 1 commit
  15. 12 Apr, 2013 1 commit
    • plind44@gmail.com's avatar
      MIPS: Accurate function prototypes for native calls from ARM simulator. · dcd3f06b
      plind44@gmail.com authored
      Port r14230 (76c22097)
      
      Original commit message:
      Native method invocation from the arm/simulator-arm.cc previously made
      non-portable assumptions about calling conventions. This was okay for 32-bit
      stack-based machines, where by-value structs are automatically materialized
      on the stack, and where both int and double parameters could be passed on the
      stack. However they are not okay for x86-64, which has an elaborate scheme
      for passing parameters in registers.
      
      This CL replaces the previous non-portable code paths with portable code,
      using call-sites that accurately match the prototype of the callee.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/13989008
      Patch from Akos Palfi <palfia@homejinni.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      dcd3f06b
  16. 02 Apr, 2013 1 commit
  17. 29 Nov, 2012 1 commit
  18. 24 May, 2012 1 commit
  19. 21 Mar, 2012 1 commit
    • danno@chromium.org's avatar
      MIPS: Branch delay slot and other optimizations. · b49dd13c
      danno@chromium.org authored
      List of changes:
      -added a minor optimization to the Simulator that quickly skips nops in the delay slot
      -slightly re-worked CEntryStub to save a few instructions
       CEntryStub now expects the following values:
        -s0: number of arguments including receiver
        -s1: size of arguments excluding receiver
        -s2: pointer to builtin function
       Two new MacroAssembler functions were added to make usage more convenient:
        -PrepareCEntryArgs(int num_args) to set up s0 and s1
        -PrepareCEntryFunction(const ExternalReference&) to set up s2
      -removed branch delay slot nops from the most frequently used code areas
      -reorganized some code to execute fewer instructions
      -utilized the delay slot of most Ret instructions
       This does not cover all Rets, only the most obvious cases.
       Also added a special version of DropAndRet that utilizes the delay slot.
      -added some comments to code areas where explanation of the register/delay slot usage may be needed
      -added an optimization to Jump so it doesn't always pre-load the target register
      
      BUG=
      TEST=
      
      Review URL: https://chromiumcodereview.appspot.com/9699071
      Patch from Daniel Kalmar <kalmard@homejinni.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      b49dd13c
  20. 10 Nov, 2011 1 commit
  21. 26 May, 2011 1 commit
    • sgjesse@chromium.org's avatar
      MIPS: Added the stop() instruction with same behavior as on Arm simulator. · 64c61072
      sgjesse@chromium.org authored
      The already working watchpoint break mechanism has been extended to handle "stop" instructions, with text messages.
      
      Explanation (also in constants-mips.h):
      On MIPS Simulator breakpoints can have different codes:
      - Breaks between 0 and kMaxWatchpointCode are treated as simple watchpoints, the simulator will run through them and print the registers.
      - Breaks between kMaxWatchpointCode and kMaxStopCode are treated as stop() instructions (see Assembler::stop()).
      - Breaks larger than kMaxStopCode are simple breaks, dropping you into the debugger.
      
      The current values are 31 for kMaxWatchpointCode and 127 for kMaxStopCode.
      From the user's point of view this works the same way as the ARM stop instruction except for the break code usage detailed above.
      
      Ported commits: r5723 (3ba78d24)
      
      BUG=
      TEST=
      
      Review URL: http://codereview.chromium.org//7062014
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      64c61072
  22. 24 May, 2011 1 commit
  23. 23 May, 2011 1 commit
  24. 09 May, 2011 1 commit
  25. 05 May, 2011 1 commit
  26. 28 Mar, 2011 1 commit
  27. 14 Oct, 2010 1 commit
  28. 04 Feb, 2010 1 commit
  29. 26 Jan, 2010 1 commit
    • sgjesse@chromium.org's avatar
      Don't pass the "at start" parameter to native RegExp · cf78ed05
      sgjesse@chromium.org authored
      As the start index is already passed it is easy to calculate the "at start" boolean in generated code. Also as direct entry has been implemented this needs to be done in generated code anyway, and therefore might as well be moved to the generated code for RegExp. The "at start" value is now calcualted as a local variable on the native RegExp frame based on the value of the start index argument.
      
      The x64 version have been tested on both Linux and 64-bit Windows Vista.
      
      For ARM I have tested cctest/test-regexp on ARM hardware, but the rest of the tests have only been run on the ARM simulator.
      Review URL: http://codereview.chromium.org/554078
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      cf78ed05
  30. 06 Jan, 2010 1 commit
    • sgjesse@chromium.org's avatar
      Direct call to native RegExp code from JavaScript. · 429f3cf9
      sgjesse@chromium.org authored
      Calls to RegExp no longer have to be via a call to the runtime system. A new stub have been added which can handle this call in generated code. The stub checks all the parameters and creates RegExp entry frame in the same way as it is created by the runtime system. Bailout to the runtime system is done whenever an uncommon situation is encountered or when the static data used is not initialized. After running the native RegExp code the last match info is updated like in the runtime system.
      
      Currently only ASCII strings are handled.
      
      Added another argument to the RegExp entry frame. It indicated whether the call is direct from JavaScript code or through the runtime system. This information is used when RegExp execution is interrupted. If an interruption happens when RegExp code is called directly a retry is issued causing the interruption to be handled via the runtime system. The reason for this is that the direct call to RegExp code does not support garbage collection.
      Review URL: http://codereview.chromium.org/521028
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      429f3cf9
  31. 12 Nov, 2009 2 commits
  32. 05 Nov, 2009 1 commit
  33. 01 Oct, 2009 1 commit
  34. 31 Aug, 2009 1 commit
  35. 09 Jun, 2009 1 commit
  36. 25 May, 2009 1 commit
  37. 04 May, 2009 1 commit
  38. 27 Apr, 2009 1 commit