Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(408)

Side by Side Diff: src/x64/codegen-x64.cc

Issue 171104: Remove one of the GCs performed by the --gc-greedy flag. The GC performed by... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/x64/builtins-x64.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 6932 matching lines...) Expand 10 before | Expand all | Expand 10 after
6943 // of rax is then passed to Runtime::PerformGC. 6943 // of rax is then passed to Runtime::PerformGC.
6944 // rbx: pointer to builtin function (C callee-saved). 6944 // rbx: pointer to builtin function (C callee-saved).
6945 // rbp: frame pointer of exit frame (restored after C call). 6945 // rbp: frame pointer of exit frame (restored after C call).
6946 // rsp: stack pointer (restored after C call). 6946 // rsp: stack pointer (restored after C call).
6947 // r14: number of arguments including receiver (C callee-saved). 6947 // r14: number of arguments including receiver (C callee-saved).
6948 // r15: argv pointer (C callee-saved). 6948 // r15: argv pointer (C callee-saved).
6949 6949
6950 Label throw_out_of_memory_exception; 6950 Label throw_out_of_memory_exception;
6951 Label throw_normal_exception; 6951 Label throw_normal_exception;
6952 6952
6953 // Call into the runtime system. Collect garbage before the call if 6953 // Call into the runtime system.
6954 // running with --gc-greedy set.
6955 if (FLAG_gc_greedy) {
6956 Failure* failure = Failure::RetryAfterGC(0);
6957 __ movq(rax, failure, RelocInfo::NONE);
6958 }
6959 GenerateCore(masm, 6954 GenerateCore(masm,
6960 &throw_normal_exception, 6955 &throw_normal_exception,
6961 &throw_out_of_memory_exception, 6956 &throw_out_of_memory_exception,
6962 frame_type, 6957 frame_type,
6963 FLAG_gc_greedy, 6958 false,
6964 false); 6959 false);
6965 6960
6966 // Do space-specific GC and retry runtime call. 6961 // Do space-specific GC and retry runtime call.
6967 GenerateCore(masm, 6962 GenerateCore(masm,
6968 &throw_normal_exception, 6963 &throw_normal_exception,
6969 &throw_out_of_memory_exception, 6964 &throw_out_of_memory_exception,
6970 frame_type, 6965 frame_type,
6971 true, 6966 true,
6972 false); 6967 false);
6973 6968
(...skipping 713 matching lines...) Expand 10 before | Expand all | Expand 10 after
7687 int CompareStub::MinorKey() { 7682 int CompareStub::MinorKey() {
7688 // Encode the two parameters in a unique 16 bit value. 7683 // Encode the two parameters in a unique 16 bit value.
7689 ASSERT(static_cast<unsigned>(cc_) < (1 << 15)); 7684 ASSERT(static_cast<unsigned>(cc_) < (1 << 15));
7690 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0); 7685 return (static_cast<unsigned>(cc_) << 1) | (strict_ ? 1 : 0);
7691 } 7686 }
7692 7687
7693 7688
7694 #undef __ 7689 #undef __
7695 7690
7696 } } // namespace v8::internal 7691 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/x64/builtins-x64.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698