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

Side by Side Diff: src/assembler.cc

Issue 6170001: Direct call api functions (arm implementation) (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 9 years, 11 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 (c) 1994-2006 Sun Microsystems Inc. 1 // Copyright (c) 1994-2006 Sun Microsystems Inc.
2 // All Rights Reserved. 2 // All Rights Reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // - Redistributions of source code must retain the above copyright notice, 8 // - Redistributions of source code must retain the above copyright notice,
9 // this list of conditions and the following disclaimer. 9 // this list of conditions and the following disclaimer.
10 // 10 //
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 #endif // DEBUG 545 #endif // DEBUG
546 546
547 547
548 // ----------------------------------------------------------------------------- 548 // -----------------------------------------------------------------------------
549 // Implementation of ExternalReference 549 // Implementation of ExternalReference
550 550
551 ExternalReference::ExternalReference(Builtins::CFunctionId id) 551 ExternalReference::ExternalReference(Builtins::CFunctionId id)
552 : address_(Redirect(Builtins::c_function_address(id))) {} 552 : address_(Redirect(Builtins::c_function_address(id))) {}
553 553
554 554
555 ExternalReference::ExternalReference(ApiFunction* fun) 555 ExternalReference::ExternalReference(
556 : address_(Redirect(fun->address())) {} 556 ApiFunction* fun, bool fp_return = false,
557 Type type = ExternalReference::BUILTIN_CALL)
558 : address_(Redirect(fun->address(), fp_return, type)) {}
557 559
558 560
559 ExternalReference::ExternalReference(Builtins::Name name) 561 ExternalReference::ExternalReference(Builtins::Name name)
560 : address_(Builtins::builtin_address(name)) {} 562 : address_(Builtins::builtin_address(name)) {}
561 563
562 564
563 ExternalReference::ExternalReference(Runtime::FunctionId id) 565 ExternalReference::ExternalReference(Runtime::FunctionId id)
564 : address_(Redirect(Runtime::FunctionForId(id)->entry)) {} 566 : address_(Redirect(Runtime::FunctionForId(id)->entry)) {}
565 567
566 568
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
884 return ExternalReference(Redirect(FUNCTION_ADDR(function), true)); 886 return ExternalReference(Redirect(FUNCTION_ADDR(function), true));
885 } 887 }
886 888
887 889
888 ExternalReference ExternalReference::compare_doubles() { 890 ExternalReference ExternalReference::compare_doubles() {
889 return ExternalReference(Redirect(FUNCTION_ADDR(native_compare_doubles), 891 return ExternalReference(Redirect(FUNCTION_ADDR(native_compare_doubles),
890 false)); 892 false));
891 } 893 }
892 894
893 895
896 ExternalReference::
894 ExternalReferenceRedirector* ExternalReference::redirector_ = NULL; 897 ExternalReferenceRedirector* ExternalReference::redirector_ = NULL;
895 898
896 899
897 #ifdef ENABLE_DEBUGGER_SUPPORT 900 #ifdef ENABLE_DEBUGGER_SUPPORT
898 ExternalReference ExternalReference::debug_break() { 901 ExternalReference ExternalReference::debug_break() {
899 return ExternalReference(Redirect(FUNCTION_ADDR(Debug::Break))); 902 return ExternalReference(Redirect(FUNCTION_ADDR(Debug::Break)));
900 } 903 }
901 904
902 905
903 ExternalReference ExternalReference::debug_step_in_fp_address() { 906 ExternalReference ExternalReference::debug_step_in_fp_address() {
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
941 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position); 944 assembler_->RecordRelocInfo(RelocInfo::POSITION, state_.current_position);
942 state_.written_position = state_.current_position; 945 state_.written_position = state_.current_position;
943 written = true; 946 written = true;
944 } 947 }
945 948
946 // Return whether something was written. 949 // Return whether something was written.
947 return written; 950 return written;
948 } 951 }
949 952
950 } } // namespace v8::internal 953 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698