diff -r b029d63565a2 -r c1ba166f3fc4 src/Code.h --- a/src/Code.h Mon Sep 17 00:10:01 2012 -0700 +++ b/src/Code.h Sat Nov 17 18:41:01 2012 -0800 @@ -24,7 +24,6 @@ #include "Heap.h" #include "Types.h" #include "FixedArray.h" -#include "Token.h" namespace ke { @@ -40,6 +39,7 @@ Barriered bytecode_; Barriered locals_; Barriered objects_; + Barriered strings_; Barriered safepoints_; Barriered sourcemap_; unsigned maxStackDepth_; @@ -52,9 +52,8 @@ public: static Code *New(Zone *zone, Handle bytecode, Handle locals, - Handle objects, unsigned maxStackDepth, Handle module, - Handle safepoints, Handle sourcemap, - unsigned lineNumber); + Handle objects, Handle strings, unsigned maxStackDepth, + Handle safepoints, Handle sourcemap); Module *module() { return module_; @@ -83,8 +82,15 @@ ByteArray *safepoints() { return safepoints_; } + FixedArray *strings() { + return strings_; + } uint8 *safepointAt(unsigned pcOffset); + void setModule(Handle module) { + module_ = module; + } + unsigned pcToOffset(bytecode *pc) { assert(pc >= start() && pc < start() + length()); return unsigned(pc - start()); @@ -108,6 +114,9 @@ static inline size_t offsetOfObjects() { return OFFSETOF(Code, objects_); } + static inline size_t offsetOfStrings() { + return OFFSETOF(Code, strings_); + } static inline size_t offsetOfSafepoints() { return OFFSETOF(Code, safepoints_); }