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

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

Issue 141043: X64 implementation: Emit correct merge code for virtual frames at CFG merges. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 11 years, 6 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 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 // Store the code object for the given builtin in the target register. 151 // Store the code object for the given builtin in the target register.
152 void GetBuiltinEntry(Register target, Builtins::JavaScript id); 152 void GetBuiltinEntry(Register target, Builtins::JavaScript id);
153 153
154 // --------------------------------------------------------------------------- 154 // ---------------------------------------------------------------------------
155 // Macro instructions 155 // Macro instructions
156 156
157 // Expression support 157 // Expression support
158 void Set(Register dst, int64_t x); 158 void Set(Register dst, int64_t x);
159 void Set(const Operand& dst, int64_t x); 159 void Set(const Operand& dst, int64_t x);
160 160
161 // Handle support
162 bool IsUnsafeSmi(Smi* value);
163 bool IsUnsafeSmi(Handle<Object> value) {
164 return IsUnsafeSmi(Smi::cast(*value));
165 }
166
167 void LoadUnsafeSmi(Register dst, Smi* source);
168 void LoadUnsafeSmi(Register dst, Handle<Object> source) {
169 LoadUnsafeSmi(dst, Smi::cast(*source));
170 }
171
172 void Move(Register dst, Handle<Object> source);
173 void Move(const Operand& dst, Handle<Object> source);
174 void Cmp(Register dst, Handle<Object> source);
175
161 // Control Flow 176 // Control Flow
162 void Jump(Address destination, RelocInfo::Mode rmode); 177 void Jump(Address destination, RelocInfo::Mode rmode);
163 void Jump(ExternalReference ext); 178 void Jump(ExternalReference ext);
164 void Jump(Handle<Code> code_object, RelocInfo::Mode rmode); 179 void Jump(Handle<Code> code_object, RelocInfo::Mode rmode);
165 180
166 void Call(Address destination, RelocInfo::Mode rmode); 181 void Call(Address destination, RelocInfo::Mode rmode);
167 void Call(ExternalReference ext); 182 void Call(ExternalReference ext);
168 void Call(Handle<Code> code_object, RelocInfo::Mode rmode); 183 void Call(Handle<Code> code_object, RelocInfo::Mode rmode);
169 184
170 // Compare object type for heap object. 185 // Compare object type for heap object.
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
389 } \ 404 } \
390 masm-> 405 masm->
391 #else 406 #else
392 #define ACCESS_MASM(masm) masm-> 407 #define ACCESS_MASM(masm) masm->
393 #endif 408 #endif
394 409
395 410
396 } } // namespace v8::internal 411 } } // namespace v8::internal
397 412
398 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 413 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698