Skip to content

Commit 1b8f143

Browse files
committed
src: make Symbol more resilient
Instead of crashing if llnode fails to parse a Symbol, just return a ??? token. PR-URL: #330 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com>
1 parent 5a94ecf commit 1b8f143

File tree

4 files changed

+4
-3
lines changed

4 files changed

+4
-3
lines changed

src/llv8-constants.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -550,7 +550,7 @@ void Frame::Load() {
550550

551551

552552
void Symbol::Load() {
553-
kNameOffset = LoadConstant("class_Symbol__name__Object");
553+
kNameOffset = LoadConstant({"class_Symbol__name__Object"});
554554
}
555555

556556

src/llv8-constants.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,7 @@ class Symbol : public Module {
509509
public:
510510
CONSTANTS_DEFAULT_METHODS(Symbol);
511511

512-
int64_t kNameOffset;
512+
Constant<int64_t> kNameOffset;
513513

514514
protected:
515515
void Load();

src/llv8-inl.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -281,7 +281,7 @@ ACCESSOR(Map, MaybeConstructor, map()->kMaybeConstructorOffset, HeapObject)
281281
SAFE_ACCESSOR(Map, InstanceDescriptors, map()->kInstanceDescriptorsOffset,
282282
HeapObject)
283283

284-
ACCESSOR(Symbol, Name, symbol()->kNameOffset, HeapObject)
284+
SAFE_ACCESSOR(Symbol, Name, symbol()->kNameOffset, HeapObject)
285285

286286
inline int64_t Map::BitField3(Error& err) {
287287
return v8()->LoadUnsigned(LeaField(v8()->map()->kBitField3Offset), 4, err);

src/llv8.cc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -729,6 +729,7 @@ std::string Symbol::ToString(Error& err) {
729729
return "Symbol()";
730730
}
731731
HeapObject name = Name(err);
732+
RETURN_IF_INVALID(name, "Symbol(???)");
732733
return "Symbol('" + String(name).ToString(err) + "')";
733734
}
734735

0 commit comments

Comments
 (0)