Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(172)

Issue 8130002: Make accessors for oddball objects return Oddball* instead of Object*. (Closed)

Created:
9 years, 2 months ago by fschneider
Modified:
9 years, 2 months ago
CC:
v8-dev
Visibility:
Public.

Description

Make accessors for oddball objects return Oddball* instead of Object*. Fix a use of the hole value and the undefined value before initialization when initializing V8. Before we just read a NULL value from them. Committed: http://code.google.com/p/v8/source/detail?r=9557

Patch Set 1 #

Total comments: 12

Patch Set 2 : '' #

Patch Set 3 : split InitializeThreadLocal into two parts #

Unified diffs Side-by-side diffs Delta from patch set Stats (+100 lines, -69 lines) Patch
M src/compiler.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/debug.cc View 1 2 chunks +8 lines, -8 lines 0 comments Download
M src/factory.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M src/factory.cc View 1 1 chunk +7 lines, -0 lines 0 comments Download
M src/heap.h View 3 chunks +12 lines, -12 lines 0 comments Download
M src/heap.cc View 1 5 chunks +24 lines, -26 lines 0 comments Download
M src/hydrogen.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/ic.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/isolate.cc View 1 2 4 chunks +16 lines, -3 lines 0 comments Download
M src/messages.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/objects.h View 2 chunks +0 lines, -3 lines 0 comments Download
M src/objects.cc View 1 chunk +3 lines, -1 line 0 comments Download
M src/type-info.h View 2 chunks +4 lines, -1 line 0 comments Download
M src/type-info.cc View 1 7 chunks +9 lines, -8 lines 0 comments Download
src/v8utils.h View 1 1 chunk +8 lines, -2 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
fschneider
http://codereview.chromium.org/8130002/diff/1/src/heap.cc File src/heap.cc (right): http://codereview.chromium.org/8130002/diff/1/src/heap.cc#newcode1813 src/heap.cc:1813: set_undefined_value(Oddball::cast(obj)); heap->undefined_value() is used by CreateApiObjects, which does AllocateJSObjectFromMap ...
9 years, 2 months ago (2011-10-04 10:48:51 UTC) #1
Vyacheslav Egorov (Chromium)
LGTM http://codereview.chromium.org/8130002/diff/1/src/debug.cc File src/debug.cc (right): http://codereview.chromium.org/8130002/diff/1/src/debug.cc#newcode2161 src/debug.cc:2161: reinterpret_cast<Object**>(uncaught ? factory->true_value().location() : line is too long, ...
9 years, 2 months ago (2011-10-04 11:00:51 UTC) #2
fschneider
http://codereview.chromium.org/8130002/diff/1/src/debug.cc File src/debug.cc (right): http://codereview.chromium.org/8130002/diff/1/src/debug.cc#newcode2161 src/debug.cc:2161: reinterpret_cast<Object**>(uncaught ? factory->true_value().location() : On 2011/10/04 11:00:51, Vyacheslav Egorov ...
9 years, 2 months ago (2011-10-04 11:28:16 UTC) #3
fschneider
Adding Vitaly: r8537 moved the call to InitializeThreadLocal up. In order to avoid using uninitialized ...
9 years, 2 months ago (2011-10-04 12:50:11 UTC) #4
Vitaly Repeshko
9 years, 2 months ago (2011-10-05 04:41:10 UTC) #5
On 2011/10/04 12:50:11, fschneider wrote:
> Adding Vitaly: 
> 
> r8537 moved the call to InitializeThreadLocal up. In order to avoid using
> uninitialized (zeroed) hole_value from the roots array, I split
> InitializeThreadLocal into two.
> Is there potentially other things that depend on this call before the
> deserialization is done?

Potentially, yes :) To be safe you could add debug-only checks that only
initialized fields are accessed.

Powered by Google App Engine
This is Rietveld 408576698