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

Unified Diff: src/compiler/compiler-source-position-table.h

Issue 2451853002: Uniform and precise source positions for inlining (Closed)
Patch Set: fixed gcmole issue Created 4 years, 1 month 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/compiler-source-position-table.h
diff --git a/src/compiler/source-position.h b/src/compiler/compiler-source-position-table.h
similarity index 63%
rename from src/compiler/source-position.h
rename to src/compiler/compiler-source-position-table.h
index 3078d0652ff9c5faf11ebf04c132ae3af1d43d8a..4d14ae28113bd44d522578e3e76649eb11ad5f0f 100644
--- a/src/compiler/source-position.h
+++ b/src/compiler/compiler-source-position-table.h
@@ -2,43 +2,18 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef V8_COMPILER_SOURCE_POSITION_H_
-#define V8_COMPILER_SOURCE_POSITION_H_
+#ifndef V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_
+#define V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_
#include "src/base/compiler-specific.h"
#include "src/compiler/node-aux-data.h"
#include "src/globals.h"
+#include "src/source-position.h"
namespace v8 {
namespace internal {
namespace compiler {
-// Encapsulates encoding and decoding of sources positions from which Nodes
-// originated.
-class SourcePosition final {
- public:
- explicit SourcePosition(int raw = kUnknownPosition) : raw_(raw) {}
-
- static SourcePosition Unknown() { return SourcePosition(kUnknownPosition); }
- bool IsUnknown() const { return raw() == kUnknownPosition; }
- bool IsKnown() const { return raw() != kUnknownPosition; }
-
- int raw() const { return raw_; }
-
- private:
- static const int kUnknownPosition = kNoSourcePosition;
- int raw_;
-};
-
-
-inline bool operator==(const SourcePosition& lhs, const SourcePosition& rhs) {
- return lhs.raw() == rhs.raw();
-}
-
-inline bool operator!=(const SourcePosition& lhs, const SourcePosition& rhs) {
- return !(lhs == rhs);
-}
-
class V8_EXPORT_PRIVATE SourcePositionTable final
: public NON_EXPORTED_BASE(ZoneObject) {
public:
@@ -74,8 +49,8 @@ class V8_EXPORT_PRIVATE SourcePositionTable final
SourcePosition GetSourcePosition(Node* node) const;
void SetSourcePosition(Node* node, SourcePosition position);
- void set_current_position(int position) {
- current_position_ = SourcePosition(position);
+ void SetCurrentPosition(const SourcePosition& pos) {
+ current_position_ = pos;
}
void Print(std::ostream& os) const;
@@ -86,7 +61,7 @@ class V8_EXPORT_PRIVATE SourcePositionTable final
Graph* const graph_;
Decorator* decorator_;
SourcePosition current_position_;
- NodeAuxData<SourcePosition> table_;
+ NodeAuxData<SourcePosition, SourcePosition::Unknown> table_;
DISALLOW_COPY_AND_ASSIGN(SourcePositionTable);
};
@@ -95,4 +70,4 @@ class V8_EXPORT_PRIVATE SourcePositionTable final
} // namespace internal
} // namespace v8
-#endif // V8_COMPILER_SOURCE_POSITION_H_
+#endif // V8_COMPILER_COMPILER_SOURCE_POSITION_TABLE_H_

Powered by Google App Engine
This is Rietveld 408576698