| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "src/code-stubs.h" | 5 #include "src/code-stubs.h" |
| 6 #include "src/compiler/common-operator.h" | 6 #include "src/compiler/common-operator.h" |
| 7 #include "src/compiler/graph-inl.h" | 7 #include "src/compiler/graph-inl.h" |
| 8 #include "src/compiler/js-generic-lowering.h" | 8 #include "src/compiler/js-generic-lowering.h" |
| 9 #include "src/compiler/machine-operator.h" | 9 #include "src/compiler/machine-operator.h" |
| 10 #include "src/compiler/node-aux-data-inl.h" | 10 #include "src/compiler/node-aux-data-inl.h" |
| (...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 REPLACE_RUNTIME_CALL(JSCreateModuleContext, Runtime::kPushModuleContext) | 279 REPLACE_RUNTIME_CALL(JSCreateModuleContext, Runtime::kPushModuleContext) |
| 280 REPLACE_RUNTIME_CALL(JSCreateGlobalContext, Runtime::kAbort) | 280 REPLACE_RUNTIME_CALL(JSCreateGlobalContext, Runtime::kAbort) |
| 281 #undef REPLACE_RUNTIME | 281 #undef REPLACE_RUNTIME |
| 282 | 282 |
| 283 | 283 |
| 284 #define REPLACE_UNIMPLEMENTED(op) \ | 284 #define REPLACE_UNIMPLEMENTED(op) \ |
| 285 Node* JSGenericLowering::Lower##op(Node* node) { \ | 285 Node* JSGenericLowering::Lower##op(Node* node) { \ |
| 286 UNIMPLEMENTED(); \ | 286 UNIMPLEMENTED(); \ |
| 287 return node; \ | 287 return node; \ |
| 288 } | 288 } |
| 289 REPLACE_UNIMPLEMENTED(JSToString) | |
| 290 REPLACE_UNIMPLEMENTED(JSToName) | 289 REPLACE_UNIMPLEMENTED(JSToName) |
| 291 REPLACE_UNIMPLEMENTED(JSYield) | 290 REPLACE_UNIMPLEMENTED(JSYield) |
| 292 REPLACE_UNIMPLEMENTED(JSDebugger) | 291 REPLACE_UNIMPLEMENTED(JSDebugger) |
| 293 #undef REPLACE_UNIMPLEMENTED | 292 #undef REPLACE_UNIMPLEMENTED |
| 294 | 293 |
| 295 | 294 |
| 296 static CallDescriptor::Flags FlagsForNode(Node* node) { | 295 static CallDescriptor::Flags FlagsForNode(Node* node) { |
| 297 CallDescriptor::Flags result = CallDescriptor::kNoFlags; | 296 CallDescriptor::Flags result = CallDescriptor::kNoFlags; |
| 298 if (OperatorProperties::CanLazilyDeoptimize(node->op())) { | 297 if (OperatorProperties::CanLazilyDeoptimize(node->op())) { |
| 299 result |= CallDescriptor::kLazyDeoptimization; | 298 result |= CallDescriptor::kLazyDeoptimization; |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 404 } | 403 } |
| 405 | 404 |
| 406 | 405 |
| 407 Node* JSGenericLowering::LowerJSToBoolean(Node* node) { | 406 Node* JSGenericLowering::LowerJSToBoolean(Node* node) { |
| 408 ToBooleanStub stub(isolate(), ToBooleanStub::RESULT_AS_ODDBALL); | 407 ToBooleanStub stub(isolate(), ToBooleanStub::RESULT_AS_ODDBALL); |
| 409 ReplaceWithStubCall(node, &stub, CallDescriptor::kPatchableCallSite); | 408 ReplaceWithStubCall(node, &stub, CallDescriptor::kPatchableCallSite); |
| 410 return node; | 409 return node; |
| 411 } | 410 } |
| 412 | 411 |
| 413 | 412 |
| 413 Node* JSGenericLowering::LowerJSToString(Node* node) { |
| 414 ReplaceWithBuiltinCall(node, Builtins::TO_STRING, 1); |
| 415 return node; |
| 416 } |
| 417 |
| 418 |
| 414 Node* JSGenericLowering::LowerJSToObject(Node* node) { | 419 Node* JSGenericLowering::LowerJSToObject(Node* node) { |
| 415 ReplaceWithBuiltinCall(node, Builtins::TO_OBJECT, 1); | 420 ReplaceWithBuiltinCall(node, Builtins::TO_OBJECT, 1); |
| 416 return node; | 421 return node; |
| 417 } | 422 } |
| 418 | 423 |
| 419 | 424 |
| 420 Node* JSGenericLowering::LowerJSLoadProperty(Node* node) { | 425 Node* JSGenericLowering::LowerJSLoadProperty(Node* node) { |
| 421 KeyedLoadICStubShim stub(isolate()); | 426 KeyedLoadICStubShim stub(isolate()); |
| 422 ReplaceWithStubCall(node, &stub, CallDescriptor::kPatchableCallSite); | 427 ReplaceWithStubCall(node, &stub, CallDescriptor::kPatchableCallSite); |
| 423 return node; | 428 return node; |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 548 Node* JSGenericLowering::LowerJSCallRuntime(Node* node) { | 553 Node* JSGenericLowering::LowerJSCallRuntime(Node* node) { |
| 549 Runtime::FunctionId function = OpParameter<Runtime::FunctionId>(node); | 554 Runtime::FunctionId function = OpParameter<Runtime::FunctionId>(node); |
| 550 int arity = OperatorProperties::GetValueInputCount(node->op()); | 555 int arity = OperatorProperties::GetValueInputCount(node->op()); |
| 551 ReplaceWithRuntimeCall(node, function, arity); | 556 ReplaceWithRuntimeCall(node, function, arity); |
| 552 return node; | 557 return node; |
| 553 } | 558 } |
| 554 | 559 |
| 555 } // namespace compiler | 560 } // namespace compiler |
| 556 } // namespace internal | 561 } // namespace internal |
| 557 } // namespace v8 | 562 } // namespace v8 |
| OLD | NEW |