Sha256: bc61055ce8ab777012c39b4f079c2f7d580153f092d1065a00202b8784a18cd9

Contents?: true

Size: 1.59 KB

Versions: 4

Compression:

Stored size: 1.59 KB

Contents

// Copyright 2014 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef V8_IC_IC_COMPILER_H_
#define V8_IC_IC_COMPILER_H_

#include "src/ic/access-compiler.h"

namespace v8 {
namespace internal {


class PropertyICCompiler : public PropertyAccessCompiler {
 public:
  // Keyed
  static Handle<Code> ComputeKeyedStoreMonomorphicHandler(
      Handle<Map> receiver_map, KeyedAccessStoreMode store_mode);
  static void ComputeKeyedStorePolymorphicHandlers(
      MapHandleList* receiver_maps, MapHandleList* transitioned_maps,
      CodeHandleList* handlers, KeyedAccessStoreMode store_mode);

  // Helpers
  // TODO(verwaest): Move all uses of these helpers to the PropertyICCompiler
  // and make the helpers private.
  static void GenerateRuntimeSetProperty(MacroAssembler* masm,
                                         LanguageMode language_mode);


 private:
  explicit PropertyICCompiler(Isolate* isolate)
      : PropertyAccessCompiler(isolate, Code::KEYED_STORE_IC,
                               kCacheOnReceiver) {}

  Handle<Code> CompileKeyedStoreMonomorphicHandler(
      Handle<Map> receiver_map, KeyedAccessStoreMode store_mode);
  void CompileKeyedStorePolymorphicHandlers(MapHandleList* receiver_maps,
                                            MapHandleList* transitioned_maps,
                                            CodeHandleList* handlers,
                                            KeyedAccessStoreMode store_mode);
};


}  // namespace internal
}  // namespace v8

#endif  // V8_IC_IC_COMPILER_H_

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
node-compiler-0.9.1 vendor/node/deps/v8/src/ic/ic-compiler.h
node-compiler-0.9.0 vendor/node-v7.2.1/deps/v8/src/ic/ic-compiler.h
node-compiler-0.8.0 vendor/node-v7.2.0/deps/v8/src/ic/ic-compiler.h
node-compiler-0.7.0 vendor/node-v7.1.0/deps/v8/src/ic/ic-compiler.h