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

Unified Diff: src/compiler/interpreter-assembler.cc

Issue 1333843002: [runtime] Move binary operator fallbacks into the runtime. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: No need for frame states in bytecode handlers. Add test case. Created 5 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: src/compiler/interpreter-assembler.cc
diff --git a/src/compiler/interpreter-assembler.cc b/src/compiler/interpreter-assembler.cc
index 085ce7cdf140c2b5ba335c2c0917157b3e828596..052bcf7c63f2737020698550c6c141080df321c6 100644
--- a/src/compiler/interpreter-assembler.cc
+++ b/src/compiler/interpreter-assembler.cc
@@ -271,36 +271,10 @@ Node* InterpreterAssembler::CallIC(CallInterfaceDescriptor descriptor,
}
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver,
- Node** js_args, int js_arg_count) {
- Node* global_object = LoadContextSlot(Context::GLOBAL_OBJECT_INDEX);
- Node* native_context =
- LoadObjectField(global_object, GlobalObject::kNativeContextOffset);
- Node* function = LoadContextSlot(native_context, context_index);
- Node* context = LoadObjectField(function, JSFunction::kContextOffset);
-
- int index = 0;
- Node** args = zone()->NewArray<Node*>(js_arg_count + 2);
- args[index++] = receiver;
- for (int i = 0; i < js_arg_count; i++) {
- args[index++] = js_args[i];
- }
- args[index++] = context;
-
- CallDescriptor* descriptor = Linkage::GetJSCallDescriptor(
- zone(), false, js_arg_count + 1, CallDescriptor::kNoFlags);
- return raw_assembler_->CallN(descriptor, function, args);
-}
-
-
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver) {
- return CallJSBuiltin(context_index, receiver, nullptr, 0);
-}
-
-
-Node* InterpreterAssembler::CallJSBuiltin(int context_index, Node* receiver,
- Node* arg1) {
- return CallJSBuiltin(context_index, receiver, &arg1, 1);
+Node* InterpreterAssembler::CallRuntime(Runtime::FunctionId function_id,
+ Node* arg1, Node* arg2) {
+ return raw_assembler_->CallRuntime2(function_id, arg1, arg2,
+ ContextTaggedPointer());
}

Powered by Google App Engine
This is Rietveld 408576698