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

Unified Diff: src/elements.h

Issue 223413002: Partial recover from performance degradation after handlification of ElementsAccessor::CopyElements… (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 9 months 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/elements.h
diff --git a/src/elements.h b/src/elements.h
index 44644abd929abd6972608873cfeb50ada33d0af1..379e7ff5bc571351ae1da043db69b542a51def08 100644
--- a/src/elements.h
+++ b/src/elements.h
@@ -69,8 +69,12 @@ class ElementsAccessor {
Handle<Object> receiver,
Handle<JSObject> holder,
uint32_t key,
- Handle<FixedArrayBase> backing_store =
- Handle<FixedArrayBase>::null()) = 0;
+ Handle<FixedArrayBase> backing_store) = 0;
+
+ MUST_USE_RESULT virtual Handle<Object> Get(
+ Handle<Object> receiver,
+ Handle<JSObject> holder,
+ uint32_t key) = 0;
MUST_USE_RESULT virtual MaybeObject* Get(
Object* receiver,
@@ -151,21 +155,27 @@ class ElementsAccessor {
// store is available, it can be passed in source and source_holder is
// ignored.
virtual void CopyElements(
- Handle<JSObject> source_holder,
+ Handle<FixedArrayBase> source,
+ uint32_t source_start,
+ ElementsKind source_kind,
+ Handle<FixedArrayBase> destination,
+ uint32_t destination_start,
+ int copy_size) = 0;
+
+ virtual void CopyElements(
+ JSObject* source_holder,
uint32_t source_start,
ElementsKind source_kind,
Handle<FixedArrayBase> destination,
uint32_t destination_start,
- int copy_size,
- Handle<FixedArrayBase> source = Handle<FixedArrayBase>::null()) = 0;
+ int copy_size) = 0;
- void CopyElements(
- Handle<JSObject> from_holder,
+ inline void CopyElements(
+ JSObject* from_holder,
Handle<FixedArrayBase> to,
- ElementsKind from_kind,
- Handle<FixedArrayBase> from = Handle<FixedArrayBase>::null()) {
- CopyElements(from_holder, 0, from_kind, to, 0,
- kCopyToEndAndInitializeToHole, from);
+ ElementsKind from_kind) {
+ CopyElements(
+ from_holder, 0, from_kind, to, 0, kCopyToEndAndInitializeToHole);
}
MUST_USE_RESULT virtual MaybeObject* AddElementsToFixedArray(

Powered by Google App Engine
This is Rietveld 408576698