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