1. 05 Mar, 2013 1 commit
  2. 23 Jan, 2013 1 commit
  3. 09 Jan, 2013 1 commit
  4. 07 Jan, 2013 2 commits
  5. 04 Jan, 2013 1 commit
  6. 03 Jan, 2013 1 commit
  7. 22 Nov, 2012 1 commit
  8. 09 Nov, 2012 1 commit
  9. 04 Oct, 2012 1 commit
    • danno@chromium.org's avatar
      MIPS: Changed "marked" nops to use sll(zero_reg, at, type). · a92a9c8a
      danno@chromium.org authored
      We use marking bits in nops (in the 'sa' field) for debug markers, and for some IC stuff. A normal NOP in mips is sll(zero_reg, zero_reg, 0), where the 0 is a 5 bit immediate field in 'sa'.
      
      See enum NopMarkerTypes at around line 654 of assembler-mips.h
      
      The problem is that these markers use encodings that are reserved for the 'ssnop' and 'ehb' instructions. These are instructions used for hazard barriers.
      
      It does not break anything, but it will slow things down a little bit as some pipeline stages are cleared, etc.
      
      This commit changes the "marked" NOPs to sll(zero_reg, at, type) instructions, which is also a NOP operation on MIPS.
      
      BUG=
      TEST=
      
      Review URL: https://codereview.chromium.org/10990110
      Patch from Akos Palfi <palfia@homejinni.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      a92a9c8a
  10. 06 Aug, 2012 1 commit
  11. 20 Apr, 2012 1 commit
  12. 12 Apr, 2012 1 commit
  13. 05 Apr, 2012 1 commit
    • danno@chromium.org's avatar
      MIPS: Remove static initializers in v8. · a897e6e2
      danno@chromium.org authored
      Port r11010 (1daa81bc).
      
      MIPS-specific changes:
      -register codes and registers are defined using a macro to avoid redundancy
      -renamed s8_fp to fp, removed the "fp" alias
      -removed kSavedValueRegister (found by check-static-initializers.sh)
      
      Original commit message:
      
      Landing for pliard@chromium.org: Remove static initializers in v8.
      
      This change includes two CLs by pliard@chromium.org:
      
      1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):
      
      Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances a
      
      This CL was initially reviewed on codereview.appspot.com:
      http://codereview.appspot.com/5687064/
      
      2.  http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
      This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
      It is based on a patch sent by Digit.
      
      With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This
      
      This CL also modifies the presubmit script to check the number of static initializers.
      
      BUG=
      TEST=
      
      Review URL: https://chromiumcodereview.appspot.com/9689069
      Patch from Daniel Kalmar <kalmard@homejinni.com>.
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      a897e6e2
  14. 21 Mar, 2012 1 commit
  15. 13 Mar, 2012 1 commit
  16. 08 Feb, 2012 1 commit
  17. 13 Jan, 2012 1 commit
  18. 13 Oct, 2011 1 commit
  19. 13 Sep, 2011 1 commit
  20. 31 Aug, 2011 1 commit
  21. 30 Aug, 2011 1 commit
  22. 18 Jul, 2011 1 commit
  23. 28 Jun, 2011 1 commit
  24. 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
  25. 17 May, 2011 1 commit
  26. 09 May, 2011 1 commit
  27. 28 Mar, 2011 2 commits
  28. 08 Jun, 2010 1 commit
    • sgjesse@chromium.org's avatar
      More precise break points and stepping when debugging · 634fb915
      sgjesse@chromium.org authored
      Added support for more precise break points when debugging and stepping. To achieve that additional nop instructions are inserted where breaking would otherwise be impossible. The number of nop instructions inserted are sufficient to make place for patching with a call to a debug break code stub. On Intel that is 5 nop's for 32-bit and 13 for 64-bit. Om ARM 3 nop instructions (12 bytes) are required.
      
      In order to avoid inserting nop's in to many places a simple ast checker have been added to check whether there are breakable code in a statement or expression. If it is possible to break in an expression no additional break enabeling code is inserted.
      
      Added break locations to the true and false part of a conditional expression.
      
      Added stepping tests to cover more constructs.
      
      These changes are only in the full compiler.
      
      Changed the default value for the option --debugger in teh d8 shell from true to false. The reason for this is that with --debugger turned on the full compiler will be used for all code in when running d8, which can be unexpeceted.
      
      Review URL: http://codereview.chromium.org/2693002
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      634fb915
  29. 17 May, 2010 1 commit
    • mark@chromium.org's avatar
      Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac · e9b5d785
      mark@chromium.org authored
      Chromium build.
      
      v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the
      proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as
      the V8_HOST_ARCH_* macro when it detects that no target macro is currently
      defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files.
      #ifdef guards in each of these target-specific source files prevent their
      compilation when the associated target is not selected. For completeness,
      these #ifdef guards are also provided for the arm and mips .cc files.
      
      BUG=706
      TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes)
      Review URL: http://codereview.chromium.org/2133003
      
      git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
      e9b5d785
  30. 04 Feb, 2010 1 commit