OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
453 Register scratch2, | 453 Register scratch2, |
454 Label* miss_label, | 454 Label* miss_label, |
455 bool support_wrappers); | 455 bool support_wrappers); |
456 | 456 |
457 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, | 457 static void GenerateLoadFunctionPrototype(MacroAssembler* masm, |
458 Register receiver, | 458 Register receiver, |
459 Register scratch1, | 459 Register scratch1, |
460 Register scratch2, | 460 Register scratch2, |
461 Label* miss_label); | 461 Label* miss_label); |
462 | 462 |
463 static void GenerateStoreField(MacroAssembler* masm, | 463 void GenerateStoreField(MacroAssembler* masm, |
464 Handle<JSObject> object, | 464 Handle<JSObject> object, |
465 int index, | 465 int index, |
466 Handle<Map> transition, | 466 Handle<Map> transition, |
467 Register receiver_reg, | 467 Handle<String> name, |
468 Register name_reg, | 468 Register receiver_reg, |
469 Register scratch, | 469 Register name_reg, |
470 Label* miss_label); | 470 Register scratch1, |
| 471 Register scratch2, |
| 472 Label* miss_label); |
471 | 473 |
472 static void GenerateLoadMiss(MacroAssembler* masm, | 474 static void GenerateLoadMiss(MacroAssembler* masm, |
473 Code::Kind kind); | 475 Code::Kind kind); |
474 | 476 |
475 static void GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm); | 477 static void GenerateKeyedLoadMissForceGeneric(MacroAssembler* masm); |
476 | 478 |
477 // Generates code that verifies that the property holder has not changed | 479 // Generates code that verifies that the property holder has not changed |
478 // (checking maps of objects in the prototype chain for fast and global | 480 // (checking maps of objects in the prototype chain for fast and global |
479 // objects or doing negative lookup for slow objects, ensures that the | 481 // objects or doing negative lookup for slow objects, ensures that the |
480 // property cells for global objects are still empty) and checks that the map | 482 // property cells for global objects are still empty) and checks that the map |
(...skipping 23 matching lines...) Expand all Loading... |
504 Register CheckPrototypes(Handle<JSObject> object, | 506 Register CheckPrototypes(Handle<JSObject> object, |
505 Register object_reg, | 507 Register object_reg, |
506 Handle<JSObject> holder, | 508 Handle<JSObject> holder, |
507 Register holder_reg, | 509 Register holder_reg, |
508 Register scratch1, | 510 Register scratch1, |
509 Register scratch2, | 511 Register scratch2, |
510 Handle<String> name, | 512 Handle<String> name, |
511 int save_at_depth, | 513 int save_at_depth, |
512 Label* miss); | 514 Label* miss); |
513 | 515 |
| 516 |
514 protected: | 517 protected: |
515 Handle<Code> GetCodeWithFlags(Code::Flags flags, const char* name); | 518 Handle<Code> GetCodeWithFlags(Code::Flags flags, const char* name); |
516 Handle<Code> GetCodeWithFlags(Code::Flags flags, Handle<String> name); | 519 Handle<Code> GetCodeWithFlags(Code::Flags flags, Handle<String> name); |
517 | 520 |
518 MacroAssembler* masm() { return &masm_; } | 521 MacroAssembler* masm() { return &masm_; } |
519 void set_failure(Failure* failure) { failure_ = failure; } | 522 void set_failure(Failure* failure) { failure_ = failure; } |
520 | 523 |
521 void GenerateLoadField(Handle<JSObject> object, | 524 void GenerateLoadField(Handle<JSObject> object, |
522 Handle<JSObject> holder, | 525 Handle<JSObject> holder, |
523 Register receiver, | 526 Register receiver, |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
891 Handle<JSFunction> constant_function_; | 894 Handle<JSFunction> constant_function_; |
892 bool is_simple_api_call_; | 895 bool is_simple_api_call_; |
893 Handle<FunctionTemplateInfo> expected_receiver_type_; | 896 Handle<FunctionTemplateInfo> expected_receiver_type_; |
894 Handle<CallHandlerInfo> api_call_info_; | 897 Handle<CallHandlerInfo> api_call_info_; |
895 }; | 898 }; |
896 | 899 |
897 | 900 |
898 } } // namespace v8::internal | 901 } } // namespace v8::internal |
899 | 902 |
900 #endif // V8_STUB_CACHE_H_ | 903 #endif // V8_STUB_CACHE_H_ |
OLD | NEW |