- 19 May, 2010 1 commit
-
-
sgjesse@chromium.org authored
This makes the full compiler handle all constructs on ia32. However the syntax checker for the full compiler is still the same so for both normal operation and with the flag --always-full-compiler the coverage of the full compiler will be the same. This is on preparation for improving the debugger break point experience where the plan is to only use code from full code generator when debugging JavaScript. Runs all tests on all three platforms in release and debug mode. The tests also run with both the following flags to the test runner --special-command="@ --nofull-compiler" --special-command="@ --always-full-compiler" The changes to the x64 and ARM architectures are mainly structural due to the change to EmitVariableAssignment to handle initialization of const variables. Review URL: http://codereview.chromium.org/1989012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 May, 2010 9 commits
-
-
vegorov@chromium.org authored
Collect cumulative (--print-cumulative-gc-stat) and per collection (--trace-gc-nvp) GC statistics and output it in a machine-readable name=value format. Review URL: http://codereview.chromium.org/2132005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2129010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As several pages can run in a single V8 instance, it is possible to have functions from different security contexts intermixed in a single CPU profile. To avoid exposing function names from one page to another, filtering is introduced. The basic idea is that instead of capturing return addresses from stack, we're now capturing JSFunction addresses (as we anyway work only with JS stack frames.) Each JSFunction can reach out for context's security token. When providing a profile to a page, the profile is filtered using the security token of caller page. Any functions with different security tokens are filtered out (yes, we only do fast path check for now) and their ticks are attributed to their parents. Review URL: http://codereview.chromium.org/2083005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/2136012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2103007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Also simplify the assertion code for type information in the macro assembler. Review URL: http://codereview.chromium.org/2130003/show git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2117010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
The calling convention for keyed store IC on ARM is changed to receive the arguments value, key and receiver in registers r0, r1 and r2 instead of on the stack. When calling keyed store IC with a virtual frame the arguments are passed through the virtual frame and consumed by the call. Changed the register usage in the IC code to postpone spilling the registers holding value, key and receiver to the stack until making a call into the runtime system. Runs all the tests with: --special-command="@ --nofull-compiler" --special-command="@ --always-full-compiler" --special-command="@ --noenable-vfp3" Review URL: http://codereview.chromium.org/2116003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
When ldrd is not available two ldr instructions are generated. This fixes these in the case where the register used in the memory operand is the same as the first register in the register pair receiving the values. All tests now run on ARM with the flag --special-command="@ --noenable-vfp3". Running without VFP3 support in the simulator causes more ldrd instructions to be used, and the default build configuration does not utilize ldrd, but generated tow ldr instructions. Review URL: http://codereview.chromium.org/2078013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2010 7 commits
-
-
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
-
mark@chromium.org authored
dtoa.c:69 states: #define Long int on machines with 32-bit ints and 64-bit longs. This change was made in Chromium's version of dtoa in r21901. I don't know why this apparently hasn't caused a problem in v8 until now. I was unable to build a snapshot on x86_64 Mac without this change. BUG=706 TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes) git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
r3995 (http://code.google.com/p/v8/source/detail?r=3995) introduce performance regression for the case when arrat size is small (think new Array(4)). It turns out that in those cases rep stos is slower than plain loop (apprently due to ecx increment, but I didn't check this hypothesis.) The next thing to try could be direct jump into right place of long sequence of stos'es. Review URL: http://codereview.chromium.org/2082006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
under one flag. Also other cosmetic changes to peephole optimization. Review URL: http://codereview.chromium.org/2104006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
http://codereview.chromium.org/2004006 for Subrato De. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/2108006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
benchmark suite thus forming a new candidate benchmark revision: * Remove dead code from RayTrace benchmark. * Avoid repeated number-to-string conversion in Splay. Review URL: http://codereview.chromium.org/2086005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2010 4 commits
-
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/2132003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/2050007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
V8_INTERPRETED_REGEXP (as per Issue 1635001). BUG=none TEST=Ran v8 tests, as well as against current Chromium browser. Review URL: http://codereview.chromium.org/2078005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/2094005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2010 1 commit
-
-
lrn@chromium.org authored
Refactored code so global/non-global regexps are handled in separate functions. Inlined ApplyReplaceFunction at its only call point. Review URL: http://codereview.chromium.org/1994019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 May, 2010 9 commits
-
-
antonm@chromium.org authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/2033009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/2015017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
If --nolazy is on, we compile ArraySort which requires these caches to be set up. Review URL: http://codereview.chromium.org/2025006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Bailout to JS Array builtins if array's prototype is different from Array.prototype. Otherwise there might be inherited elements coming from this prototype. Review URL: http://codereview.chromium.org/2037008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2048007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
Review URL: http://codereview.chromium.org/2054010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/2058005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
arguments in the presence of eval to avoid code duplication. Almost the same code was duplicated for loading properties and calling properties. Review URL: http://codereview.chromium.org/2053003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Make use of the new functionality to make ++ and -- non-spilled operations. Review URL: http://codereview.chromium.org/2041010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 May, 2010 6 commits
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/1990012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
This is a port of r3911 to x64. Review URL: http://codereview.chromium.org/1983005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
shifts by zero or arithmetic shifts. Updated to also eliminate ASR followed by LSL as per part two of http://codereview.chromium.org/1987008/show Review URL: http://codereview.chromium.org/2054007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2014010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Also check more than one character at a time. 16-bit immediates requires a prefix that changes the length of the instruction. This causes predecoder mispredictions and subsequent pipeline stalls. Also removed redundant "atStart" local variable which is equivalent to startIndex == 0. Review URL: http://codereview.chromium.org/1988009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Patch from ry. http://codereview.chromium.org/1990010/show git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 May, 2010 3 commits
-
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/2019007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
codegenerator. The missing scoping breaks the build with some compilers. TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/2036007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
peter.rybin@gmail.com authored
Review URL: http://codereview.chromium.org/1952001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-