| Index: src/compiler/ast-graph-builder.cc
|
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
|
| index fd395633e8a61767b414866414725103d29498c7..882ff04b98ca685c047428531dec374503f0df53 100644
|
| --- a/src/compiler/ast-graph-builder.cc
|
| +++ b/src/compiler/ast-graph-builder.cc
|
| @@ -1386,8 +1386,6 @@ void AstGraphBuilder::VisitForOfStatement(ForOfStatement* stmt) {
|
|
|
| void AstGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
|
| TryCatchBuilder try_control(this);
|
| - ExternalReference message_object =
|
| - ExternalReference::address_of_pending_message_obj(isolate());
|
|
|
| // Evaluate the try-block inside a control scope. This simulates a handler
|
| // that is intercepting 'throw' control commands.
|
| @@ -1411,7 +1409,7 @@ void AstGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
|
|
|
| // Clear message object as we enter the catch block.
|
| Node* the_hole = jsgraph()->TheHoleConstant();
|
| - BuildStoreExternal(message_object, kMachAnyTagged, the_hole);
|
| + NewNode(javascript()->StoreMessage(), the_hole);
|
|
|
| // Create a catch scope that binds the exception.
|
| Node* exception = try_control.GetExceptionNode();
|
| @@ -1427,8 +1425,6 @@ void AstGraphBuilder::VisitTryCatchStatement(TryCatchStatement* stmt) {
|
|
|
| void AstGraphBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
|
| TryFinallyBuilder try_control(this);
|
| - ExternalReference message_object =
|
| - ExternalReference::address_of_pending_message_obj(isolate());
|
|
|
| // We keep a record of all paths that enter the finally-block to be able to
|
| // dispatch to the correct continuation point after the statements in the
|
| @@ -1473,14 +1469,14 @@ void AstGraphBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
|
|
|
| // The result value, dispatch token and message is expected on the operand
|
| // stack (this is in sync with FullCodeGenerator::EnterFinallyBlock).
|
| - Node* message = BuildLoadExternal(message_object, kMachAnyTagged);
|
| + Node* message = NewNode(javascript()->LoadMessage());
|
| environment()->Push(token); // TODO(mstarzinger): Cook token!
|
| environment()->Push(result);
|
| environment()->Push(message);
|
|
|
| // Clear message object as we enter the finally block.
|
| Node* the_hole = jsgraph()->TheHoleConstant();
|
| - BuildStoreExternal(message_object, kMachAnyTagged, the_hole);
|
| + NewNode(javascript()->StoreMessage(), the_hole);
|
|
|
| // Evaluate the finally-block.
|
| Visit(stmt->finally_block());
|
| @@ -1491,7 +1487,7 @@ void AstGraphBuilder::VisitTryFinallyStatement(TryFinallyStatement* stmt) {
|
| message = environment()->Pop();
|
| result = environment()->Pop();
|
| token = environment()->Pop(); // TODO(mstarzinger): Uncook token!
|
| - BuildStoreExternal(message_object, kMachAnyTagged, message);
|
| + NewNode(javascript()->StoreMessage(), message);
|
|
|
| // Dynamic dispatch after the finally-block.
|
| commands->ApplyDeferredCommands(token, result);
|
| @@ -3678,23 +3674,6 @@ Node* AstGraphBuilder::BuildLoadFeedbackVector() {
|
| }
|
|
|
|
|
| -Node* AstGraphBuilder::BuildLoadExternal(ExternalReference reference,
|
| - MachineType type) {
|
| - return NewNode(jsgraph()->machine()->Load(type),
|
| - jsgraph()->ExternalConstant(reference),
|
| - jsgraph()->IntPtrConstant(0));
|
| -}
|
| -
|
| -
|
| -Node* AstGraphBuilder::BuildStoreExternal(ExternalReference reference,
|
| - MachineType type, Node* value) {
|
| - StoreRepresentation representation(type, kNoWriteBarrier);
|
| - return NewNode(jsgraph()->machine()->Store(representation),
|
| - jsgraph()->ExternalConstant(reference),
|
| - jsgraph()->IntPtrConstant(0), value);
|
| -}
|
| -
|
| -
|
| Node* AstGraphBuilder::BuildToBoolean(Node* input) {
|
| if (Node* node = TryFastToBoolean(input)) return node;
|
| return NewNode(javascript()->ToBoolean(), input);
|
|
|