| OLD | NEW | 
|---|
| 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 511 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 522 | 522 | 
| 523   // Generates code that verifies that the maps of objects in the | 523   // Generates code that verifies that the maps of objects in the | 
| 524   // prototype chain of object hasn't changed since the code was | 524   // prototype chain of object hasn't changed since the code was | 
| 525   // generated and branches to the miss label if any map has. If | 525   // generated and branches to the miss label if any map has. If | 
| 526   // necessary the function also generates code for security check | 526   // necessary the function also generates code for security check | 
| 527   // in case of global object holders. The scratch and holder | 527   // in case of global object holders. The scratch and holder | 
| 528   // registers are always clobbered, but the object register is only | 528   // registers are always clobbered, but the object register is only | 
| 529   // clobbered if it the same as the holder register. The function | 529   // clobbered if it the same as the holder register. The function | 
| 530   // returns a register containing the holder - either object_reg or | 530   // returns a register containing the holder - either object_reg or | 
| 531   // holder_reg. | 531   // holder_reg. | 
|  | 532   // The function can optionally (when save_at_depth != | 
|  | 533   // kInvalidProtoDepth) save the object at the given depth by moving | 
|  | 534   // it to [rsp + kPointerSize]. | 
| 532   Register CheckMaps(JSObject* object, Register object_reg, | 535   Register CheckMaps(JSObject* object, Register object_reg, | 
| 533                      JSObject* holder, Register holder_reg, | 536                      JSObject* holder, Register holder_reg, | 
| 534                      Register scratch, Label* miss); | 537                      Register scratch, | 
|  | 538                      int save_at_depth, | 
|  | 539                      Label* miss); | 
| 535 | 540 | 
| 536   // Generate code for checking access rights - used for security checks | 541   // Generate code for checking access rights - used for security checks | 
| 537   // on access to global objects across environments. The holder register | 542   // on access to global objects across environments. The holder register | 
| 538   // is left untouched, but the scratch register and kScratchRegister, | 543   // is left untouched, but the scratch register and kScratchRegister, | 
| 539   // which must be different, are clobbered. | 544   // which must be different, are clobbered. | 
| 540   void CheckAccessGlobalProxy(Register holder_reg, | 545   void CheckAccessGlobalProxy(Register holder_reg, | 
| 541                               Register scratch, | 546                               Register scratch, | 
| 542                               Label* miss); | 547                               Label* miss); | 
| 543 | 548 | 
| 544 | 549 | 
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 829   }                                                                       \ | 834   }                                                                       \ | 
| 830   masm-> | 835   masm-> | 
| 831 #else | 836 #else | 
| 832 #define ACCESS_MASM(masm) masm-> | 837 #define ACCESS_MASM(masm) masm-> | 
| 833 #endif | 838 #endif | 
| 834 | 839 | 
| 835 | 840 | 
| 836 } }  // namespace v8::internal | 841 } }  // namespace v8::internal | 
| 837 | 842 | 
| 838 #endif  // V8_X64_MACRO_ASSEMBLER_X64_H_ | 843 #endif  // V8_X64_MACRO_ASSEMBLER_X64_H_ | 
| OLD | NEW | 
|---|