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

Side by Side Diff: src/x64/macro-assembler-x64.cc

Issue 174394: X64: Small changes to let WIN64 platform compile. (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
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 976 matching lines...) Expand 10 before | Expand all | Expand 10 after
987 // TODO(1243899): This should be symmetric to 987 // TODO(1243899): This should be symmetric to
988 // CopyRegistersFromStackToMemory() but it isn't! esp is assumed 988 // CopyRegistersFromStackToMemory() but it isn't! esp is assumed
989 // correct here, but computed for the other call. Very error 989 // correct here, but computed for the other call. Very error
990 // prone! FIX THIS. Actually there are deeper problems with 990 // prone! FIX THIS. Actually there are deeper problems with
991 // register saving than this asymmetry (see the bug report 991 // register saving than this asymmetry (see the bug report
992 // associated with this issue). 992 // associated with this issue).
993 PushRegistersFromMemory(kJSCallerSaved); 993 PushRegistersFromMemory(kJSCallerSaved);
994 } 994 }
995 #endif 995 #endif
996 996
997 // Reserve space for two arguments: argc and argv 997 // Reserve space for the Arguments object. The Windows 64-bit ABI
998 subq(rsp, Immediate(2 * kPointerSize)); 998 // requires us to pass this structure as a pointer to its location on
999 // the stack. We also need backing space for the pointer, even though
1000 // it is passed in a register.
1001 subq(rsp, Immediate(3 * kPointerSize));
999 1002
1000 // Get the required frame alignment for the OS. 1003 // Get the required frame alignment for the OS.
1001 static const int kFrameAlignment = OS::ActivationFrameAlignment(); 1004 static const int kFrameAlignment = OS::ActivationFrameAlignment();
1002 if (kFrameAlignment > 0) { 1005 if (kFrameAlignment > 0) {
1003 ASSERT(IsPowerOf2(kFrameAlignment)); 1006 ASSERT(IsPowerOf2(kFrameAlignment));
1004 movq(kScratchRegister, Immediate(-kFrameAlignment)); 1007 movq(kScratchRegister, Immediate(-kFrameAlignment));
1005 and_(rsp, kScratchRegister); 1008 and_(rsp, kScratchRegister);
1006 } 1009 }
1007 1010
1008 // Patch the saved entry sp. 1011 // Patch the saved entry sp.
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1195 Context::SECURITY_TOKEN_INDEX * kPointerSize; 1198 Context::SECURITY_TOKEN_INDEX * kPointerSize;
1196 movq(scratch, FieldOperand(scratch, token_offset)); 1199 movq(scratch, FieldOperand(scratch, token_offset));
1197 cmpq(scratch, FieldOperand(kScratchRegister, token_offset)); 1200 cmpq(scratch, FieldOperand(kScratchRegister, token_offset));
1198 j(not_equal, miss); 1201 j(not_equal, miss);
1199 1202
1200 bind(&same_contexts); 1203 bind(&same_contexts);
1201 } 1204 }
1202 1205
1203 1206
1204 } } // namespace v8::internal 1207 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698