OLD | NEW |
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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
205 // registers are always clobbered, but the object register is only | 205 // registers are always clobbered, but the object register is only |
206 // clobbered if it the same as the holder register. The function | 206 // clobbered if it the same as the holder register. The function |
207 // returns a register containing the holder - either object_reg or | 207 // returns a register containing the holder - either object_reg or |
208 // holder_reg. | 208 // holder_reg. |
209 Register CheckMaps(JSObject* object, Register object_reg, | 209 Register CheckMaps(JSObject* object, Register object_reg, |
210 JSObject* holder, Register holder_reg, | 210 JSObject* holder, Register holder_reg, |
211 Register scratch, Label* miss); | 211 Register scratch, Label* miss); |
212 | 212 |
213 // Generate code for checking access rights - used for security checks | 213 // Generate code for checking access rights - used for security checks |
214 // on access to global objects across environments. The holder register | 214 // on access to global objects across environments. The holder register |
215 // is left untouched, but the scratch register is clobbered. | 215 // is left untouched, but the scratch register and kScratchRegister, |
| 216 // which must be different, are clobbered. |
216 void CheckAccessGlobalProxy(Register holder_reg, | 217 void CheckAccessGlobalProxy(Register holder_reg, |
217 Register scratch, | 218 Register scratch, |
218 Label* miss); | 219 Label* miss); |
219 | 220 |
220 | 221 |
221 // --------------------------------------------------------------------------- | 222 // --------------------------------------------------------------------------- |
222 // Support functions. | 223 // Support functions. |
223 | 224 |
224 // Check if result is zero and op is negative. | 225 // Check if result is zero and op is negative. |
225 void NegativeZeroTest(Register result, Register op, Label* then_label); | 226 void NegativeZeroTest(Register result, Register op, Label* then_label); |
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
396 } \ | 397 } \ |
397 masm-> | 398 masm-> |
398 #else | 399 #else |
399 #define ACCESS_MASM(masm) masm-> | 400 #define ACCESS_MASM(masm) masm-> |
400 #endif | 401 #endif |
401 | 402 |
402 | 403 |
403 } } // namespace v8::internal | 404 } } // namespace v8::internal |
404 | 405 |
405 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 406 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |