In 64bit, we should use only 32bit for addressing

* Object, Array, Environment record internal space should use 32bit addressing on 64bit
* Rename SmallValue to EncodedValue.
* Implement EncodedSmallValue for using 32bit address on 64bit
* Implement special vectors for EncodedSmallValue.
  - we need these special vector. because when push_back or inserting the value what we want to insert
  can be removed by GC because the parameter type is 32bit(EncodedSmallValue).
* Update GCutil for 32bit addressing on 64bit

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
This commit is contained in:
Seonghyun Kim 2020-06-04 21:57:52 +09:00 committed by Hyukwoo Park
commit f82c81a5d2
56 changed files with 1573 additions and 545 deletions

View file

@ -705,7 +705,7 @@ Script::ModuleExecutionResult Script::innerModuleEvaluation(ExecutionState& stat
// If module.[[Status]] is "evaluated", then
if (md->m_status == ModuleData::Evaluated) {
// If module.[[EvaluationError]] is undefined, return index.
if (md->m_evaluationError == SmallValue()) {
if (md->m_evaluationError == EncodedValue()) {
return Script::ModuleExecutionResult(false, Value(index));
}
// Otherwise return module.[[EvaluationError]].