diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-05-07 11:21:11 +0200 |
| commit | 2cf6c8816a73e0132bd8fa3b509d62d7c51b6e47 (patch) | |
| tree | 988e8c5b116dd0466244ae2fe5af8ee9be926d76 /Source/JavaScriptCore/llint/LowLevelInterpreter.asm | |
| parent | dd91e772430dc294e3bf478c119ef8d43c0a3358 (diff) | |
Imported WebKit commit 7e538425aa020340619e927792f3d895061fb54b (http://svn.webkit.org/repository/webkit/trunk@116286)
Diffstat (limited to 'Source/JavaScriptCore/llint/LowLevelInterpreter.asm')
| -rw-r--r-- | Source/JavaScriptCore/llint/LowLevelInterpreter.asm | 34 |
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) |
