- 24 Sep, 2010 1 commit
-
-
kmillikin@chromium.org authored
For some reason, the scope's arguments and arguments shadow were variable proxies, which resulted in all references to the arguments shadow being shared in the AST. This makes it hard to put per-node state on the AST nodes. I took the opportunity to remove Variable::AsVariable which has confused people in the past, and to rename Variable::slot to the more accurate Variable::AsSlot. Review URL: http://codereview.chromium.org/3432022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2010 1 commit
-
-
kasperl@chromium.org authored
a dummy receiver that we end up ignoring anyway. Review URL: http://codereview.chromium.org/3136032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jul, 2010 2 commits
-
-
whesse@chromium.org authored
Remove VirtualFrame::CallStoreIC(void) and CallCommonStoreIC from virtual-frame-x64.cc. Make implementations of CallStoreIC(key, is_contextual) and CallKeyedStoreIC() the same on x64 and ia32. Make ia32 and x64 implementations more alike by moving some functions and changing comments. Review URL: http://codereview.chromium.org/3060002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/3050008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jun, 2010 1 commit
-
-
lrn@chromium.org authored
Fix bug in disassembler output (using non-generic registers for memory operands in some cases). Fix bug in movsxbq and make REX optional in movzx?q. Review URL: http://codereview.chromium.org/2834027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2010 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/2815028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jun, 2010 1 commit
-
-
lrn@chromium.org authored
Align deferred code blocks to 16-byte address boundaries. Review URL: http://codereview.chromium.org/2855018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Jun, 2010 1 commit
-
-
kaznacheev@chromium.org authored
Also edited ic-ia32.cc for clarity and better formatting. Review URL: http://codereview.chromium.org/2853003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jun, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2470001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 May, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2330003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2010 1 commit
-
-
whesse@chromium.org authored
Change keyed store IC interface on x64 to take value, key, and receiver in registers rather than on the stack. Review URL: http://codereview.chromium.org/2111011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2010 1 commit
-
-
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
-
- 30 Apr, 2010 1 commit
-
-
whesse@chromium.org authored
Cut-and-paste port from ia32 to x64: Delay load of trivial left operand of binary operation until after right operand loaded. Review URL: http://codereview.chromium.org/1736023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2010 1 commit
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/1623004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2010 1 commit
-
-
fschneider@chromium.org authored
Since we add more type (StringType, PrimitiveType) the name NumberInfo does not make sense anymore. Review URL: http://codereview.chromium.org/1207006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Mar, 2010 1 commit
-
-
fschneider@chromium.org authored
Instead of testing the value of a constant frame element to determine the type we compute its type information at construction time. This speeds up querying the type information during code generation. This change also adds support for Integer32 constants and sets the type information accordingly. Review URL: http://codereview.chromium.org/1277001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4256 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Mar, 2010 1 commit
-
-
erik.corry@gmail.com authored
Makes NumberInfo into a real class. Fix bug where NumberInfo was lost in ToRegister. Allow 17 bits in safe Smis instead of 16. Review URL: http://codereview.chromium.org/668151 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Feb, 2010 2 commits
-
-
fschneider@chromium.org authored
Move a constructor to the platform-independent -inl.h file. Review URL: http://codereview.chromium.org/660175 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Introducing a virtual-frame-inl.h file containing some platform-independent virtual frame function which are small enough to be inlined. Removed unnecessary #include of virtual-frame.h from register-allocator-inl.h and added the necessary explicit includes in a number of files. Review URL: http://codereview.chromium.org/660104 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Feb, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/618006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Feb, 2010 1 commit
-
-
fschneider@chromium.org authored
Each frame element gets a new attribute with number type information. A frame element can be: - smi - heap number - number (i.e. either of the above) - or something else. The type information is propagated along with all virtual frame operations. Results popped from the frame carry the number information with them. Two optimizations in the code generator make use of the new information: - GenericBinaryOpSyub omits map checks if input operands are numbers. - Boolean conversion for numbers: Emit inline code for converting a number (smi or heap number) to boolean. Do not emit call to ToBoolean stub in this case. Review URL: http://codereview.chromium.org/545007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/596036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Feb, 2010 1 commit
-
-
http://codereview.chromium.org/561049serya@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Feb, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/558069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Dec, 2009 1 commit
-
-
fschneider@chromium.org authored
If a function contains more than a certain number of locals (IA32: 9, X64: 6, ARM: 4) a loop for initializing the locals with 'undefined' is more compact. For less locals we unroll that loop by emitting a sequence of push instructions. Review URL: http://codereview.chromium.org/515012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Nov, 2009 1 commit
-
-
ager@chromium.org authored
leads to stack corruption in 32-bit version of V8. See http://code.google.com/p/chromium/issues/detail?id=27227 for a reproducible case. Since this is only an issue on 32-bit V8 I think this has got something to do with the UnsafeSmi handling that we do on ia32. I'm reverting for now so we can push a fix, but we should track down the issue and create a regression test for this. Review URL: http://codereview.chromium.org/383005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Oct, 2009 3 commits
-
-
lrn@chromium.org authored
And fix bug in debug-mode of 32-bit smi. Review URL: http://codereview.chromium.org/261024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/196139 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
--debug-code so it is not normally compiled in debug builds. Review URL: http://codereview.chromium.org/268014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Oct, 2009 1 commit
-
-
fschneider@chromium.org authored
emit 'push' instead of 'sub esp, xxx' followed by 'mov' instructions Reduces generated code size by 10-15% on several benchmarks. Done on ia32 and x64 (no sync operation in the virtual frame on ARM architecture) Review URL: http://codereview.chromium.org/259058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2009 1 commit
-
-
lrn@chromium.org authored
First step in changing Smi representation. Review URL: http://codereview.chromium.org/196077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Aug, 2009 1 commit
-
-
erik.corry@gmail.com authored
This only wins us around 1% in performance, but it makes the code more compact. We don't currently have a way to represent in the virtual frame that a slot contains a value from the root array. Adding this would probably make the code more compact. Review URL: http://codereview.chromium.org/174639 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Aug, 2009 1 commit
-
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/164251 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Jun, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/147198 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jun, 2009 2 commits
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/149002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/147141 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jun, 2009 3 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/146082 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
The complexity of static type inference never really paid off, and as an analysis it didn't fit well with codegen frame propagation. Review URL: http://codereview.chromium.org/146077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
and for runtime calls. We could not handle functions with no explicit return statement. I added support for that as well. The place was hard to find because code was left out from the codegenerator with no TODO comment. We need to make sure to comment if we leave out code when porting something. :-) Review URL: http://codereview.chromium.org/146029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jun, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/146022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-