Reviewers: ulan,
Message:
PTAL
Description:
Allow code to be cached in shared maps.
Please review this at https://chromiumcodereview.appspot.com/25058004/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+0, -21 lines):
M src/objects.h
M src/objects.cc
Index: src/objects.cc
diff --git a/src/objects.cc b/src/objects.cc
index
9ddb6ff497e414313707d583793e696977518f3f..d92dfef27114ed1917504352662810c7e89acce2
100644
--- a/src/objects.cc
+++ b/src/objects.cc
@@ -4449,16 +4449,6 @@ void
HeapObject::UpdateMapCodeCache(Handle<HeapObject> object,
Handle<Name> name,
Handle<Code> code) {
Handle<Map> map(object->map());
- if (map->is_shared()) {
- Handle<JSObject> receiver = Handle<JSObject>::cast(object);
- // Fast case maps are never marked as shared.
- ASSERT(!receiver->HasFastProperties());
- // Replace the map with an identical copy that can be safely modified.
- map = Map::CopyNormalized(map, KEEP_INOBJECT_PROPERTIES,
- UNIQUE_NORMALIZED_MAP);
- receiver->GetIsolate()->counters()->normalized_maps()->Increment();
- receiver->set_map(*map);
- }
Map::UpdateCodeCache(map, name, code);
}
@@ -6957,8 +6947,6 @@ void Map::UpdateCodeCache(Handle<Map> map,
MaybeObject* Map::UpdateCodeCache(Name* name, Code* code) {
- ASSERT(!is_shared() || code->allowed_in_shared_map_code_cache());
-
// Allocate the code cache if not present.
if (code_cache()->IsFixedArray()) {
Object* result;
@@ -10401,13 +10389,6 @@ BailoutId Code::TranslatePcOffsetToAstId(uint32_t
pc_offset) {
}
-bool Code::allowed_in_shared_map_code_cache() {
- return is_keyed_load_stub() || is_keyed_store_stub() ||
- (is_compare_ic_stub() &&
- ICCompareStub::CompareState(stub_info()) ==
CompareIC::KNOWN_OBJECT);
-}
-
-
void Code::MakeCodeAgeSequenceYoung(byte* sequence, Isolate* isolate) {
PatchPlatformCodeAge(isolate, sequence, kNoAge, NO_MARKING_PARITY);
}
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index
145895b8f61ce82d3af62b6f2c5462b29da4fb52..b4edb8484bcc83c365e4f4c5426db611431d86c1
100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -4988,8 +4988,6 @@ class Code: public HeapObject {
inline bool marked_for_deoptimization();
inline void set_marked_for_deoptimization(bool flag);
- bool allowed_in_shared_map_code_cache();
-
// Get the safepoint entry for the given pc.
SafepointEntry GetSafepointEntry(Address pc);
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.