summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
diff options
context:
space:
mode:
Diffstat (limited to 'Source/JavaScriptCore/llint/LowLevelInterpreter.asm')
-rw-r--r--Source/JavaScriptCore/llint/LowLevelInterpreter.asm34
1 files changed, 7 insertions, 27 deletions
diff --git a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
index 9af91bef2..bbfa859f2 100644
--- a/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
+++ b/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
@@ -291,17 +291,21 @@ macro allocateBasicJSObject(sizeClassIndex, classInfoOffset, structure, result,
MarkedSpace::Subspace::preciseAllocators +
sizeClassIndex * sizeof MarkedAllocator
+ const offsetOfFirstFreeCell =
+ MarkedAllocator::m_freeList +
+ MarkedBlock::FreeList::head
+
# FIXME: we can get the global data in one load from the stack.
loadp CodeBlock[cfr], scratch1
loadp CodeBlock::m_globalData[scratch1], scratch1
- # Get the object from the free list.
- loadp offsetOfMySizeClass + MarkedAllocator::m_firstFreeCell[scratch1], result
+ # Get the object from the free list.
+ loadp offsetOfMySizeClass + offsetOfFirstFreeCell[scratch1], result
btpz result, slowCase
# Remove the object from the free list.
loadp [result], scratch2
- storep scratch2, offsetOfMySizeClass + MarkedAllocator::m_firstFreeCell[scratch1]
+ storep scratch2, offsetOfMySizeClass + offsetOfFirstFreeCell[scratch1]
# Initialize the object.
loadp classInfoOffset[scratch1], scratch2
@@ -423,30 +427,6 @@ _llint_op_typeof:
dispatch(3)
-_llint_op_is_undefined:
- traceExecution()
- callSlowPath(_llint_slow_path_is_undefined)
- dispatch(3)
-
-
-_llint_op_is_boolean:
- traceExecution()
- callSlowPath(_llint_slow_path_is_boolean)
- dispatch(3)
-
-
-_llint_op_is_number:
- traceExecution()
- callSlowPath(_llint_slow_path_is_number)
- dispatch(3)
-
-
-_llint_op_is_string:
- traceExecution()
- callSlowPath(_llint_slow_path_is_string)
- dispatch(3)
-
-
_llint_op_is_object:
traceExecution()
callSlowPath(_llint_slow_path_is_object)