chaokunyang commented on code in PR #3382:
URL: https://github.com/apache/fory/pull/3382#discussion_r2832802159
##########
javascript/packages/fory/lib/gen/serializer.ts:
##########
@@ -199,8 +199,13 @@ export abstract class BaseSerializerGenerator implements
SerializerGenerator {
readNoRef(assignStmt: (v: string) => string, refState: string): string {
return `
- ${this.readTypeInfo()}
- ${this.read(assignStmt, refState)};
+ fory.incReadDepth();
+ try {
Review Comment:
the ray finally will introduce extra cost. Please remove try finally, and
refactor serialize/deserializae entry point, create resetWrite/resetRead
methods, move code like:
```
this.referenceResolver.resetRead();
this.binaryReader.reset(bytes);
this.typeMetaResolver.resetRead();
this.metaStringResolver.resetRead();
```
into `resetRead()`
and move smililiar methods into `resetWrite`.
Then set depth to 0 in `resetRead()` and `resetWrite`.
Current referenceResolver/typeMetaResolver/metaStringResolver may lack some
such methods, please take java as referencev and add to javascript
##########
javascript/packages/fory/lib/gen/serializer.ts:
##########
@@ -199,8 +199,13 @@ export abstract class BaseSerializerGenerator implements
SerializerGenerator {
readNoRef(assignStmt: (v: string) => string, refState: string): string {
return `
- ${this.readTypeInfo()}
- ${this.read(assignStmt, refState)};
+ fory.incReadDepth();
+ try {
Review Comment:
the try finally will introduce extra cost. Please remove try finally, and
refactor serialize/deserializae entry point, create resetWrite/resetRead
methods, move code like:
```
this.referenceResolver.resetRead();
this.binaryReader.reset(bytes);
this.typeMetaResolver.resetRead();
this.metaStringResolver.resetRead();
```
into `resetRead()`
and move smililiar methods into `resetWrite`.
Then set depth to 0 in `resetRead()` and `resetWrite`.
Current referenceResolver/typeMetaResolver/metaStringResolver may lack some
such methods, please take java as referencev and add to javascript
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]