LCOV - code coverage report
Current view: top level - src/builtins - builtins-symbol-gen.cc (source / functions) Hit Total Coverage
Test: app.info Lines: 13 13 100.0 %
Date: 2017-04-26 Functions: 6 6 100.0 %

          Line data    Source code
       1             : // Copyright 2017 the V8 project authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file.
       4             : 
       5             : #include "src/builtins/builtins-utils-gen.h"
       6             : #include "src/builtins/builtins.h"
       7             : #include "src/code-stub-assembler.h"
       8             : 
       9             : namespace v8 {
      10             : namespace internal {
      11             : 
      12             : // -----------------------------------------------------------------------------
      13             : // ES6 #sec-symbol-objects
      14             : 
      15             : // ES6 #sec-symbol.prototype-@@toprimitive
      16         129 : TF_BUILTIN(SymbolPrototypeToPrimitive, CodeStubAssembler) {
      17             :   Node* context = Parameter(Descriptor::kContext);
      18             :   Node* receiver = Parameter(Descriptor::kReceiver);
      19             : 
      20             :   Node* result = ToThisValue(context, receiver, PrimitiveType::kSymbol,
      21          43 :                              "Symbol.prototype [ @@toPrimitive ]");
      22          43 :   Return(result);
      23          43 : }
      24             : 
      25             : // ES6 #sec-symbol.prototype.tostring
      26         129 : TF_BUILTIN(SymbolPrototypeToString, CodeStubAssembler) {
      27             :   Node* context = Parameter(Descriptor::kContext);
      28             :   Node* receiver = Parameter(Descriptor::kReceiver);
      29             : 
      30             :   Node* value = ToThisValue(context, receiver, PrimitiveType::kSymbol,
      31          43 :                             "Symbol.prototype.toString");
      32          43 :   Node* result = CallRuntime(Runtime::kSymbolDescriptiveString, context, value);
      33          43 :   Return(result);
      34          43 : }
      35             : 
      36             : // ES6 #sec-symbol.prototype.valueof
      37         129 : TF_BUILTIN(SymbolPrototypeValueOf, CodeStubAssembler) {
      38             :   Node* context = Parameter(Descriptor::kContext);
      39             :   Node* receiver = Parameter(Descriptor::kReceiver);
      40             : 
      41             :   Node* result = ToThisValue(context, receiver, PrimitiveType::kSymbol,
      42          43 :                              "Symbol.prototype.valueOf");
      43          43 :   Return(result);
      44          43 : }
      45             : 
      46             : }  // namespace internal
      47             : }  // namespace v8

Generated by: LCOV version 1.10